Seedance V1 Lite is a 480p Text-to-Video model for coherent multi-shot videos with smooth, stable motion and precise prompt following. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Chờ
$0.08cho mỗi lần chạy·~12 / $1
A knight stands on a cliff overlooking a medieval city as sunrise breaks, banners flutter in the wind, camera slowly dolly-in, golden fog fills the valley. (epic fantasy tone, soft sunrise lighting)
A futuristic library with floating books and endless spiral staircases. A young woman in a white cloak climbs upward. shows the vastness and scale, as she reaches a glowing door at the top.
Illustrated extreme biking scene through a forest trail; shifting camera angles — GoPro-style first person, side glides, and bird’s-eye views of sharp turns and midair jumps.
Felt-style winter market, where people made of soft felt walk among colorful stalls; close-ups of textures, medium shots of interaction, and a wide establishing shot with falling snow.
Cyberpunk motorcycle race in a neon-lit underworld; fast-paced edits between cockpit views, low-angle shots under the bikes, and drone-style top shots through alleyways.
Needle-felted rabbit gardening in a tiny mushroom village, soft bokeh, whimsical. Rabbit's watering can sprouts glowing vines engulfing cottages in timelapse
Classical-style royal ballroom with marble columns and candlelight; camera pans from intricate architecture to close-ups of dancing gloved hands and spinning skirts.
Clay animation battle between tiny monsters in a child’s bedroom; stop-motion effect with quick cuts from macro shots of detailed figures to a wide shot showing the chaotic diorama.
Fantasy dragon chase through a stormy canyon; the camera loops around flying characters, zooms into the dragon’s glowing eyes, then cuts to wide environmental views with lightning.
Felt-style kitchen, where a small fox puppet bakes cookies; stop-motion camera moves, close-ups of soft ingredients, and a final wide shot of a cozy finished scene.
Anime-style high school fencing duel, full of dynamic energy; camera follows blades mid-swing, dramatic over-the-shoulder angles, and sweat-filled close-ups of determined faces.
In a pixel-art forest filled with bright greens and glowing mushrooms, a cheerful young girl with pink hair leaps into the air playfully. Her oversized hoodie bounces with her motion, and the background scrolls subtly as if in a retro game. The colors are vibrant and saturated, creating a fun and nostalgic mood. Camera remains centered, with a soft tracking motion.
From behind, a young woman in a vintage dress walks slowly across a sunlit meadow. The warm light of the setting sun casts long shadows, and the scene flickers gently like old film stock. Her silhouette is soft and dreamy, and the camera gently sways to follow her footsteps. The atmosphere feels nostalgic, peaceful, and cinematic.
A brave female knight rides a white horse through glowing fields under a vividly colored sky. Her armor shines with golden reflections, and her cape flutters dramatically in the wind. The camera tracks beside her, capturing a sense of movement and purpose. The color palette is saturated and dreamlike, evoking the world of fantasy tales and magical lands.
A pixel-style boy character hops and runs across a scrolling 2D landscape made of colorful blocks and floating platforms. His movement is bouncy and rhythmic, reminiscent of classic video games. The background scrolls horizontally with parallax layers of clouds and trees. The mood is lighthearted, energetic, and nostalgic.
Seedance v1 Lite T2V 480p generates short videos directly from a text prompt at a lightweight 480p output, optimized for fast iteration and low-cost experimentation. Describe the subject, action, scene, and camera intent, and the model produces a coherent clip suitable for quick story beats, concept drafts, and social prototypes. Enable camera_fixed when you want motion in-scene without camera movement.
| Duration | Price per video |
|---|---|
| 5s | $0.08 |
| 10s | $0.16 |
| 15s | $0.24 |
| 20s | $0.32 |
Write prompts like a director’s brief:
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-t2v-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 T2v 480p below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"duration": 5,
"aspect_ratio": "16: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-t2v-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
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-t2v-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({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"duration": 5,
"aspect_ratio": "16: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));
}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 = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"duration": 5,
"aspect_ratio": "16: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-t2v-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 T2v 480p is a ByteDance model for video generation, exposed as a REST API on WaveSpeedAI. Seedance V1 Lite is a 480p Text-to-Video model for coherent multi-shot videos with smooth, stable motion and precise prompt following. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.
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-t2v-480p.
Seedance v1 Lite T2v 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.
Key inputs: `prompt`, `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-t2v-480p.
Median end-to-end generation time on WaveSpeedAI is around 76 seconds per request, based on recent successful runs. Queue time varies with global demand; live status is visible in the prediction record.
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.