Video generation
Video is an asynchronous task API on the same bearer token, under
/v1/videos. The shape follows OpenAI's video routes:
POST /v1/videoscreates a job and returns its id immediately.GET /v1/videos/{id}is polled until the job finishes.- Download the finished clip from
GET /v1/videos/{id}/content.
The gateway serves two video families:
| Group | Provider | Resolutions | Duration |
|---|---|---|---|
minimax-h3 | MiniMax | 768P, 2K | 4–15 s |
minimax-h3-max | MiniMax | 480P, 768P | 5–15 s |
seedance | BytePlus | 480p, 720p, 1080p | 4–30 s |
A deployment serves a group only when its provider credential is configured.
GET /v1/models lists the video groups your key can call.
See BytePlus Seedance for its image-to-video and billing details.
Try it
Generate a video
POST /v1/videosMiniMax H3 · billed per second
Create a job
curl -sS "https://llms.party/v1/videos" \
-H "Authorization: Bearer $LLMS_PARTY_KEY" \
-H "content-type: application/json" \
-d '{
"model": "minimax-h3",
"prompt": "A glass city at sunset, slow aerial push-in.",
"seconds": 4,
"resolution": "768P",
"ratio": "16:9"
}'{
"id": "video_...",
"object": "video",
"model": "minimax-h3",
"status": "queued",
"progress": 0,
"created_at": 1760000000
}| Field | Values |
|---|---|
model | A video group or one of its aliases. |
prompt | Text description of the shot. |
seconds | H3: 4–15. H3-Max: 5–15. Seedance: 4–30. |
resolution | Group-specific; see the table above (Seedance is lowercase). |
ratio | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9. |
input_reference | Optional image URL for image-to-video. |
Poll
curl -sS "https://llms.party/v1/videos/$VIDEO_ID" \
-H "Authorization: Bearer $LLMS_PARTY_KEY"Statuses are normalized across providers: the gateway maps running to
in_progress and succeeded to completed, but older payloads may still say
succeeded. Terminal states are completed, failed and cancelled.
| Status | Meaning |
|---|---|
queued | Accepted, not started upstream yet. |
in_progress | Rendering; progress may be populated. |
completed | Ready to download. |
failed | error.message explains why. |
cancelled | Cancelled upstream. |
Polling every 2–5 s is plenty; renders take tens of seconds to a few minutes.
Download
Download the finished clip through the OpenAI-compatible content route:
curl -sS "https://llms.party/v1/videos/$VIDEO_ID/content" \
-H "Authorization: Bearer $LLMS_PARTY_KEY" \
-o clip.mp4The response is video/mp4. The gateway streams the clip from the provider as
it downloads (Range requests are supported), so large 720p/1080p files are not
buffered. Provider signed URLs are resolved internally and are not returned in
the task object; on BytePlus they expire after 24 hours or 100 downloads, so
always download through /content. Task records are kept for 7 days;
after that a finished clip can no longer be downloaded.
What it costs
MiniMax is billed per second of output; Seedance is billed per million tokens.
MiniMax H3
| Group | 480P | 768P | 2K |
|---|---|---|---|
minimax-h3 | n/a | $0.08/s | $0.13/s |
minimax-h3-max | $0.05/s | $0.08/s | n/a |
BytePlus Seedance 2.5
| Resolution | USD per 1M tokens | 5 s, 16:9 | 30 s, 16:9 |
|---|---|---|---|
| 480p | $10.70 | $0.514 | $3.08 |
| 720p | $10.70 | $1.156 | $6.94 |
| 1080p | $11.70 | $2.843 | $17.06 |
Seedance cost is (input video seconds + output seconds) × width × height × fps / 1024 tokens, priced per million tokens; see BytePlus
Seedance for the full formula and caveats. The largest
Seedance job through the gateway, 30 s at 1080p, costs about $17.06.
Figures are vendor list prices; the gateway meters them as spend against the key's budget. Sources: MiniMax pricing and BytePlus ModelArk pricing.