Genace

AI video API: three models, one endpoint, and the async part that matters

·

Three video models behind one endpoint and one billing unit.

ModelCredits per clipDurationResolution
Seedance253–15s720p, 1080p
Kling355 or 10s1080p
Veo 31008s fixed720p, 1080p

The call returns a job

This is the part that differs from an image API and from most REST APIs you have used. A render takes minutes, so the endpoint returns 202 Accepted with a job_id and a state — not a video.

{ "job_id": "abc123", "state": "queued", "credits_held": 25 }

Observe accepted jobs with long polling or authenticated SSE. The scheduled backstop is internal; creation does not accept a customer webhook URL. Which to use depends on what is calling you — webhook vs polling.

A later job failure can appear in a successful status response. Check state as well as HTTP status; a creation error itself may be non-2xx.

Duration decides more pipelines than price

Only some of these bill per second; the rest round you up to a fixed bucket. Asking for 7 seconds from a model that offers 5 or 10 means paying for 10, which can exceed the gap between per-second rates entirely.

Details in AI video API duration limits.

Cheapest path

Seedance at 25 credits ($0.25–$0.35), and half that again at 720p while you iterate. Work it out at your own volume with the AI API cost comparison tool.

Continue with api fundamentals

Models covered on this page

Where these facts come from

  • codebase: src/ai/api/wrap.ts
  • codebase: src/ai/providers/*.ts — every pricing() and paramsSchema
  • codebase: src/ai/api/quota.ts — per-tier ceilings