# Seedance V1 | Pro | Text to Video Seedance V1 Pro Text to Video is a high-quality text-to-video generation model developed by Bytedance, designed for creating cinematic and visually compelling video content. ## API Information - **Model Slug:** seedance-v1-pro-text-to-video - **Branded URL:** https://www.eachlabs.ai/bytedance/seedance-v1/seedance-v1-pro-text-to-video - **Provider:** ByteDance - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** Each 1080p 5 second video costs roughly $0.62. For other resolutions, 1 million video tokens costs $2.5. tokens(video) = (height x width x FPS x duration) / 1024. - **Estimated Processing Time:** 80 seconds - **Last Updated:** 2026-03-26 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/seedance-v1-pro-text-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** Each 1080p 5 second video costs roughly $0.62. For other resolutions, 1 million video tokens costs $2.5. tokens(video) = (height x width x FPS x duration) / 1024. ### Pricing Rules | Condition | Pricing | | --- | --- | | Rule 1 | Each 1080p 5 second video costs roughly $0.62. For other resolutions, 1 million video tokens costs $2.5. tokens(video) = (height x width x FPS x duration) / 1024. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt used to generate the video | | resolution | string | No | 1080p | 480p,720p,1080p | Video resolution - 480p for faster generation, 1080p for higher quality | | aspect_ratio | string | No | 16:9 | 21:9,16:9,4:3,1:1,9:16 | The aspect ratio of the generated video Default value: "16:9" | | duration | integer | No | 5 | 3,4,5,6,7,8,9,10,11,12 | Duration of the video in seconds Default value: "5" | | camera_fixed | boolean | No | false | - | Whether to fix the camera position | | seed | integer | No | - | - | Random seed to control video generation. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "seedance-v1-pro-text-to-video", "input": { "prompt": "A golden retriever puppy runs joyfully through a sunlit forest trail during early morning. The camera follows the puppy with smooth, low-angle tracking shots as it leaps over roots and splashes through puddles. Dew sparkles on the grass, leaves fall gently from the trees, and rays of sunlight stream through the forest canopy. The puppy occasionally glances at the camera, tongue out, full of life. The camera spins gently around the dog as it stops in a clearing, breathing excitedly. Every detail — fur motion, water droplets, lighting shifts — is ultra-realistic and emotionally engaging. Natural forest sounds enhance the immersive feel." } }' ``` ## Output Schema Response returned by `GET /v1/prediction/{id}` when the job completes: ```json { "status": "success", "predictionID": "string", "output": "string (URL of generated video)", "metrics": { "predict_time": "number (seconds)" } } ``` ## Polling ```bash curl https://api.eachlabs.ai/v1/prediction/{PREDICTION_ID} \ -H "X-API-Key: YOUR_API_KEY" ``` | Status | Meaning | |--------|---------| | `processing` | Still running — poll again | | `success` | Done — read `output` | | `error` | Failed — read `message` / `details` | ## Webhook (alternative to polling) Pass `"webhook_url": "https://your.host/path"` in the create request. Eachlabs POSTs this payload when the job ends: ```json { "exec_id": "prediction-uuid", "status": "succeeded", "output": "https://...", "error": "" } ``` `status` is `"succeeded"` or `"failed"`. `exec_id` equals the `predictionID` from create. Return 2xx within 30 seconds. ## Errors Error body: `{ "status": "error", "message": "...", "details": "..." }` | Code | Meaning | |------|---------| | `400` | Invalid input | | `401` | Missing / invalid `X-API-Key` | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **seedance-v1-pro-text-to-video — Text to Video AI Model** Developed by Bytedance as part of the **seedance-v1** family, **seedance-v1-pro-text-to-video** excels in generating high-quality cinematic videos from text prompts, delivering smooth motion, ultra-realistic details, and optional synchronized audio in short clips up to 10 seconds long. This **Bytedance text-to-video** model stands out for users seeking **text-to-video AI model** capabilities with precise subject consistency, especially when paired with reference images for image-to-video workflows. Ideal for creators needing quick, professional-grade outputs without post-production hassles, it supports resolutions up to 1080p, making it a top choice for social media videos and ads. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `X-API-Key: YOUR_API_KEY`. Generate a key from the Eachlabs dashboard at https://www.eachlabs.ai/dashboard/api-keys. - File-typed parameters (`*_url`, `image_url`, `video_url`, `audio_url`, etc.) accept publicly-reachable HTTPS URLs only. Upload your asset first (GCS / S3 / your CDN) and pass the resulting URL. Data-URIs and localhost URLs are rejected. - For structured parameters (arrays / objects) send real JSON values, not stringified payloads. - Monetary values are reported in USD; per-token / per-megapixel rates may be billed in micro-cents internally. - Prefer `webhook_url` over polling for long-running predictions — see the Webhook Callback section.