Learn how to use Seedance 2.5 · Text with Reference.
Developer API pricing
Provider: SeeAPI
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
480p: 34 credits/sec (≈ $0.13/sec, no video) | 20 credits/sec (≈ $0.075/sec, with video)
720p: 74 credits/sec (≈ $0.28/sec, no video) | 45 credits/sec (≈ $0.17/sec, with video)
1080p: 185 credits/sec (≈ $0.69/sec, no video) | 110 credits/sec (≈ $0.41/sec, with video)
Note: No video = unit price × output duration; with video = unit price × (output + reference video duration).
After submitting a task, use the unified query endpoint to check progress and retrieve results:
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Callback URL per generation.
/v1/generationsA unique key for this generation request. Reuse the same value only when retrying the identical request body.
order-20260818-001The public model ID documented on this page. Use seedance-2-5 for this Endpoint.
seedance-2-5seedance-2-5seedance-2-5The public Endpoint ID for the selected model. Use the Endpoint whose input schema matches this request.
reference-to-videoreference-to-videoreference-to-videoOptional public Provider ID. Omit this field to use the Endpoint's default Provider.
seeapibyteplusseeapiseeapiProvider-specific input object. Its accepted fields and validation rules depend on the selected provider.
Provider parameters
seeapiDefault ProviderDescribe how the supplied reference assets should be used to generate, edit, or extend the video.
Provide image references for subject identity, composition, style, or visual consistency.
Provide video references for motion, structure, editing, or extension.
Provide audio references for timing, sound, or motion.
Choose the output width-to-height ratio.
16:94:31:13:49:1621:9adaptiveadaptiveChoose the output duration in seconds: 4–30, or the special value -1 for automatic duration selection.
5Select the requested output resolution. Higher resolutions may increase processing time and credit usage.
480p720p1080p480pWhether the generated video should include an audio track when this Provider supports audio generation.
trueSelect the output video container: mp4 or mov.
mp4movmp4Return the generated video last frame when available.
falseEnable NSFW checker.
truebyteplusDescribe how the reference assets should be used. BytePlus recommends no more than 500 Chinese characters or 1,000 English words.
Accepted formats: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF. Maximum file size: 30 MB per file.
Accepted formats: MP4 and MOV. Each video must be 2–30 seconds, no larger than 200 MB, 24–60 FPS, 300–6,000 pixels on each side, with an aspect ratio of 0.4–2.5 and 407,696–8,295,044 total pixels. Upload up to 10 videos; their combined duration must not exceed 30 seconds. Accepted formats: video/mp4, video/quicktime.
Accepted formats: audio/wav, audio/mpeg. Maximum file size: 15 MB per file.
Choose the output aspect ratio. adaptive follows the reference video’s aspect ratio for video editing and extension.
16:94:31:13:49:1621:9adaptiveadaptiveChoose the output duration in seconds: 4–30, or the special value -1 for automatic duration selection.
-1456789101112131415161718192021222324252627282930min: -1max: 305480p720p1080p480ptrueChoose MP4 or MOV output.
mp4movmp4Use -1 for a random seed, or provide a fixed integer for reproducibility.
-1Return the generated video's last frame when available.
falseChoose how BytePlus handles the reference assets. auto: Let the model determine the task type from the prompt. reference: Generate a new video from the supplied references. edit: Edit a reference video; aspect_ratio must be adaptive and duration_seconds must be -1. extend: Extend a reference video; aspect_ratio must be adaptive.
autoreferenceeditextendautoOptional absolute HTTPS URL that receives terminal generation updates. If omitted, query the task-details endpoint with the returned generation ID.
https://client.example.com/webhooks/seeapitask_xxxseedance-2-5reference-to-videoseeapibyteplusseeapi: SeeAPIbyteplus: BytePlusseeapiprocessingprocessingEstimated public credits. Values can include up to three decimal places.
170Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falsetask_xxxseedance-2-5reference-to-videoseeapibyteplusseeapi: SeeAPIbyteplus: BytePlusseeapiprocessingprocessingEstimated public credits. Values can include up to three decimal places.
170Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falseInvalid JSON, parameters, Schema, or API Policy
Invalid API Key or authentication failed
Insufficient credits
The current request is not allowed
Model, Endpoint, or task not found
Idempotency conflict or the same request is still being created
Request body is too large
Too many requests
Service temporarily unavailable
const response = await fetch("https://api.seeapi.com/v1/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "order-20260818-001",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "seedance-2-5",
"endpoint": "reference-to-video",
"provider": "seeapi",
"input": {
"aspect_ratio": "adaptive",
"duration_seconds": 5,
"resolution": "480p",
"generate_audio": true,
"output_format": "mp4",
"return_last_frame": false,
"nsfw_checker": true
},
"callback_url": "https://client.example.com/webhooks/seeapi"
})
});
const result = await response.json();{
"generation": {
"id": "task_xxx",
"model": "seedance-2-5",
"endpoint": "reference-to-video",
"provider": "seeapi",
"status": "processing",
"estimated_credits": 170,
"consumed_credits": 0,
"refunded_credits": 0,
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:00:00Z"
},
"idempotent": false
}