Video Generation
Generate short videos from text prompts using ByteDance Seedance 2.0 Fast. Video generation is asynchronous: submit a job, poll its status, then download the finished MP4.
What you get
Each generation produces one video with fixed settings, billed at a flat price per video:
- Model: ByteDance Seedance 2.0 Fast
- Duration: 8 seconds
- Resolution: 1280×720 (16:9) with audio
- Price: flat ¥250 per video, charged when your submission is accepted
POST
/openrouter/videos/create1. Submit a job
POST your prompt (and an optional integer seed). A successful submission returns HTTP 202 with a job id.
Request
curl https://api.fastmetal.ai/openrouter/videos/create \
-X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d {"prompt": "A paper crane folds itself on a wooden desk, soft morning light"}Response (202)
{
"id": "AbCdEf123456",
"status": "pending",
"poll_path": "/openrouter/videos/jobs/AbCdEf123456"
}GET
/openrouter/videos/jobs/{id}2. Poll for completion
Poll the job every 15–30 seconds. Generation typically takes one to three minutes. Statuses: pending, in_progress, completed, failed.
Request
curl https://api.fastmetal.ai/openrouter/videos/jobs/AbCdEf123456 \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"id": "AbCdEf123456",
"status": "completed",
"poll_path": "/openrouter/videos/jobs/AbCdEf123456",
"content_path": "/openrouter/videos/jobs/AbCdEf123456/content"
}GET
/openrouter/videos/jobs/{id}/content3. Download the video
Once completed, download the MP4 from the content path. Download promptly — generated videos are retained upstream only for a limited time.
Request
curl https://api.fastmetal.ai/openrouter/videos/jobs/AbCdEf123456/content?index=0 \
-H "Authorization: Bearer YOUR_API_KEY" \
-o video.mp4Billing
- The flat price is deducted from your key's balance once per accepted submission (HTTP 202).
- Polling and downloading are free, as are rejected submissions (HTTP 4xx/5xx).
- Do not retry after receiving a 202 — each accepted submission is billed. If you never received a 202, the request was not billed and is safe to retry.
- If a job is accepted but later reaches status "failed", contact support with the job id for a service credit.
Limits
- Duration, resolution, and model are fixed; requests with other values are rejected with HTTP 400.
- Prompts are limited to 2,000 characters.
- Video generation is rate-limited platform-wide; HTTP 429 means retry shortly.