seedance-2.5:pixelcheapestByteDance Seedance 2.5 API — how to connect and pay
Seedance 2.5 — new ByteDance (2026-06). T2V and I2V, 480p/720p/1080p, 4–30s. Price per second; 1080p is its own tier.
Channel comparison
last 7 days
seedance-2.5:whitedefaultseedance-2.5:prime| Channel | Price |
|---|---|
Pixel seedance-2.5:pixelcheapest | from $0.109286 / s |
White seedance-2.5:whitedefault | from $0.128284 / s |
Prime seedance-2.5:prime | from $0.428 / s |
Build the result you need
seedance-2.5:whiteWhat is ByteDance Seedance 2.5
Seedance 2.5 — new ByteDance (2026-06). T2V and I2V, 480p/720p/1080p, 4–30s. Price per second; 1080p is its own tier.
Contract at a glance
- Input
- text, image
- Output
- video
- Mode
- async (job + polling)
- Status polling
- every 3 s · up to 600 s
Strengths
- Pricing: per second
- Inputs: text, image
- 2 configurable options
- One API key for media generation
Where it is used
- Social media clips
- Promos and title sequences
- Still-image animation
- Storyboards and animatics
API contract
Generation runs asynchronously: create a job, then poll its status until completion.
- Create job
- POST /api/media/generate
- Check status
- GET /api/media/jobs/{jobId}
- Input
- text, image
- Output
- video
- Polling
- every 3 s · up to 600 s
- Authentication
- Authorization: Bearer sk-pv-…
Example request
Pass your key in the Bearer header. The API returns jobId for polling the status.
curl -sS https://getvibeapi.com/api/media/generate \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary '{"model":"seedance-2.5:white","prompt":"a beautiful landscape","opts":{"input":"text-to-video","video_input":"without-video","aspect_ratio":"16:9","resolution":"720p","duration":"5","audio":false}}'JavaScript
const response = await fetch('https://getvibeapi.com/api/media/generate', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GETVIBE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "seedance-2.5:white",
"prompt": "a beautiful landscape",
"opts": {
"input": "text-to-video",
"video_input": "without-video",
"aspect_ratio": "16:9",
"resolution": "720p",
"duration": "5",
"audio": false
}
}),
});
if (!response.ok) throw new Error(`GetVibe API: ${response.status}`);
const { jobId } = await response.json();
console.log(jobId);API request parameters
Parameters for requests to ByteDance Seedance 2.5 via the GetVibe API.
promptreq.image_urlinputvideo_inputaspect_ratioresolutiondurationlast_frame_urlvideo_urlaudioinput_urlsreference_audio_urlsimage_file_idimage_base64last_frame_file_idinput_file_idsinput_base64video_file_idvideo_base64reference_audio_file_ids| Parameter | Type | Values | Default | Price |
|---|---|---|---|---|
promptreq. | text | text description | required | — |
image_url | URL | Public image URL | — | — |
input | option selection | Text → video (default) · Image → video | Text → video | Included in the base price |
video_input | option selection | Without video reference (default) · With video reference | Without video reference | Without video reference: $0.2904/s, With video reference: $0.244286/s |
aspect_ratio | option selection | 16:9 (default) · 9:16 · 1:1 · Match the input video | 16:9 | Included in the base price |
resolution | option selection | 480p · 720p (default) · 1080p | 720p | 480p: $0.129175/s, 720p: $0.2904/s, 1080p: $0.517449/s |
duration | option selection | 4 · 5 (default) · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 · 15 · 16 · 17 · 18 · 19 · 20 · 21 · 22 · 23 · 24 · 25 · 26 · 27 · 28 · 29 · 30 · Match the input video duration | 5 | 4: $0.291/s, 5: $0.2904/s, 6: $0.29/s, 7: $0.289715/s, 8: $0.2895/s, 9: $0.289333/s, 10: $0.2892/s, 11: $0.289091/s, 12: $0.289/s, 13: $0.288923/s, 14: $0.288857/s, 15: $0.2888/s, 16: $0.288751/s, 17: $0.288705/s, 18: $0.288667/s, 19: $0.288632/s, 20: $0.2886/s, 21: $0.288572/s, 22: $0.288545/s, 23: $0.288521/s, 24: $0.2885/s, 25: $0.28848/s, 26: $0.288461/s, 27: $0.288444/s, 28: $0.288428/s, 29: $0.288413/s, 30: $0.2884/s, Match the input video duration: $0.109286/s |
last_frame_url | text / number | any value | — | Included in the base price |
video_url | text / number | any value | — | Included in the base price |
audio | yes/no | Yes · No (default) | No | Included in the base price |
input_urls | Array<URLs>, 0–16 items | Public HTTP(S) URLs | — | Included in the base price |
reference_audio_urls | Array<URLs>, 0–10 items | Public HTTP(S) URLs | — | Included in the base price |
image_file_id | text | Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
image_base64 | text | Alternative to image_url: the file inline, as base64 or a data: URI | — | Included in the base price |
last_frame_file_id | text | Alternative to last_frame_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
input_file_ids | Array<strings> | List of values | — | Included in the base price |
input_base64 | Array<strings> | List of values | — | Included in the base price |
video_file_id | text | Alternative to video_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
video_base64 | text | Alternative to video_url: the file inline, as base64 or a data: URI | — | Included in the base price |
reference_audio_file_ids | Array<strings> | List of values | — | Included in the base price |
Request: POST https://getvibeapi.com/api/media/generate. Prices in USD.
Price of ByteDance Seedance 2.5
The cost of ByteDance Seedance 2.5: from $0.109286 per second. The price is calculated dynamically at the current exchange rate, and the final charge is shown in the API response (priceRub). Payment in USD, no subscriptions.
What a default request costs
With no parameters sent, the request uses these values: Duration — 5, Resolution — 720p, Video reference — Without video reference, Source material — Text → video. That request costs $1.452.
“from $0.109286” is the cheapest parameter set, not the price of a default request.
Channels and prices for every parameter combination
For every channel, the price of every parameter combination. It is exactly the amount a successful generation is charged, and the same figure as in the machine-readable table linked below.
Whiteseedance-2.5:whitefrom $0.128284 / sexact prices
| Video reference \ Resolution | 480p | 720p | 1080p |
|---|---|---|---|
| Without video reference | $0.128284–$0.129441 / s | $0.2884–$0.291 / s | $0.513887–$0.518519 / s |
Every combination as JSON: /api/media/price-table?model=seedance-2.5%3Awhite
Pixelseedance-2.5:pixelfrom $0.109286 / ssome cells are estimates (≈)
| Video reference \ Resolution | 480p | 720p | 1080p |
|---|---|---|---|
| Without video reference | $0.18 / s | $0.405 / s | $1.015714 / s |
| With video reference | ≈ $0.109286 / s | ≈ $0.244286 / s | ≈ $0.610714 / s |
≈ This price is per second. The length is set by your source file (audio or video), so the charge is this price × its seconds.
Every combination as JSON: /api/media/price-table?model=seedance-2.5%3Apixel
Primeseedance-2.5:primefrom $0.428 / sexact prices
| Video reference \ Resolution | 480p | 720p | 1080p |
|---|---|---|---|
| Without video reference | $0.428 / s | $0.929467 / s | $2.078933 / s |
Every combination as JSON: /api/media/price-table?model=seedance-2.5%3Aprime
README
The machine-readable contract for ByteDance Seedance 2.5 contains the request schema, operations, limits, polling and response examples.
# ByteDance Seedance 2.5
Public model: seedance-2.5:white
Create job: POST /api/media/generate
Check status: GET /api/media/jobs/{jobId}
## Input parameters
- `prompt` (text): text description; default: required
- `image_url` (URL): Public image URL; default: —
- `input` (option selection): Text → video (default) · Image → video; default: Text → video
- `video_input` (option selection): Without video reference (default) · With video reference; default: Without video reference
- `aspect_ratio` (option selection): 16:9 (default) · 9:16 · 1:1 · Match the input video; default: 16:9
- `resolution` (option selection): 480p · 720p (default) · 1080p; default: 720p
- `duration` (option selection): 4 · 5 (default) · 6 · 7 · 8 · 9 · 10 · 11 · 12 · 13 · 14 · 15 · 16 · 17 · 18 · 19 · 20 · 21 · 22 · 23 · 24 · 25 · 26 · 27 · 28 · 29 · 30 · Match the input video duration; default: 5
- `last_frame_url` (text / number): any value; default: —
- `video_url` (text / number): any value; default: —
- `audio` (yes/no): Yes · No (default); default: No
- `input_urls` (Array<URLs>, 0–16 items): Public HTTP(S) URLs; default: —
- `reference_audio_urls` (Array<URLs>, 0–10 items): Public HTTP(S) URLs; default: —
- `image_file_id` (text): Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `image_base64` (text): Alternative to image_url: the file inline, as base64 or a data: URI; default: —
- `last_frame_file_id` (text): Alternative to last_frame_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `input_file_ids` (Array<strings>): List of values; default: —
- `input_base64` (Array<strings>): List of values; default: —
- `video_file_id` (text): Alternative to video_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `video_base64` (text): Alternative to video_url: the file inline, as base64 or a data: URI; default: —
- `reference_audio_file_ids` (Array<strings>): List of values; default: —
## Public variants
- `seedance-2.5:pixel`: Pixel
- `seedance-2.5:white`: White
- `seedance-2.5:prime`: PrimeFAQ about the ByteDance Seedance 2.5 API
How much does ByteDance Seedance 2.5 cost?
The price of ByteDance Seedance 2.5: from $0.109286 per second. The price is calculated dynamically at the current exchange rate.
Is it compatible with the OpenAI SDK?
Yes, the API is fully OpenAI-compatible. Just change base_url to https://getvibeapi.com/v1 and set your key — the rest of the code stays the same.
Connect ByteDance Seedance 2.5 right now
Sign up in a minute, pay per use, ready-made code above.
Get API key