Seedance v1 Lite is a Text-to-Video model for coherent multi-shot 1080p videos with smooth, stable motion and faithful prompt adherence. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ว่าง
$0.45ต่อครั้ง·~22 / $10
The scene begins with a robot’s footsteps over rubble. The camera moves to its head — a close-up of scanning optical lenses. Switch to its POV: a digital overlay scanning the city's outline. Final frame: graffiti on a wall reading “HUMANITY?” freezes in view.
Early morning. A young boy rides a bicycle through an old European town. The shot begins with a close-up of his wheels on cobblestone, then cuts to a low-angle view from the sidewalk pedestrians, followed by a third-person aerial shot of him weaving through alleyways. The final frame shows him riding into a sunlit square.
Race cars roar down a track in front of the pyramids, kicking up golden sand beneath their wheels. The camera hugs the ground as the cars speed through sharp turns, dust swirling behind. Multiple cars overtake each other on the winding desert track. [Aerial drone shot] reveals the full layout of the course — a dynamic composition of vehicle trails crisscrossing under a glowing sunset.
A skier glides downhill, carving turns that kick up clouds of snow. The camera follows steadily as he picks up speed along the slope.
Inside a vast sci-fi hangar or docking bay, a futuristic skyline is visible beyond — spires piercing the sky, bathed in cold sunlight. The metallic floor reflects fine architectural details. The camera begins from the shadowed inner depths, low and centered, gazing outward. It slowly pushes forward, revealing more of the brilliant skyline framed by the open bay doors. Gentle blue reflections shimmer across the ground. Monumental, abstract towers loom in the distance, their silhouette shifting subtly — suggesting something is arriving, or about to depart. The scene ends as the camera nears the platform edge, the city still distant yet pulsing with potential.
A model in a backless black gown walks gracefully down a vivid red runway. Lighting highlights the fluidity of the fabric. Audience members' gazes track her progress. The lights dim to close.
[Low-angle tracking shot] A small fox bounds nimbly through a forest. Sunlight spills through gaps in the foliage. The fox pauses, ears perked in alert. [Cut to new shot] It senses danger, quickly turns, and dashes away, weaving through the dense woods as the camera gives chase.
A detective enters a dimly lit room. Multiple shots: he inspects clues on a table, picks up an object thoughtfully. The camera cuts to a close-up of his contemplative expression.
A lone female traveler walks through a sand-swept desert. A wide shot shows her faltering steps, scarf fluttering. A side view captures wind brushing her garments. Finally, a close-up reveals her determined eyes.
A European bride stands alone before a vanity mirror moments before her wedding. The camera starts with a close-up of her smiling, adjusting her hair. It cuts to scattered makeup and perfume bottles on the table. The groom opens the door — his reflection gradually sharpens from blurred to clear.
A golden retriever puppy joyfully running on a sun-dappled forest path in the early morning. The camera smoothly tracks the puppy from a low angle as it jumps over tree roots and splashes through puddles. Dew glistens on the grass, leaves gently fall, and sunlight streams through the forest canopy. The puppy occasionally looks back at the camera, panting with excitement. The camera gently orbits around it as it pauses in a clearing, excitedly catching its breath.
A majestic herd of wild horses galloping across a vast prairie, kicking up dust. The golden hour light bathes the scene, with wide-angle shots capturing their dynamism and freedom.
Create stunning 1080p Full HD videos from text with Seedance V1 Lite. This powerful text-to-video model excels at cinematic storytelling, dynamic camera work, and complex scene transitions — perfect for professional video content from pure imagination.
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the scene, action, and camera work. |
| aspect_ratio | No | Output format: 16:9, 9:16, 1:1, etc. Default: 16:9. |
| duration | No | Video length: 2-12 seconds. Default: 5. |
Per 5-second billing based on duration.
| Duration | Calculation | Cost |
|---|---|---|
| 2 seconds | 2 ÷ 5 × $0.45 | $0.18 |
| 5 seconds | 5 ÷ 5 × $0.45 | $0.45 |
| 10 seconds | 10 ÷ 5 × $0.45 | $0.90 |
| 12 seconds | 12 ÷ 5 × $0.45 | $1.08 |
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-lite-t2v-1080p 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 1080p 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",
"aspect_ratio": "16:9",
"duration": 5,
"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-1080p" \
-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-1080p";
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",
"aspect_ratio": "16:9",
"duration": 5,
"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",
"aspect_ratio": "16:9",
"duration": 5,
"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-1080p", 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 1080p is a ByteDance model for video generation, exposed as a REST API on WaveSpeedAI. Seedance v1 Lite is a Text-to-Video model for coherent multi-shot 1080p videos with smooth, stable motion and faithful prompt adherence. 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-1080p.
Seedance v1 Lite T2v 1080p starts at $0.45 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-1080p.
Median end-to-end generation time on WaveSpeedAI is around 132 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.