curl --request POST \
--url https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A cinematic drone shot over misty mountains at sunrise"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'A cinematic drone shot over misty mountains at sunrise'})
};
fetch('https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v"
payload = { "prompt": "A cinematic drone shot over misty mountains at sunrise" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v"
payload := strings.NewReader("{\n \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\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.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'A cinematic drone shot over misty mountains at sunrise'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v",
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([
'prompt' => 'A cinematic drone shot over misty mountains at sunrise'
]),
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;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")
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 \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = ["prompt": "A cinematic drone shot over misty mountains at sunrise"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "A cinematic drone shot over misty mountains at sunrise"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}Seedance 2.0 T2V
[Core Function] Seedance 2.0 T2V is ByteDance Dreamina Seedance 2.0 text-to-video. [Strengths] Supports 480p/720p/1080p/4k, 24 fps, 4-15s MP4 output. Text-only input — do not pass images, video, or audio. [Routing] Use for high-fidelity text-to-video when quality or 4k output is requested.
curl --request POST \
--url https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt": "A cinematic drone shot over misty mountains at sunrise"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'A cinematic drone shot over misty mountains at sunrise'})
};
fetch('https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v"
payload = { "prompt": "A cinematic drone shot over misty mountains at sunrise" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v"
payload := strings.NewReader("{\n \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\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.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\n}")
.asString();const url = 'https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt: 'A cinematic drone shot over misty mountains at sunrise'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v",
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([
'prompt' => 'A cinematic drone shot over misty mountains at sunrise'
]),
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;
}require 'uri'
require 'net/http'
url = URI("https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")
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 \"prompt\": \"A cinematic drone shot over misty mountains at sunrise\"\n}"
response = http.request(request)
puts response.read_bodyimport Foundation
let parameters = ["prompt": "A cinematic drone shot over misty mountains at sunrise"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.modellix.ai/api/v1/bytedance/seedance-2.0-t2v' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"prompt": "A cinematic drone shot over misty mountains at sunrise"
}'{
"code": 0,
"message": "success",
"data": {
"status": "pending",
"task_id": "task-abc123",
"model_id": "model-123",
"get_result": {
"method": "GET",
"url": "https://api.modellix.ai/api/v1/tasks/task-abc123"
}
}
}Authorizations
API Key authentication. Format: Bearer YOUR_API_KEY.
Body
Seedance 2.0 text-to-video request. Required: prompt only. Text-only input — images, video, and audio parameters are not supported on T2V endpoints.
Required. Text prompt describing the desired video. Maximum 10000 characters. Do not pass images, video, or audio on T2V. Recommended prompt length: under 1000 words.
1 - 10000Aspect ratio of the generated video.
16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Output resolution of the video.
480p, 720p, 1080p, 4k Video duration in seconds (4-15 seconds).
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Random seed for reproducible generation. Use -1 for random.
-1 <= x <= 4294967295Whether to keep the camera fixed during generation.
Whether to generate audio.
Task expiration time in seconds.
3600 <= x <= 259200Whether to return the last frame of the generated video.