Model
bytedance/seedance-2.0-mini
Request types
| Request type | Required inputs | Optional inputs | Notes |
|---|---|---|---|
| Text-to-video | prompt | aspect_ratio, duration, resolution, generate_audio, seed | No frame or reference URLs |
| First/last frame | At least one of first_frame_url or last_frame_url | prompt, duration, resolution, generate_audio, seed | prompt optional when a frame URL is set. Provide first_frame_url, last_frame_url, or both |
| Omni-reference | prompt, at least one of image_urls or video_urls | video_urls, audio_urls, duration, resolution, generate_audio, seed | Reference assets in prompt as @Image1..@Image9, @Video1..@Video3, @Audio1..@Audio3. audio_urls requires at least one image_urls or video_urls entry |
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Conditional | "" | Text prompt (max 5000 chars). Required for text-only requests and when image_urls, video_urls, or audio_urls are present. Optional when a frame URL is set. Reference assets as @Image1..@Image9, @Video1..@Video3, @Audio1..@Audio3 |
aspect_ratio | string | No | "adaptive" | adaptive, 1:1, 3:4, 4:3, 9:16, 16:9, 21:9 |
duration | integer | No | 4 | Output duration in seconds (4–15). Sent to provider as frames = 24 × seconds + 1 (97–361) |
resolution | string | No | "480p" | 480p, 720p |
generate_audio | boolean | No | true | Whether to generate synchronized audio for the output video |
seed | integer | No | — | Seed for reproducibility. Omit for a random seed. |
first_frame_url | string | No | null | First frame image URL. Formats: png, webp, jpeg, gif. Max 30 MB. Dimensions: 300–6000 px (short side). Aspect ratio: 0.4–2.5 |
last_frame_url | string | No | null | Last frame image URL. Same format/size constraints as first_frame_url |
image_urls | string[] | No | null | Reference image URLs (max 9). Formats: png, webp, jpeg, jpg, gif. Max 30 MB each. Dimensions: 300–6000 px. Aspect ratio: 0.4–2.5. Reference as @Image1, @Image2, … |
video_urls | string[] | No | null | Reference video URLs (max 3). Formats: mp4, mov. Max 50 MB each. Duration: 2.0–15.2 s per clip, combined total ≤ 15.2 s. Resolution: 480p–1080p. Dimensions: 300–6000 px. Aspect ratio: 0.4–2.5. Reference as @Video1, @Video2, … |
audio_urls | string[] | No | null | Reference audio URLs (max 3). Requires at least one image_urls or video_urls entry. Formats: wav, mp3. Max 15 MB each. Duration: 2–15 s per clip, combined total ≤ 15 s. Reference as @Audio1, @Audio2, … |
Example - Text-to-Video
curl -X POST https://api.unifically.com/v1/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"prompt": "A drone shot flying over a neon-lit cyberpunk city at night",
"aspect_ratio": "16:9",
"duration": 5
}
}'
Example - First & Last Frame
curl -X POST https://api.unifically.com/v1/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"prompt": "Smooth camera pan from left to right",
"duration": 8,
"first_frame_url": "https://example.com/start.jpg",
"last_frame_url": "https://example.com/end.jpg"
}
}'
Example - Omni-Reference
curl -X POST https://api.unifically.com/v1/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "bytedance/seedance-2.0-mini",
"input": {
"prompt": "Transform the background of @Video1 to match the scenery in @Image1",
"duration": 8,
"image_urls": [
"https://example.com/scenery.jpg"
],
"video_urls": [
"https://example.com/clip.mp4"
]
}
}'
@Image1, first video = @Video1, first audio = @Audio1, etc. Images, videos, and audio are numbered independently.
Response
{
"code": 200,
"success": true,
"data": {
"task_id": "abc123def456",
"status": "processing"
}
}
