# Seedance V1 | Pro | Image to Video Seedance 1.0 Pro Image-to-Video, an advanced image-to-video model developed by Bytedance, capable of generating lifelike motion with exceptional detail and realism. ## API Information - **Model Slug:** seedance-v1-pro-image-to-video - **Branded URL:** https://www.eachlabs.ai/bytedance/seedance-v1/seedance-v1-pro-image-to-video - **Provider:** ByteDance - **Category:** Image 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-08-12 - **Interactive Demo:** https://www.eachlabs.ai/ai-models/seedance-v1-pro-image-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 | | image_url | string | Yes | - | - | The URL of the image used to generate video | | resolution | string | No | 1080p | 480p,720p,1080p | Video resolution - 480p for faster generation, 1080p for higher quality | | aspect_ratio | string | No | 9:16 | 21:9,16:9,4:3,1:1,9:16 | - | | duration | integer | No | 5 | 3,4,5,6,7,8,9,10,11,12 | Duration of the video in seconds | | last_frame_image | string | No | - | - | - | | camera_fixed | boolean | No | false | - | Whether to fix the camera position | | seed | integer | No | - | 1–0 | Random seed to control video generation. | ## 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": "seedance-v1-pro-image-to-video", "input": { "image_url": "https://storage.googleapis.com/magicpoint/inputs/seedance-pro-i2v-input.jpg", "prompt": "The camera slowly zooms in toward the woman as the wind intensifies, making her red dress flutter more dramatically. Her hair flows gently as she turns her head slightly to look directly into the camera. Ocean waves crash below with cinematic sound and movement, while storm clouds shift in the background and a few birds glide across the sky. The golden sunset light gradually fades into a moody, darker tone, evoking an emotional transition. The scene feels like the opening shot of an epic film — full of mystery, emotion, and power." } }' ``` ## 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 **seedance-v1-pro-image-to-video — Image-to-Video AI Model** Transform static images into dynamic, lifelike videos with **seedance-v1-pro-image-to-video**, Bytedance's advanced image-to-video AI model from the seedance-v1 family, excelling in generating 10-second clips at up to 1080p resolution with exceptional motion coherence. Requiring a reference image for precise control, this **Bytedance image-to-video** solution delivers cinematic quality ideal for creators seeking **image-to-video AI model** outputs that maintain subject consistency and realism without extensive editing. Developers and designers use **seedance-v1-pro-image-to-video API** integrations to animate product shots or concepts efficiently, solving the challenge of creating engaging short-form video content from single images. ## 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.