# x402 Video Gateway > Pay-per-call AI video generation over the x402 payment protocol. > No accounts, no API keys, no credit cards: HTTP 402 -> pay USDC on Base -> generate. ## How to buy (for agents) 1. POST to a generation endpoint below. You get HTTP 402 with payment requirements. 2. Pay with any x402 client (e.g. `@x402/fetch` wrapping your wallet) and retry. 3. The paid response returns `{ job_id, status_url }` immediately (async). 4. Poll `GET /jobs/:id` (free) until `status: succeeded`; download `video_url` within 24h. 5. Optional: send an `Idempotency-Key` header — retrying with the same key returns the original job instead of charging again (keys live 24h). ## Fixed SKUs ### seedance-5s-720p - Endpoint: `POST /generate/seedance/5s-720p` - Model: seedance-2.0 (seedance family) - Output: 5s 720p MP4 - Price: $0.96 USDC per call (x402 exact scheme, network eip155:8453) - Body: `{"prompt": "", "ratio": ""}` ### seedance-fast-5s-720p - Endpoint: `POST /generate/seedance-fast/5s-720p` - Model: seedance-2.0-fast (seedance family) - Output: 5s 720p MP4 - Price: $0.91 USDC per call (x402 exact scheme, network eip155:8453) - Body: `{"prompt": "", "ratio": ""}` ## Parametric endpoints (you choose duration/resolution/...) ### seedance-custom (parametric) - Endpoint: `POST /generate/seedance/custom` - Model: seedance-2.0 (seedance family) - You choose: duration 4-15s, resolution (480p|720p|1080p), ratio, seed, generate_audio, camera_fixed - Price: retail_per_second × duration + $0.00 fee, rounded up to the cent (480p=$0.112/s, 720p=$0.192/s, 1080p=$0.48/s) - generate_audio=true multiplies the per-second rate ×1.25 - The HTTP 402 quote always shows the exact price for YOUR params before you pay. - Body: `{"prompt": "", "duration": 8, "resolution": "720p", "ratio": "16:9", "generate_audio": true}` ### seedance-fast-custom (parametric) - Endpoint: `POST /generate/seedance-fast/custom` - Model: seedance-2.0-fast (seedance family) - You choose: duration 4-15s, resolution (480p|720p), ratio, seed, generate_audio, camera_fixed - Price: retail_per_second × duration + $0.00 fee, rounded up to the cent (480p=$0.065/s, 720p=$0.182/s) - generate_audio=true multiplies the per-second rate ×1.25 - The HTTP 402 quote always shows the exact price for YOUR params before you pay. - Body: `{"prompt": "", "duration": 8, "resolution": "720p", "ratio": "16:9", "generate_audio": true}` ## Free endpoints - `GET /` — machine-readable storefront (JSON) - `GET /jobs/:id` — job status + result URL - `GET /status` — live success rate, p50 generation time, delivered count - `GET /openapi.json` — OpenAPI 3.1 spec with x402 payment metadata ## Limits (fair use) - Max 20 generation POSTs per minute per IP (429 past that). - Max 5 jobs in flight per wallet — poll /jobs/:id, retry when one finishes. - Request body up to 16384 bytes; prompt up to 2000 chars. - At service capacity, new requests get 503 BEFORE payment (you are never charged). - Repeatedly sending prompts that get rejected temporarily blocks your IP. ## Content policy Prompts are screened BEFORE payment — rejected requests are never charged. Hard red lines: content involving minors, real-person likeness/deepfakes. Also rejected: sexually explicit content, graphic violence, and `--flag` parameter directives inside prompts. ## Reliability Generation auto-retries twice with upstream failover. All outcomes are recorded in an append-only audit log. Live stats: GET /status.