Seedance 2.5 เปิดให้ใช้แล้ว | ลองใน Video Generator →
เข้าสู่ระบบ

bytedance/

Seedance V1 Lite is a 480p Image-to-Video model for coherent multi-shot videos with smooth motion and precise prompts. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

image-to-video
อินพุต

ว่าง

$0.08ต่อครั้ง·~12 / $1

ต่อไป:

ตัวอย่างดูทั้งหมด

In a wide shot, a young white man skateboards in an outdoor skatepark. He has short black hair and wears a white T-shirt, black pants, and black-and-white sneakers. Arms outstretched and head down, he leans into a boardslide maneuver along the edge. Ramps and rails surround him, with trees and scattered people in the background. The sky is vivid blue with a few clouds. The camera tracks him as he glides rightward, then leaps into a spinning trick—rotating twice midair before landing and skating onward.

A group of people riding horses down the street, followed by a tracking shot.

A girl plays the piano, captured through multiple cinematic angle cuts.

A gentle breeze stirs the flowers, fountain droplets fall, and sunlight refracts through a wine bottle, creating glowing flares.

In a static shot, a man from the right side of the frame walks toward another man on the left and expresses strong dissatisfaction.

A girl smiles charmingly by the seaside.

Two men walking forward.

A statue covers its face and begins to weep as surrounding hands gradually retreat.

A cat jumps onto the table and begins to drink water.

The camera slowly rotates as the sleeves gently flutter.

โมเดลที่เกี่ยวข้อง

README

Seedance v1 Lite I2V 480p — /seedance-v1-lite-i2v-480p

Seedance v1 Lite I2V 480p generates short videos from a single reference image plus a motion-focused prompt. Upload a starting image, describe the action and camera beats, and the model animates the scene while keeping the input image as the visual anchor. You can also provide an optional last_image to guide how the clip ends, and enable camera_fixed when you want motion without camera movement.

Key capabilities

  • Image-to-video generation anchored to a reference image (480p output)
  • Lightweight, fast iteration for short clips and quick variations
  • Optional last_image support for smoother ending continuity
  • Optional camera_fixed mode for stable framing
  • Seed control for reproducible takes

Use cases

  • Action shots from a single keyframe (sports, skating, dance, gestures)
  • Social prototypes and quick story beats at low cost
  • Start-to-end guided shots using last_image for more predictable endings
  • Product/object animation with stable framing (camera_fixed)
  • Generating multiple variations quickly by changing seed

Pricing

DurationPrice per video
5s$0.08
10s$0.16
15s$0.24
20s$0.32

Inputs

  • image (required): starting reference image (first-frame anchor)
  • prompt (optional/required by UI): motion and scene direction
  • last_image (optional): end-frame reference to guide the finishing state

Parameters

  • prompt: describes subject action, environment motion, and camera direction
  • image: input image (upload or URL)
  • last_image: optional end reference image (upload or URL)
  • duration: video length in seconds
  • aspect_ratio: output aspect ratio selection
  • camera_fixed: whether to lock the camera position
  • seed: random seed (-1 for random; fixed value for reproducible results)
  • safety checker: enabled filtering for safer generations (if available in your UI)

Prompting guide (I2V)

Write prompts like a director’s beat sheet:

  • Subject action: what changes over time (glide, jump, turn, land, celebrate)
  • Camera: follow, dolly, pan, slow push-in (or keep fixed)
  • Environment: motion blur cues, dust, wind, crowd movement, lighting shifts
  • Continuity: explicitly say what must remain consistent (subject identity, outfit, setting)

Example prompts

  • A skateboarder performs a smooth boardslide along the ledge in a sunny skatepark. Camera follows from a low wide angle, then gently pushes in as he lands. Natural motion blur, crisp daylight, energetic vibe.
  • A runner sprints past the camera, dust kicks up, shallow depth of field, camera pans to follow, dynamic sports cinematography, 5 seconds.
  • A dancer spins and stops on beat, stage lights flicker softly, camera slow orbit, clean motion, 5 seconds.
หมายเหตุ:เว็บไซต์นี้ใช้โมเดล AI ที่จัดหาโดยบุคคลที่สาม ราคาในเอกสารใช้เพื่ออ้างอิงและอาจไม่เป็นปัจจุบัน ปุ่ม Generate แสดงราคาโดยประมาณ โดยยึดค่าบริการสุดท้ายของงานเป็นหลัก

Seedance v1 Lite I2v 480p API — Quick start

Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-i2v-480p with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Seedance v1 Lite I2v 480p below.

HTTP example
set -euo pipefail

: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"

REQUEST_BODY=$(cat <<'JSON'
{
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "duration": 5,
    "aspect_ratio": "21:9",
    "camera_fixed": false,
    "seed": -1
}
JSON
)

# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-i2v-480p" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d "$REQUEST_BODY")

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-i2v-480p";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
        "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
        "duration": 5,
        "aspect_ratio": "21:9",
        "camera_fixed": false,
        "seed": -1
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
    "image": "https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg",
    "duration": 5,
    "aspect_ratio": "21:9",
    "camera_fixed": False,
    "seed": -1
}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-i2v-480p", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
    raise RuntimeError("Submission response did not contain a prediction id")
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Seedance v1 Lite I2v 480p API — Frequently asked questions

What is the Seedance v1 Lite I2v 480p API?

Seedance v1 Lite I2v 480p is a ByteDance model for video generation from images, exposed as a REST API on WaveSpeedAI. Seedance V1 Lite is a 480p Image-to-Video model for coherent multi-shot videos with smooth motion and precise prompts. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.

How do I call the Seedance v1 Lite I2v 480p API?

POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/bytedance/bytedance-seedance-v1-lite-i2v-480p.

How much does Seedance v1 Lite I2v 480p cost per run?

Seedance v1 Lite I2v 480p starts at $0.080 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.

What inputs does Seedance v1 Lite I2v 480p accept?

Key inputs: `prompt`, `image`, `aspect_ratio`, `duration`, `seed`, `camera_fixed`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/bytedance/bytedance-seedance-v1-lite-i2v-480p.

How long does Seedance v1 Lite I2v 480p take to generate?

Median end-to-end generation time on WaveSpeedAI is around 63 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.

Can I use Seedance v1 Lite I2v 480p outputs commercially?

Commercial usage rights depend on the model's license, set by its provider (ByteDance). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.

Seedance V1 Lite I2V 480P | Fast Image-to-Video API on WaveSpeedAI