Submit Seedance 2.5 Reference to Video Task
curl --request POST \
--url https://api.vidgo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5/reference-to-video",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic scene with natural lighting and coherent motion",
"duration": 5,
"resolution": "480p",
"reference_image_urls": [
"https://cdn.vidgo.ai/examples/reference-1.jpg"
]
}
}
'import requests
url = "https://api.vidgo.ai/api/generate/submit"
payload = {
"model": "seedance-2.5/reference-to-video",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic scene with natural lighting and coherent motion",
"duration": 5,
"resolution": "480p",
"reference_image_urls": ["https://cdn.vidgo.ai/examples/reference-1.jpg"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'seedance-2.5/reference-to-video',
callback_url: 'https://your-domain.com/callback',
input: {
prompt: 'A cinematic scene with natural lighting and coherent motion',
duration: 5,
resolution: '480p',
reference_image_urls: ['https://cdn.vidgo.ai/examples/reference-1.jpg']
}
})
};
fetch('https://api.vidgo.ai/api/generate/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vidgo.ai/api/generate/submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'seedance-2.5/reference-to-video',
'callback_url' => 'https://your-domain.com/callback',
'input' => [
'prompt' => 'A cinematic scene with natural lighting and coherent motion',
'duration' => 5,
'resolution' => '480p',
'reference_image_urls' => [
'https://cdn.vidgo.ai/examples/reference-1.jpg'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vidgo.ai/api/generate/submit"
payload := strings.NewReader("{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.vidgo.ai/api/generate/submit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vidgo.ai/api/generate/submit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"task_id": "<string>",
"created_time": "2023-11-07T05:31:56Z"
}
}Seedance
Seedance 2.5 Reference to Video
Seedance 2.5 reference to video model with native audio and precise motion control
POST
/
api
/
generate
/
submit
Submit Seedance 2.5 Reference to Video Task
curl --request POST \
--url https://api.vidgo.ai/api/generate/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "seedance-2.5/reference-to-video",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic scene with natural lighting and coherent motion",
"duration": 5,
"resolution": "480p",
"reference_image_urls": [
"https://cdn.vidgo.ai/examples/reference-1.jpg"
]
}
}
'import requests
url = "https://api.vidgo.ai/api/generate/submit"
payload = {
"model": "seedance-2.5/reference-to-video",
"callback_url": "https://your-domain.com/callback",
"input": {
"prompt": "A cinematic scene with natural lighting and coherent motion",
"duration": 5,
"resolution": "480p",
"reference_image_urls": ["https://cdn.vidgo.ai/examples/reference-1.jpg"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'seedance-2.5/reference-to-video',
callback_url: 'https://your-domain.com/callback',
input: {
prompt: 'A cinematic scene with natural lighting and coherent motion',
duration: 5,
resolution: '480p',
reference_image_urls: ['https://cdn.vidgo.ai/examples/reference-1.jpg']
}
})
};
fetch('https://api.vidgo.ai/api/generate/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vidgo.ai/api/generate/submit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'seedance-2.5/reference-to-video',
'callback_url' => 'https://your-domain.com/callback',
'input' => [
'prompt' => 'A cinematic scene with natural lighting and coherent motion',
'duration' => 5,
'resolution' => '480p',
'reference_image_urls' => [
'https://cdn.vidgo.ai/examples/reference-1.jpg'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.vidgo.ai/api/generate/submit"
payload := strings.NewReader("{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.vidgo.ai/api/generate/submit")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vidgo.ai/api/generate/submit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"seedance-2.5/reference-to-video\",\n \"callback_url\": \"https://your-domain.com/callback\",\n \"input\": {\n \"prompt\": \"A cinematic scene with natural lighting and coherent motion\",\n \"duration\": 5,\n \"resolution\": \"480p\",\n \"reference_image_urls\": [\n \"https://cdn.vidgo.ai/examples/reference-1.jpg\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"code": 200,
"data": {
"task_id": "<string>",
"created_time": "2023-11-07T05:31:56Z"
}
}Submit the request with
VIDGO_API_KEY. After submission, a task_id is returned. Retrieve the result through the unified Query Task Status endpoint or provide callback_url for a completion notification.Available Models
- seedance-2.5/reference-to-video - Seedance 2.5 reference to video generation
Input modes
- This model uses reference images, videos, and optional audio for multimodal guidance.
- Provide at least one reference image or reference video. Reference audio cannot be used alone.
Important notes
prompt,duration, andresolutionare required.durationaccepts integer values from 4 to 30 seconds.resolutionaccepts480por720p.aspect_ratioacceptsauto,21:9,16:9,4:3,1:1,3:4, or9:16.- Reference input accepts up to 30 images, 10 videos, and 10 audio files, with at most 50 reference files in total. Reference audio requires at least one reference image or video.
- All media URLs must be publicly accessible and directly downloadable.
- Usage is billed by duration and resolution. Each reference-video duration, rounded down separately, is added to output duration for billing.
Authorizations
Use Authorization: Bearer VIDGO_API_KEY.
Body
application/json
⌘I