x402 · USDC on Base · no account

kino402

Finished video, one request, pay per call.

An x402 counter for frontier video models. No account, no API key, no dashboard. POST a prompt, read the price in the 402, pay it, poll the job. The number in the 402 is the number that settles.

How an agent buys /v1/models llms.txt

The price list

Priced per call. The unpaid 402 returns the exact price for the body you send.

ModelWorked priceGood atRate
Seedance 1.5 proseedance-1.5-pro $0.1565s · 720p The previous generation, and the cheapest way to get a competent shot. The only model here that can carry its own audio. $0.00288 per 1k tokens with audio, $0.00144 without
Hailuo 02 standardhailuo-02-standard $0.3246s · 768p The cheap seat, and it holds a subject well. 768p only — do not ask it for a 4k plate. $0.054 per second at 768p
Kling 2.5 turbo prokling-2.5-turbo-pro $0.425s · 1080p Faces and hands that survive a second look. Flat 5s block price, then per extra second. $0.42 for 5 seconds, $0.84 for 10
Seedance 2.0 miniseedance-2.0-mini $0.9295s · 720p Draft passes and volume. Priced per second flat, so a ten-second look costs exactly twice a five-second one. $0.08652 per second at 480p, $0.18564 at 720p
Seedance 2.0seedance-2.0 $1.8155s · 720p The flagship. Physical camera moves, coherent motion, the one to reach for when the shot has to hold up. $0.0168 per 1k video tokens ((h×w×24×s)/1024)
Seedance 2.5seedance-2.5 $2.7745s · 720p The expensive one, and it looks it. Prompt adherence on complicated staging, up to a native 30-second single shot. $0.02568 per 1k video tokens
ElevenLabs TTSelevenlabs-tts $0.12500 characters Narration for the picture. Send the text, get quoted from its exact character count, pay, get audio back. $0.00024 per character

First prints

Every frame below came out of this endpoint, at the price in its caption.

Seedance 2.0 5s · 720p $1.815
Seedance 2.0 mini 5s · 720p $0.929
Seedance 2.5 5s · 720p $2.774
Seedance 1.5 pro 5s · 720p · with audio $0.312
Kling 2.5 turbo pro 5s · 1080p $0.42
Hailuo 02 standard 6s · 768p $0.324

How an agent buys

Four requests, no signup step anywhere in them.

  1. 01

    Ask, unpaid. The answer is the quote.

    curl -sS -X POST https://kino402.com/v1/generate \
      -H 'content-type: application/json' \
      -d '{"model":"seedance-2.0","prompt":"a slow dolly through fog, anamorphic","duration_s":5,"resolution":"720p"}'
    HTTP/1.1 402 Payment Required
    payment-required: <base64 x402 v2 envelope>
    
    {
      "x402Version": 1,
      "error": "X-PAYMENT header is required",
      "quote": { "usd": "$1.815", "atomic_usdc": "1815000", "asset": "USDC on Base" },
      "accepts": [ { "scheme": "exact", "network": "base", "maxAmountRequired": "1815000", ... } ]
    }

    Free to read. The price is for the body you just sent.

  2. 02

    Pay it. Any x402 client will do.

    # <payment> below is the base64 x402 payload your client builds from the
    # envelope above — x402-fetch (npm) and the CDP SDK each do it in one call;
    # it is a signed EIP-3009 transfer authorization, not an API key.
    curl -sS -X POST https://kino402.com/v1/generate \
      -H 'content-type: application/json' \
      -H 'x-payment: <payment>' \
      -d '{"model":"seedance-2.0","prompt":"a slow dolly through fog, anamorphic","duration_s":5,"resolution":"720p"}'
    {
      "job_id": "k3n8s1v0w2x9",
      "status": "queued",
      "status_url": "https://kino402.com/v1/jobs/k3n8s1v0w2x9",
      "price": { "usd": "$1.815", "atomic_usdc": "1815000" }
    }

    Verified before the job is placed, settled after. Same number both times.

  3. 03

    Poll. Free, unauthenticated, yours because you know the id.

    curl -sS https://kino402.com/v1/jobs/k3n8s1v0w2x9
    { "job_id": "k3n8s1v0w2x9", "status": "running", "retries": 0 }

    Queued, running, completed, failed. Nothing else.

  4. 04

    Collect the file.

    curl -sS https://kino402.com/v1/jobs/k3n8s1v0w2x9 | jq -r .video_url | xargs curl -O
    { "status": "completed", "video_url": "https://cdn.example.net/9f2c1d/output.mp4?expires=1774051200" }

    The result URL is a plain https link; no credentials.

The terms, plainly

The 402 is the quote

An unpaid POST is answered with the exact price for that body, in x402 v1 and v2. Reading it is free.

You pay at submission

Settlement happens when the job is accepted, not when the file lands. A job that fails is resubmitted once, automatically.

Failures are reported, not hidden

A job that fails after its automatic retry says so in its status, with the reason. Write to support@kino402.com with the job id.