Seedance v1 Pro is a text-to-video 480p model for coherent multi-shot outputs with stable motion and accurate prompt adherence. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Bezczynny
$0.15za uruchomienie·~66 / $10
In a realistic style, a glass staircase spirals upward into a soft lavender sky. A barefoot dancer ascends step by step. [Tracking upward shot] follows her graceful movement into the clouds.
Cyberpunk market alley at night, rain falling on neon surfaces; the lens flares as camera pushes through crowds, close-ups on cybernetic implants, then zooms out for the full alley view.
A claymation-style car race with whimsical vehicles; shaky cam during bumps, top-down views of racetrack loops, and dramatic slow-motion crashes with bits flying.
In pixel art style, a pixelated version of Manhattan, New York. A pixel helicopter weaves between towering skyscrapers, capturing the energy of the city in retro form.
In felt-style, a small brown felt deer lowers its head to sniff a pink felt mushroom. White dandelion seeds float through the air as dappled sunlight filters through leaves, casting soft, playful shadows.
A vibrant illustration centered on a blue macaw. Bold, cheerful, and crisp colors dominate the composition. The background bursts with vivid hues, artistic graphic elements, and organic shapes, enhancing the macaw’s presence. The overall style is expressive, creative, and visually harmonious
An explorer sails across a low-poly ocean where polygonal waves ripple across the surface. Polygonal birds glide overhead. [Orbiting shot] around the small boat as sharp sunlight refracts through the stylized world. The scene is minimal yet vivid and dynamic.
Felted wool style, where a small boy chases a flying kite through grassy hills; wide aerial shots alternate with low angles of bouncing felt textures.
A mysterious desert traveler walks across golden dunes at twilight, her long embroidered robes fluttering in the warm breeze. Behind her, a caravan of camels moves slowly through the sand. The sky burns in hues of orange and deep violet, casting dramatic shadows across the landscape. Her gaze is firm, her silhouette iconic — a vision of resilience, beauty, and ancient wisdom carried across time.
A pixelated female hero runs across a glowing 8-bit city rooftop at night, jumping over neon signs and dodging pixelated drones. Her cape flutters with each jump, and her retro gun shoots glowing pixel-bursts. The scene pulses to chiptune music, with scanlines and arcade-style HUD elements. Stylized in retro video game aesthetics, full of color-block action and rhythmic movement.
A colorful anime-style pop idol performs on a floating candy stage, surrounded by dancing marshmallow creatures and sparkling stars. She twirls, winks, and throws hearts to the crowd, with magical girl-style sparkles trailing her every move. The animation is bright, over-the-top cute, and energetic, filled with bubblegum colors and fast-paced choreography.
/seedance-v1-pro-t2v-480p is a text-to-video generation model. It transforms written prompts into dynamic short-form videos with controllable aspect ratios, camera settings, and reproducible seeds. Designed for creators, it offers cinematic quality at affordable pricing.
| Duration | Cost per job |
|---|---|
| 5 seconds | $0.15 |
| 10 seconds | $0.30 |
Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/bytedance/seedance-v1-pro-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 Pro 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",
"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-pro-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-pro-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",
"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-pro-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 Pro T2v 480p is a ByteDance model for video generation, exposed as a REST API on WaveSpeedAI. Seedance v1 Pro is a text-to-video 480p model for coherent multi-shot outputs with stable motion and accurate 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-pro-t2v-480p.
Seedance v1 Pro T2v 480p starts at $0.15 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-pro-t2v-480p.
Median end-to-end generation time on WaveSpeedAI is around 56 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.