# ByteDance | Seedance 2.0 | Mini | Text to Video Seedance 2.0 Mini Text-to-Video generates short clips from a written prompt, with motion, camera moves, and synced audio. Low-cost AI video on each::labs. "Please use this model only with AI-generated human faces, not real human faces. If you use real human faces, you accept full responsibility and liability for any consequences." ## API Information - **Model Slug:** bytedance-seedance-2-0-mini-text-to-video - **Branded URL:** https://www.eachlabs.ai/bytedance/seedance-2-0/bytedance-seedance-2-0-mini-text-to-video - **Provider:** ByteDance - **Category:** Text to Video - **Output Type:** video - **Status:** active - **Base Cost:** 720p resolution (default): approximately $0.075 per second of output video - **Estimated Processing Time:** 220 seconds - **Interactive Demo:** https://www.eachlabs.ai/ai-models/bytedance-seedance-2-0-mini-text-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** 720p resolution (default): approximately $0.075 per second of output video ### Pricing Rules | Condition | Pricing | | --- | --- | | resolution == "480p" | 480p resolution: approximately $0.035 per second of output video | | Rule 2 | 720p resolution (default): approximately $0.075 per second of output video | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt used to generate the video | | resolution | string | No | 720p | 480p, 720p | Video resolution - 480p for faster generation, 720p for balance. | | duration | string | No | auto | auto, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | Duration of the video in seconds. Supports 4 to 15 seconds, or auto to let the model decide based on the prompt. | | aspect_ratio | string | No | auto | auto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 | The aspect ratio of the generated video. Use 16:9 for landscape, 9:16 for portrait/vertical, 1:1 for square, 21:9 for ultrawide cinematic, or auto to let the model decide. | | generate_audio | boolean | No | true | - | Whether to generate synchronized audio for the video, including sound effects, ambient sounds, and lip-synced speech. The cost of video generation is the same regardless of whether audio is generated or not. | | seed | string | No | - | - | Random seed for reproducibility. Note that results may still vary slightly even with the same seed. | | enable_safety_checker | boolean | No | true | - | Whether to enable the safety checker on inputs and outputs. Defaults to true. | ## Example Request ```bash curl -X POST https://api.eachlabs.ai/v1/prediction/ \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "bytedance-seedance-2-0-mini-text-to-video", "input": { "prompt": "Ultra realistic modern cinematic reinterpretation of a 1920s gothic silent horror scene, tall thin vampire-like silhouette slowly climbing staircase, exaggerated shadow stretching along wall, high contrast black and white lighting, dramatic expressionist set design with distorted angles, slow cinematic push in, subtle film grain texture, eerie atmosphere," } }' ``` ## 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 "Authorization: Bearer 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 `Authorization` bearer token | | `404` | Unknown model or prediction id | | `429` | Rate limit — 100 creates / min, 10 concurrent per key | | `5xx` | Retry with backoff | ## Overview **ByteDance | Seedance 2.0 | Mini | Text to Video Overview** **ByteDance | Seedance 2.0 | Mini | Text to Video** is a compact text-to-video generation model from ByteDance’s Seedance 2.0 family, designed to turn short text prompts into coherent, cinematic video clips. It focuses on fast, lightweight generation while preserving recognizable motion, scene structure, and style, making it suitable for interactive and high-volume workflows. As part of the Seedance 2.0 line of Bytedance text-to-video systems, the Mini variant is optimized for shorter clips and more efficient inference rather than long-form storytelling. On each::labs, the model exposes controls for prompt, optional reference image or video, aspect ratio, resolution presets, duration, and native audio handling, so teams can quickly prototype rich video content directly from text. ## Usage Notes - API Base URL: `https://api.eachlabs.ai/v1` - Authentication: send `Authorization: Bearer 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.