curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
};
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9",
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
""";
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" => "veo3.1-fast-official",
"prompt" => "a golden retriever running on the beach, sunset, cinematic",
"duration" => 8,
"aspect_ratio" => "16:9"
];
$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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
]
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"": ""veo3.1-fast-official"",
""prompt"": ""a golden retriever running on the beach, sunset, cinematic"",
""duration"": 8,
""aspect_ratio"": ""16:9""
}";
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_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient account balance, please recharge and try again",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later",
"type": "server_error"
}
}
VEO3
VEO3 — генерация видео через официальный канал
- Асинхронный режим обработки, возвращает ID задачи для последующих запросов
- Поддерживает текст-в-видео и изображение-в-видео (управление первым кадром / первым и последним кадром)
- Поддерживает разрешение 720P и 1080P
- Поддерживает длительность видео 4/6/8 секунд
- Поддерживает генерацию аудиодорожки
- Поддерживает управление политикой генерации людей
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
};
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9",
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
""";
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" => "veo3.1-fast-official",
"prompt" => "a golden retriever running on the beach, sunset, cinematic",
"duration" => 8,
"aspect_ratio" => "16:9"
];
$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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
]
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"": ""veo3.1-fast-official"",
""prompt"": ""a golden retriever running on the beach, sunset, cinematic"",
""duration"": 8,
""aspect_ratio"": ""16:9""
}";
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_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient account balance, please recharge and try again",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Too many requests, 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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
};
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9",
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
}
""";
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" => "veo3.1-fast-official",
"prompt" => "a golden retriever running on the beach, sunset, cinematic",
"duration" => 8,
"aspect_ratio" => "16:9"
];
$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: "veo3.1-fast-official",
prompt: "a golden retriever running on the beach, sunset, cinematic",
duration: 8,
aspect_ratio: "16:9"
}
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": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic",
"duration": 8,
"aspect_ratio": "16:9"
]
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"": ""veo3.1-fast-official"",
""prompt"": ""a golden retriever running on the beach, sunset, cinematic"",
""duration"": 8,
""aspect_ratio"": ""16:9""
}";
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_xxxxxxxxxx"
}
]
}
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}
{
"error": {
"code": 401,
"message": "Authentication failed, please check your API key",
"type": "authentication_error"
}
}
{
"error": {
"code": 402,
"message": "Insufficient account balance, please recharge and try again",
"type": "payment_required"
}
}
{
"error": {
"code": 429,
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}
{
"error": {
"code": 500,
"message": "Internal server error, please try again later",
"type": "server_error"
}
}
Авторизация
string
обязательно
Все эндпоинты API требуют аутентификации через Bearer TokenПолучите ваш API Key:Перейдите на страницу управления API Key, чтобы получить ваш API KeyДобавьте в заголовок запроса:
Authorization: Bearer YOUR_API_KEY
Параметры запроса
string
обязательно
Имя модели генерации видеоДоступные модели:
veo3.1-fast-official— Veo 3.1 Official Fastveo3.1-quality-official— Veo 3.1 Official High Quality
boolean
по умолчанию:"false"
Выполнять ли проверку содержимого перед отправкой задачи генерации видео.
true: проверить промпты и входные изображения с помощьюomni-moderation-latestfalseили параметр не указан: не отправлять запрос на проверку, без дополнительных затрат и задержки (по умолчанию)
string
обязательно
Положительный текстовый промптПодробно описывайте сцены, действия, стили и так далее для лучших результатов генерации. Рекомендуется использовать промпты на английском языке.Пример:
"a golden retriever running on the beach, sunset, cinematic"string
Негативный промпт для исключения нежелательного содержимогоПример:
"blurry, low quality, watermark, text"integer
по умолчанию:"8"
Длительность видео в секундахРекомендуемые значения:
4 / 6 / 8По умолчанию: 8Примечание: должно быть целым числом (например, 8), не добавляйте кавычки, иначе возникнет ошибкаstring
по умолчанию:"16:9"
Соотношение сторон видеоДоступные значения:
16:9— горизонтальное9:16— вертикальное
16:9string
по умолчанию:"720p"
Разрешение видеоДоступные значения:
720p— стандартное разрешение1080p— высокое разрешение4K— сверхвысокое разрешение
720pstring
URL изображения первого кадра для генерации изображение-в-видео
- URL изображения должен быть публично доступен без защиты от хотлинкинга
- Рекомендуется использовать URL объектного хранилища, а не временные ссылки на загрузку
string
URL изображения последнего кадра для генерации изображение-в-видеоИспользуется вместе с
first_frame_image для управления первым и последним кадрамиinteger
Случайное seed-значение для воспроизведения результатов генерацииДиапазон значений:
0 — 4294967295integer
по умолчанию:"1"
Количество генерируемых сэмплов (1-4), в настоящее время рекомендуется использовать
1По умолчанию: 1boolean
по умолчанию:"false"
Генерировать ли аудиодорожку
string
по умолчанию:"allow_adult"
Политика генерации людейДоступные значения:
allow_adult— разрешать генерацию только взрослых людей/лицdisallow— не разрешать генерацию людей или лиц
allow_adultstring
по умолчанию:"pad"
Стратегия изменения размера изображения (действует для изображение-в-видео)Доступные значения:
pad— режим добавления полейcrop— режим обрезки
padboolean
по умолчанию:"true"
Включать ли улучшение промпта на стороне провайдераПо умолчанию:
true- Этот параметр можно установить только в
true. Значениеfalseприведёт к ошибке запроса - Если этот параметр не нужен, не включайте его
Текст-в-видео и изображение-в-видео
Система автоматически определяет режим в зависимости от того, передаются ли параметры с изображениями: без изображений — текст-в-видео, с изображениями — изображение-в-видео.| Параметр | Текст-в-видео | Изображение-в-видео |
|---|---|---|
prompt | Обязательный | Обязательный |
first_frame_image | Не используется | Обязательный (хотя бы один) |
last_frame_image | Не используется | Необязательный (последний кадр) |
negative_prompt | Необязательный | Необязательный |
duration | Необязательный | Необязательный |
aspect_ratio | Необязательный | Необязательный |
resolution | Необязательный | Необязательный |
seed | Необязательный | Необязательный |
generate_audio | Необязательный | Необязательный |
person_generation | Необязательный | Необязательный |
resize_mode | Не применяется | Необязательный |
enhance_prompt | Необязательный | Необязательный |
Ответ
integer
Код состояния ответа, 200 при успехе
array
Сценарии использования
Сценарий 1: текст-в-видео (базовый)
{
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic"
}
Сценарий 2: текст-в-видео (полный набор параметров)
{
"model": "veo3.1-quality-official",
"prompt": "a cinematic close-up of a ragdoll cat slowly walking through a sunlit living room",
"negative_prompt": "blurry, low quality, watermark, text",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "1080p",
"seed": 12345,
"generate_audio": true,
"person_generation": "disallow",
"enhance_prompt": true
}
Сценарий 3: изображение-в-видео (один первый кадр)
{
"model": "veo3.1-fast-official",
"prompt": "the cat slowly walks forward and looks around",
"first_frame_image": "https://example.com/cat.png",
"duration": 8,
"resolution": "720p"
}
Сценарий 4: изображение-в-видео (первый и последний кадр)
{
"model": "veo3.1-quality-official",
"prompt": "smooth cinematic transition from the first frame to the last frame",
"first_frame_image": "https://example.com/frame-start.png",
"last_frame_image": "https://example.com/frame-end.png",
"duration": 8,
"resolution": "1080p"
}
Сценарий 5: видео со звуком
{
"model": "veo3.1-quality-official",
"prompt": "a busy coffee shop with people chatting and barista making latte art",
"duration": 8,
"generate_audio": true,
"aspect_ratio": "16:9"
}
Запрос результатов задачиГенерация видео — это асинхронная задача, которая при отправке возвращает
task_id. Используйте эндпоинт Получение статуса задачи, чтобы запросить прогресс и результаты генерации.⌘I