curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true,
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "doubao-seedance-1-5-pro",
"prompt" => "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration" => 5,
"aspect_ratio" => "16:9",
"resolution" => "720p",
"audio" => true
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""doubao-seedance-1-5-pro"",
""prompt"": ""A cute kitten playing in the sunlight, fluffy fur, bright eyes"",
""duration"": 5,
""aspect_ratio"": ""16:9"",
""resolution"": ""720p"",
""audio"": true
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Invalid authentication credentials",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient balance. Please top up your account",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Rate limit exceeded. Please try again later",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later",
"type": "server_error"
}
}
doubao-seedance-1-5-pro
doubao-seedance-1-5-pro Video Generation
- Async processing mode, returns task ID for subsequent queries
- Supports text-to-video, image-to-video (first frame/last frame)
- Supports audio generation
- Supports landscape, portrait, and square aspect ratios
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true,
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "doubao-seedance-1-5-pro",
"prompt" => "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration" => 5,
"aspect_ratio" => "16:9",
"resolution" => "720p",
"audio" => true
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""doubao-seedance-1-5-pro"",
""prompt"": ""A cute kitten playing in the sunlight, fluffy fur, bright eyes"",
""duration"": 5,
""aspect_ratio"": ""16:9"",
""resolution"": ""720p"",
""audio"": true
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Invalid authentication credentials",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient balance. Please top up your account",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Rate limit exceeded. Please try again later",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later",
"type": "server_error"
}
}
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const url = "https://api.apimart.ai/v1/videos/generations";
const payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
};
const headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.apimart.ai/v1/videos/generations"
payload := map[string]interface{}{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true,
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.apimart.ai/v1/videos/generations";
String payload = """
{
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "https://api.apimart.ai/v1/videos/generations";
$payload = [
"model" => "doubao-seedance-1-5-pro",
"prompt" => "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration" => 5,
"aspect_ratio" => "16:9",
"resolution" => "720p",
"audio" => true
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.apimart.ai/v1/videos/generations")
payload = {
model: "doubao-seedance-1-5-pro",
prompt: "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
duration: 5,
aspect_ratio: "16:9",
resolution: "720p",
audio: true
}
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 = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://api.apimart.ai/v1/videos/generations")!
let payload: [String: Any] = [
"model": "doubao-seedance-1-5-pro",
"prompt": "A cute kitten playing in the sunlight, fluffy fur, bright eyes",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p",
"audio": true
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://api.apimart.ai/v1/videos/generations";
var payload = @"{
""model"": ""doubao-seedance-1-5-pro"",
""prompt"": ""A cute kitten playing in the sunlight, fluffy fur, bright eyes"",
""duration"": 5,
""aspect_ratio"": ""16:9"",
""resolution"": ""720p"",
""audio"": true
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Invalid authentication credentials",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient balance. Please top up your account",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Rate limit exceeded. Please try again later",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Internal server error. Please try again later",
"type": "server_error"
}
}
Authorization
All API endpoints require Bearer Token authenticationGet your API Key:Visit the API Key Management Page to get your API KeyAdd it to the request header:
Authorization: Bearer YOUR_API_KEY
Request Parameters
Video generation model nameSupported models:
doubao-seedance-1-5-pro- 1.5 Pro version, supports audio generation and first/last frame
Video content descriptionDescribe scenes, actions, styles in detail for better generation resultsExample:
"Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand"Video duration (seconds)Supported range:
4 ~ 12 secondsDefault: 5Video aspect ratioOptions:
16:9- Landscape9:16- Portrait1:1- Square4:3- Traditional ratio3:4- Vertical traditional ratio21:9- Ultra-wide
16:9Video resolutionOptions:
480p- Standard definition720p- High definition1080p- Full HD
720pSeed integer for controlling the randomness of generated contentValue range: Integer between
-1 and 2^32-1- With the same request, if the model receives different seed values (e.g., not specifying seed or setting seed to -1, which will use a random number), different results will be generated
- With the same request, if the model receives the same seed value, similar results will be generated, but not guaranteed to be identical
Whether to generate audioWhen set to
true, the video will include AI-generated accompanying audioDefault: trueAudio generation is only supported by the Seedance 2.0 series and Seedance 1.5 Pro
Whether to fix the cameraWhen set to
true, the camera position remains fixedDefault: falseResolution and Aspect Ratio Combinations
| Resolution | Supported Aspect Ratios | Notes |
|---|---|---|
| 480p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | All supported |
| 720p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | All supported |
| 1080p | 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | All supported |
Image URL array for image-to-video generationAuto role assignment rules:
- 1 image = first frame
- 2 images = first frame + last frame
["https://example.com/first.png", "https://example.com/last.png"]image_urlsandimage_with_rolescannot be used together
Image array with roles for more precise control
Example:
Show Field Description
Show Field Description
[
{"url": "https://example.com/start.png", "role": "first_frame"},
{"url": "https://example.com/end.png", "role": "last_frame"}
]
image_urlsandimage_with_rolescannot be used together- First frame and last frame only support one each
Response
Response status code, 200 on success
Use Cases
Case 1: Text-to-Video with Audio
{
"model": "doubao-seedance-1-5-pro",
"prompt": "Sunset at the beach, golden sunlight on the sea, waves gently hitting the sand",
"audio": true
}
Case 2: High-Quality Portrait Short Video
{
"model": "doubao-seedance-1-5-pro",
"prompt": "A girl spinning under cherry blossom trees, petals falling with the wind",
"duration": 5,
"aspect_ratio": "9:16",
"resolution": "720p",
"audio": true
}
Case 3: First Frame to Dynamic Video
{
"model": "doubao-seedance-1-5-pro",
"prompt": "Animate the image with natural dynamic effects",
"image_urls": ["https://example.com/first.png"],
"duration": 5,
"audio": true
}
Case 4: Transition Effect with First/Last Frame
{
"model": "doubao-seedance-1-5-pro",
"prompt": "Scene transitions from day to night, city lights gradually turning on",
"image_with_roles": [
{"url": "https://example.com/day.png", "role": "first_frame"},
{"url": "https://example.com/night.png", "role": "last_frame"}
],
"duration": 5
}
Query Task ResultsVideo generation is an async task that returns a
task_id upon submission. Use the Get Task Status endpoint to query generation progress and results.Differences from 1.0 Version
| Feature | 1.0 fast/quality | 1.5 Pro |
|---|---|---|
| Default resolution | 1080p | 720p |
| Supported resolutions | 480p/720p/1080p | 480p/720p/1080p |
| Duration range | 2-12s | 4-12s |
| Audio generation | Not supported | Supported |
| Reference image | reference (1 image) | Not supported |
⌘I