# Bytedance | Seedance 2.0 | Reference to Video | Fast An advanced video generation model producing cinematic visuals with native audio, realistic physics, and precise camera control, supporting text, image, audio, and video inputs. "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-reference-to-video-fast - **Branded URL:** https://www.eachlabs.ai/bytedance/seedance-2-0/bytedance-seedance-2-0-reference-to-video-fast - **Provider:** ByteDance - **Category:** Reference to Video - **Output Type:** video - **Status:** active - **Version:** 0.0.1 - **Base Cost:** No ref videos, 720p/default: $0.20/s. With reference video, 720p: $0.13/s. for reference video duration + output duration. - **Estimated Processing Time:** 150 seconds - **Last Updated:** 2026-08-12 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/bytedance-seedance-2-0-reference-to-video-fast ## Pricing - **Charge Type:** dynamic - **Pricing Details:** No ref videos, 720p/default: $0.20/s. With reference video, 720p: $0.13/s. for reference video duration + output duration. ### Pricing Rules | Condition | Pricing | | --- | --- | | video_urls[0] exists "undefined" AND resolution == "480p" | With reference video, 480p: $0.065/s for reference video duration + output duration. | | video_urls[0] exists "undefined" | Ref videos, 720p/default: $0.13/s. | | resolution == "480p" | No ref videos, 480p: $0.1/s. With reference video, 480p: $0.065/s for reference video duration + output duration. | | Rule 4 | No ref videos, 720p/default: $0.20/s. With reference video, 720p: $0.13/s. for reference video duration + output duration. | ## Input Schema | Parameter | Type | Required | Default | Constraints | Description | |-----------|------|----------|---------|-------------|-------------| | prompt | string | Yes | - | - | The text prompt used to generate the video. | | image_urls | string | No | - | - | Reference images to guide video generation. Refer to them in the prompt as @Image1, @Image2, etc. Supported formats: JPEG, PNG, WebP. Max 30 MB per image. Up to 9 images. Total files across all modalities must not exceed 12. | | video_urls | string | No | - | - | Reference videos to guide video generation. Refer to them in the prompt as @Video1, @Video2, etc. Supported formats: MP4, MOV. Up to 3 videos, combined duration must be between 2 and 15 seconds, total size under 50 MB. Each video must be between ~480p (640x640) and ~720p (834x1112) in resolution. | | audio_urls | string | No | - | - | Reference audio to guide video generation. Refer to them in the prompt as @Audio1, @Audio2, etc. Supported formats: MP3, WAV. Up to 3 files, combined duration must not exceed 15 seconds. Max 15 MB per file.If audio is provided, at least one reference image or video is required. | | resolution | string | No | - | 480p,720p | Video resolution - 480p for faster generation, 720p for balance. | | duration | string | No | - | 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, 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. | | end_user_id | string | No | - | - | The unique user ID of the end user. | ## 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-reference-to-video-fast", "input": { "prompt": "Ultra-realistic cinematic product video of a pink and white chunky sole sneaker pair. Fast dynamic cuts: front view dead-on, then quick spin to side profile showing sole detail, sharp cut to close-up of mesh texture and laces, fast low-angle shot from ground level looking up at the chunky sole, quick overhead flat lay with rose petals scattered around, dramatic 3/4 angle shot with soft studio light raking across the surface highlighting the leather and mesh texture, final slow push-in to the toe box. Clean white background throughout. Soft pink rim lighting. Each shot holds for 0.5 seconds. Sharp fast transitions, no fades. Cinematic 4K product commercial style." } }' ``` ## 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 | Reference to Video | Fast Overview** Bytedance | Seedance 2.0 | Reference to Video | Fast is a specialized variant of ByteDance's flagship Seedance 2.0 AI video generation model, optimized for rapid image-to-video transformations with precise reference control. Developed by ByteDance's Seed AI research division, it excels in converting static images into dynamic cinematic videos featuring native audio, realistic physics, and stable motion. The primary differentiator is its multimodal reference support—up to 9 images and 1 short video clip (≤15 seconds)—enabling creators to lock in character consistency, scene style, and camera paths for production-ready outputs without extensive editing. Part of the Seedance family, this fast mode prioritizes speed while delivering up to 1080p or 2K resolution videos with synchronized sound, making it ideal for quick prototyping in storytelling and visual content creation on platforms like each::labs. ## 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.