# 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. ## 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 - **Version:** 0.0.1 - **Base Cost:** 720p resolution: $0.12 per second based on output duration. - **Estimated Processing Time:** 220 seconds - **Last Updated:** 2026-06-29 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/bytedance-seedance-2-0-mini-text-to-video ## Pricing - **Charge Type:** dynamic - **Pricing Details:** 720p resolution: $0.12 per second based on output duration. ### Pricing Rules | Condition | Pricing | | --- | --- | | resolution == "720p" | 720p resolution: $0.12 per second based on output duration. | | resolution == "480p" | 480p resolution: $0.06 per second based on output duration. | | Rule 3 | Default fallback (720p rate) when resolution is not specified. | ## Input Schema No input parameters documented. ## 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": "bytedance-seedance-2-0-mini-text-to-video", "input": {} }' ``` ## 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 **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 `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.