Skip to content

Submit video task

Unified submission endpoint for async video generation: shared by Seedance, MiniMax Hailuo, Kling and Grok Imagine, dispatched by model and key group.

POST/v1/video/generate

Seedance, MiniMax, Kling and Grok video share this single submission endpoint. HopBase routes each request to the matching family based on the request's model and the key's group. Request bodies and status values differ by family; select a family below to see its parameters. After submitting, poll with Get video task.

At submission, the check is "available balance − estimated cost of in-progress tasks − estimated cost of this task"; if that is insufficient, it returns 402 insufficient_balance. Failed tasks are never billed; tasks cannot be cancelled; a Seedance task unfinished after 24 hours is automatically marked failed (The task did not finish within 24 hours and was terminated automatically). Do not resubmit after a successful submission: every resubmission is another billed task.

Wan 3.0 / HappyHorse use the native video path POST /api/v1/services/aigc/video-generation/video-synthesis (no /v1 prefix); see Wan and HappyHorse. Gemini Omni returns synchronously; see Gemini Omni video.

Headers

Authorization:requiredstring

Bearer sk-…: an API key created in the console under API keys; its group must include the requested model

Body parametersJSON

Family
Model docs
Strict types: integers and booleans written as strings are rejected. frames, seed, camera_fixed, draft, draft_task and service_tier return 400; size, seconds, n and aspect_ratio are not Seedance parameters and are ignored without an error. Request body cap 64 MB.
model:requiredstring

Seedance model ID; China groups also accept overseas dreamina-* IDs as compatibility aliases (4K is still rejected)

Valuesdoubao-seedance-2-0-260128-adoubao-seedance-2-0-fast-260128-adoubao-seedance-2-0-mini-260615-adoubao-seedance-2-5-260628-adreamina-seedance-2-0-260128dreamina-seedance-2-0-epdreamina-seedance-2-0-fast-260128dreamina-seedance-2-0-fast-epdreamina-seedance-2-0-fast-hcdreamina-seedance-2-0-hcdreamina-seedance-2-0-mini-260615dreamina-seedance-2-0-mini-epdreamina-seedance-2-0-mini-hcdreamina-seedance-2-5-260628

content:requiredarray of object

Prompt and reference media. Put the prompt in a text element; sending only a top-level prompt is rejected (missing content)

Items≥ 1MaxReference images: 2.0 ≤ 9, 2.5 ≤ 30; videos: 2.0 ≤ 3, 2.5 ≤ 10; audio: 2.0 ≤ 3 (must be paired with an image or video), 2.5 ≤ 10; at most 2 first/last frames

duration:optionalinteger

2.0: 4–15 or -1 (auto); 2.5: 4–30 or -1. Defaults: 5 on 2.0, -1 on 2.5; with -1 the balance is reserved for the longest duration

Range-1–30

resolution:optionalstring

Available tiers vary by model (overseas 2.0 standard includes 4K; Fast / Mini only 480p / 720p; 2.5 does not support 4K)

Values480p720p1080p4k

Default"720p"

ratio:optionalstring

Aspect ratio

Values16:94:31:13:49:1621:9adaptive

Default"adaptive"

generate_audio:optionalboolean

Defaults to true on 2.5; not filled in on 2.0, so pass it explicitly

watermark:optionalboolean

Defaults to false on 2.5; not filled in on 2.0, so pass it explicitly

return_last_frame:optionalboolean

Returns task.last_frame_url when the last frame is available; defaults to true on 2.5, not guaranteed on 2.0

priority:optionalinteger

Task priority

Range0–9

execution_expires_after:optionalinteger

Seconds; does not change the 24-hour fallback

Range3600–259200

callback_url:optionalstring

HTTP(S) URL; not a substitute for polling

safety_identifier:optionalstring

1–64 ASCII characters

Length1–64 chars

Returns

200Seedance / Grok submitted

202MiniMax / Kling submitted

Family
task:optionalobject

Errors

400Parameter validation failed; returned synchronously, no task is created, not billed. Most have only error.message, no code
402insufficient_balance: the balance does not cover in-flight reservations plus this estimate; when a member quota is short, message starts with Insufficient quota:
404The model is not in this key's group: The current group does not support the requested model: <model ID>
413Request body over the limit
503Reference media were not downloaded and parsed within 2 minutes (upstream_timeout, media validation timed out, please retry later); retry the same request later

Related