API Documentation
Everything you need to integrate AI video generation into your application. Simple REST API, predictable pricing, real-time job status.
https://usvideoapi.com/v1 — All endpoints require authentication via API key.
Authentication
All API requests require a Bearer token. Use your API key in the Authorization header:
Authorization: Bearer sd_your_api_key_here
API keys start with sd_ and can be created from your dashboard or via the API keys endpoint. Keep your keys secret.
Base URL
https://usvideoapi.com/v1
Quickstart
1. Create an account and add funds
Register an account and add prepaid balance to get started.
2. Submit a generation request
curl -X POST https://usvideoapi.com/v1/videos \ -H "Authorization: Bearer sd_your_key" \ -H "Content-Type: application/json" \ -d '{ "prompt": "A drone shot over a misty mountain lake at sunrise", "mode": "text_to_video", "resolution": "1080p", "duration": 5 }'
3. Poll for completion
curl https://usvideoapi.com/v1/videos/JOB_ID \ -H "Authorization: Bearer sd_your_key" # Response when complete: { "id": "job_abc123", "status": "completed", "video_url": "https://...", "duration": 5, "cost_cents": 120 }
Create Video
Submit a new video generation job. Runs asynchronously — poll the status endpoint to check progress.
Request Body
| Parameter | Type | Description | |
|---|---|---|---|
| prompt | string | required | Text description of the video to generate. |
| mode | string | required | text_to_video, image_to_video, or reference |
| resolution | string | optional | 720p (default), 1080p, or 2k |
| duration | integer | optional | Video length in seconds. Default: 5. Max: 10. |
| image_url | string | optional | Required for image_to_video mode. |
| reference_url | string | optional | Required for reference mode. |
| seed | integer | optional | Random seed for reproducible results. |
Response
{
"id": "job_abc123",
"status": "pending",
"mode": "text_to_video",
"resolution": "1080p",
"duration": 5,
"estimated_cost_cents": 120,
"created_at": "2026-04-21T15:30:00Z"
}
Get Video Status
Check job status. Poll until completed or failed.
| Status | Description |
|---|---|
| pending | Job queued |
| processing | Video being generated |
| completed | Video ready — video_url available |
| failed | Generation failed — balance auto-refunded |
List Videos
List all jobs, most recent first. Supports limit and offset query parameters.
Delete Video
Cancel a pending job or delete a completed video record.
Account Info
Get account details including balance, usage stats, and plan.
{
"email": "[email protected]",
"balance_cents": 4850,
"total_jobs": 127,
"total_spent_cents": 15200
}API Keys
Create a new API key. Requires JWT auth. Key shown only once — store securely.
Pricing
Get current pricing table. No auth required.
{
"720p": { "per_second": 0.06 },
"1080p": { "per_second": 0.24 },
"2k": { "per_second": 0.36 }
}Error Handling
| Code | Meaning |
|---|---|
| 400 | Bad request — invalid parameters |
| 401 | Unauthorized — missing or invalid API key |
| 402 | Payment required — insufficient balance |
| 404 | Not found |
| 429 | Rate limited |
| 500 | Server error |
| 502 | Upstream error — model temporarily unavailable |
Rate Limits
| Tier | Requests/min | Concurrent Jobs |
|---|---|---|
| Standard | 60 | 10 |
| Enterprise | Custom | Custom |
Models
Powered by Seedance 2.0. Three modes: Text to Video, Image to Video, Reference Mode. Resolutions: 720p, 1080p, 2K. Duration: 1-10 seconds. Audio in 8 languages.