Introduction
Seedance 2.0 Mini Spicy image-to-video makes the still you send the first frame and animates it for up to 15 seconds, with sound in the same pass. image_url is the only required field; the prompt directs the motion rather than arguing for the content.
Seedance 2.0 Mini Spicy is the LoRA-tuned, uncensored member of ByteDance's Seedance 2.0 Mini tier, the smallest in the line. It shares the contract of Seedance 2.0 Fast Spicy: an image-to-video endpoint plus a video-extend endpoint, 4 to 15 seconds at 480p or 720p, sound rendered with the picture and an optional prompt.
Key features & highlights
Low-light scenes hold together
A single practical source, such as a fridge door, a bedside lamp or a phone screen, is where much late-night, close-quarters footage is shot, and it is also where models tend to invent detail in the shadows. Because the opening frame fixes the grade and the falloff, this endpoint carries a dark room without brightening it back up.
The frame is the brief
Wardrobe, pose, skin, the light source and the framing all arrive with the picture before the prompt is read. Frame-driven work therefore survives briefs a blank page will not, and the prompt is free to direct motion.
Built for a daily habit
The smallest tier of the Seedance 2.0 line suits an always-on posting routine rather than a burst of exploration: several short prompts on one still in a session, then a longer re-run of the ones that move well.
Request parameters
| Parameter | Required | Description |
|---|---|---|
image_url | Yes | Required, and the only required field. |
prompt | No | Optional here, and that is the point: the opening frame already fixes what is on screen, so the prompt only has to direct movement — the action, a light going out, the camera dr… |
last_image_url | No | Optional closing frame. It decides the picture the shot lands on: a transition, a before-and-after pair, or a loop that opens and closes on the same still. |
aspect_ratio | No | Output framing, adaptive by default, which follows the ratio of the frame you supplied and spares you a pre-crop. |
resolution | No | Output resolution: 480p, or 720p by default. It selects a rate tier and governs the delivered format only — it adds no detail the first frame does not already have. |
duration_seconds | No | Length of the finished clip in whole seconds, 4 to 15, default 5, and the billed quantity. |
generate_audio | No | Whether a native soundtrack is rendered in sync with the picture. On by default; switching it off does not lower the rate in this tier. Default: |
seed | No | Integer seed; omit it and each run draws its own. Fix it with everything else held constant to judge what a prompt edit actually changed. |
Pricing
| Specification | Price |
|---|---|
| $0.0387 / second |
| $0.0821 / second |
Use cases
Night scenes other platforms refuse
Night interiors, first-person points of view and couples of any gender are not reviewed on our side. Put the content in the opening frame and Seedance 2.0 Mini Spicy animates what the picture actually shows.
Short loops for a subscription tier
Send the same still as both image_url and last_image_url and the clip opens and closes on the same picture, so it cuts into a seamless loop. Four seconds is enough for a preview tile; keep the longer, larger take for paying subscribers.
A companion who stays one person
Reuse a single opening still across a whole set and change only the prompt. The likeness travels in the frame rather than in a reference stack, so the character remains the same person from clip to clip.
Prompt guide & pro tips
Expose the still for the room you want
In a dark scene, the opening frame is what keeps the shadows dark. A sharp, correctly exposed still beats any amount of prompt patching afterwards. Each side must be between 300 and 6000 pixels.
Describe light changes and movement
The prompt only has to direct movement: the action, a light going out, the camera drift, the room sound. Seedance's own layer still refuses a narrow band of wording, kissing most consistently, so let the frame carry that beat.
Adapt the included example
The published example uses duration_seconds 5, generate_audio true and resolution 720p.
She lowers the bottle, shuts the refrigerator door with her hip and the room drops to darkness except for a thin sliver of street light, then she pads barefoot out of frame. Static camera, cold blue to warm black, fridge hum and bare feet on tile.
The opening still supplies the kitchen, the shirt and the single light source; the prompt only closes the door, changes the light and walks her out.
Loop without a snap
When image_url and last_image_url are the same still, keep the motion small, such as a breath or a shift of weight, or the return to the opening frame will read as a snap. Confirm the movement at 4 or 5 seconds before paying for 15.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "bytedance/seedance-2.0-mini-spicy/image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration_seconds": 5,
"generate_audio": true,
"image_url": "https://example.com/reference.png",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.
















