>docs/api/text-to-video
Text-to-Video API
Generate high-quality videos from text prompts using Seedance 2.0 Turbo through the Nohuman Video Agent. Supports 4-15 second clips, 720p/1080p output, multiple aspect ratios, optional audio generation, and reference guidance. Generation is asynchronous -- submit a request and poll for results.
# Generate Endpoint
POST
/v1/videos/generateGenerate a video from a text prompt. Returns a generation ID and poll URL for checking status.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
prompt | string | required | The text prompt describing the video to generate. Be descriptive for best results. |
resolution | string | optional ("720p") | Output resolution. Options: "720p" or "1080p". |
aspect_ratio | string | optional ("16:9") | Output aspect ratio. Options: "16:9", "9:16", "4:3", "3:4", "1:1", "21:9". |
duration | number | optional (5) | Video duration in seconds. Range: 4 to 15. |
sound | boolean | optional (true) | Enable audio generation for the output video. When true, the model generates synchronized audio. |
reference_images | string[] | optional | Reference image URLs to guide visual style, characters, or scene composition. |
reference_videos | string[] | optional | Reference video URLs. These use the reference-video pricing tier. |
reference_audios | string[] | optional | Reference audio URLs to guide the generated video. |
Response
{
"id": "gen_a1b2c3d4e5f6",
"model": "seedance-2.0-turbo",
"status": "created",
"poll_url": "/v1/videos/generations/gen_a1b2c3d4e5f6"
}# Poll Endpoint
GET
/v1/videos/generations/{id}Check the status of a video generation task. When status is completed, the result field contains the video URL.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | required | The generation task ID returned by the generate endpoint. |
Response
// Processing:
{
"id": "gen_a1b2c3d4e5f6",
"model": "seedance-2.0-turbo",
"status": "processing"
}
// Completed:
{
"id": "gen_a1b2c3d4e5f6",
"model": "seedance-2.0-turbo",
"status": "completed",
"result": {
"url": "https://cdn.nohuman.studio/v/gen_a1b2c3d4.mp4",
"format": "mp4"
}
}NOTE
Poll every 5 seconds. Typical generation time is 30-120 seconds depending on duration. Statuses: created → processing → completed or failed.
# Code Examples
Generate and Poll
"code-comment"># 1. Submit generation request
curl -X POST https:"code-comment">//api.nohuman.studio/v1/videos/generate \
-H "Authorization: Bearer $NOHUMAN_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A woman walks through a neon-lit alley in cyberpunk Tokyo, cinematic lighting, rain reflections",
"duration": 12,
"aspect_ratio": "16:9",
"resolution": "1080p",
"sound": true
}'
"code-comment"># 2. Poll for results (replace {id} with actual generation ID)
curl https:"code-comment">//api.nohuman.studio/v1/videos/generations/{id} \
-H "Authorization: Bearer $NOHUMAN_KEY"# Rate Limits & Pricing
| Metric | Value |
|---|---|
| T2V 720p 4-5s | $0.88 |
| T2V 720p 6-10s | $1.75 |
| T2V 720p 11-15s | $2.63 |
| T2V 1080p 4-5s | $0.94 |
| T2V 1080p 6-10s | $1.88 |
| T2V 1080p 11-15s | $2.82 |
| Durations | 4-15s |
| Aspect ratios | 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 |
| Typical generation time | 30-120 seconds |
See Pricing for full rate limit tiers and billing details.
# Error Responses
{
"error": "invalid_request",
"message": "Invalid request parameters."
}| Code | Description |
|---|---|
| 400 | Bad request - missing or invalid parameters |
| 401 | Unauthorized - invalid or missing API key |
| 429 | Rate limit exceeded - too many concurrent requests |
| 500 | Internal server error |
SYS :: text-to-video/v1 :: endpoint reference