Generate videos using ByteDance SeeDance 2.0 Fast with text-to-video, first & last frame, and omni-reference modes. Supports 4–15 second durations at 720p.

Model

bytedance/seedance-2.0-fast

Supported Modes

ModeDescription
(omit)Text-to-video. You control the aspect ratio.
first_last_frameStart frame required, end frame optional. Aspect ratio auto-detected from input.
omni_referenceUp to 9 image/video references. Use @Image1/@Video1 placeholders in prompt.

Parameters

ParameterTypeRequiredDefaultDescription
promptstringNo""Text prompt. Use @Image1/@Video1 placeholders in omni_reference mode.
modestringNonullfirst_last_frame or omni_reference. Omit for text-to-video.
aspect_ratiostringNo"1:1"21:9, 16:9, 4:3, 1:1, 3:4, 9:16. Only used for text-to-video.
durationintegerNo5Duration in seconds (4–15)
seedintegerNorandomSeed for reproducibility
first_frame_urlstringConditionalnullStart frame image. Required for first_last_frame.
last_frame_urlstringNonullEnd frame image. Optional for first_last_frame.
referencesstring[]ConditionalnullMedia URLs (images/videos). Required for omni_reference. Max 9.

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-fast",
    "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-fast",
    "input": {
      "prompt": "Smooth camera pan from left to right",
      "mode": "first_last_frame",
      "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-fast",
    "input": {
      "prompt": "Transform the background of @Video1 to match the scenery in @Image1",
      "mode": "omni_reference",
      "duration": 8,
      "references": [
        "https://example.com/scenery.jpg",
        "https://example.com/clip.mp4"
      ]
    }
  }'
References are numbered in order: first image = @Image1, first video = @Video1, etc. Images and videos are numbered independently.

Response

{
  "code": 200,
  "success": true,
  "data": {
    "task_id": "abc123def456",
    "status": "pending"
  }
}