Skip to main content

Overview

Seedance 2 is ByteDance’s latest video generation model. In varg you address it by name and varg picks the best provider route for your input: All three share the same input schema. Under the hood each name spans one or more provider routes — see Advanced: exact route addressing if you need to pin a specific route.
The legacy seedance-2-preview and seedance-2-fast-preview names still work but are deprecated — use the names above.

Quick start

Capabilities

Text-to-video

Generate video from a text prompt alone. The default route supports resolutions up to 4k.

Image-to-video

Animate a still image. The first image in files becomes the start frame. An optional end frame can be set via provider_options.

Reference-to-video

Compose a video from multiple references: up to 9 images, 3 videos, and 3 audio files. Reference them in your prompt with @Image1, @Video1, @Audio1, and so on. Reference mode is not reachable by auto-routing — it requires exact route addressing:

Budget tier (seedance_2_mini)

seedance_2_mini is the cheapest Seedance tier. Same input schema as seedance_2 — integer duration 4 to 15 (no "auto"). 5s at 720p costs 74 credits; drop to 480p for 37 credits.

Less-restriction variant (seedance_2_less_restriction)

seedance_2_less_restriction runs Seedance with a more permissive content review, at +10% over the matching strict tier (5s at 720p = 116 credits). Choosing this name is the explicit opt-in — auto-routing never selects a less-restriction route on your behalf.
Behavior differences:
  • If the provider still rejects the content, the job is not retried on another route. Your credits are refunded.
  • The following remain blocked regardless of variant: content involving minors, real-person identity or faces, graphic violence, and hate content.
Photorealistic reference faces are rejected even on less-restriction routes — the model refuses to animate real-person likenesses. Anime and 2D character references work. If you need a specific-looking person, describe them in the text prompt instead of providing a photo.
seedance_2_less_restriction auto-routes to the pro less-restriction tier. Fast and mini less-restriction tiers are reachable only via exact route addressing.

Parameters

string
required
Text description of the video to generate. In reference mode, address inputs with @Image1, @Video1, @Audio1, etc.
integer | 'auto'
default:"5"
Video duration in seconds, 4 to 15. The fal routes also accept "auto" (the model picks a natural length). PiAPI routes (including seedance_2_mini and seedance_2_less_restriction) accept integers only.
string
default:"16:9"
Output aspect ratio. Supported values: auto, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.
array
Array of { url: string } objects. On seedance_2, an image triggers image-to-video (start frame). In reference mode, up to 9 images, 3 videos, and 3 audio files.
object
Provider-native overrides. PiAPI routes default to 720p — override with {"piapi": {"input": {"resolution": "480p"}}}. fal routes: {"fal": {"resolution": "480p"}}.

Pricing

All Seedance 2 routes bill per second of output video: Worked examples: 5s at 720p costs 160 credits on seedance_2 (text-to-video), 74 credits on seedance_2_mini, and 116 credits on seedance_2_less_restriction. At 480p, seedance_2_mini drops to 37 credits. Additional routes are reachable via exact addressing: piapi:seedance-2 (pro: 0.10/0.10 / 0.20 / 0.50persecondat480p/720p/1080p),piapi:seedance2fast(0.50 per second at 480p / 720p / 1080p), `piapi:seedance-2-fast` (0.08 / $0.16 per second), and the fast/mini less-restriction variants at +10% over their strict tiers. Estimates are exact when you pass a numeric duration. One exception: duration: "auto" (fal routes) makes the length unknowable upfront, so the estimate reserves the worst case (~479 credits at 720p) and the charge equals the reservation. Pass an explicit duration when cost matters. Check the price and route before submitting:
Migrating from preview names. The legacy seedance-2-preview and seedance-2-fast-preview names still work (they redirect upstream) but are deprecated — use seedance_2, seedance_2_mini, or seedance_2_less_restriction. The old flat pricing (250/150 credits per generation) no longer applies; all routes now bill per second as shown above.

Advanced: exact route addressing

Most requests should just use a varg name — each name auto-routes across one or more provider routes by priority and input shape. For seedance_2:
  • No filesfal:bytedance/seedance-2.0/text-to-video
  • Files presentfal:bytedance/seedance-2.0/fast/image-to-video (first image becomes the start frame)
Every route also has a permanent model_key, listed in GET /v2/models?tool=video (public, no auth). Passing a model_key in model pins that exact route. Three address forms, from loose to exact:
The main reason to pin a route: reference-to-video is not reachable by auto-routing.
Full route list: model_key values are a permanent public contract — safe to hardcode.
Not sure which route your request will hit? Send the same body to POST /v2/estimate — the response includes resolved_model_key and the exact price, without creating a job.

Tips

  • Cost-sensitive? Use seedance_2_mini. 5s at 480p is 37 credits — the cheapest Seedance path (provider_options: {"piapi": {"input": {"resolution": "480p"}}}).
  • Run POST /v2/estimate first — it shows the resolved_model_key and price without creating a job or reserving credits.
  • Image-to-video produces better results than text-to-video. Generate a reference image first with nano-banana-pro, then animate it.
  • Use @Image1 / @Video1 / @Audio1 syntax in reference mode to control which input maps to which element of the scene.
  • Be specific about motion — describe camera movements (“slow pan left”, “zoom in”) and subject actions (“walks toward camera”, “turns around”) explicitly.
  • Aspect ratios matter9:16 for TikTok/Reels/Shorts, 16:9 for YouTube/landscape, 21:9 for cinematic widescreen, or auto to let the model decide.

Composition example

Use Seedance in a full video composition with the SDK:

Kling V3

Best overall video model. Supports 3-15s flexible duration.

Sora 2

OpenAI’s video model. Good for cinematic shots.

Wan 2.5

Budget-friendly video generation with good character motion.

Nano Banana Pro

Generate reference images to use with Seedance image-to-video.