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
Pembuatan Video Resmi VEO3
- Mode pemrosesan asinkron, mengembalikan ID tugas untuk kueri berikutnya
- Mendukung teks-ke-video dan gambar-ke-video (kontrol frame pertama / frame pertama & frame terakhir)
- Mendukung resolusi 720P dan 1080P
- Mendukung durasi video 4/6/8 detik
- Mendukung pembuatan trek audio
- Mendukung kontrol kebijakan pembuatan orang
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"
}
}
Otorisasi
string
wajib
Semua endpoint API memerlukan autentikasi Bearer TokenDapatkan API Key Anda:Kunjungi Halaman Manajemen API Key untuk mendapatkan API Key AndaTambahkan ke header permintaan:
Authorization: Bearer YOUR_API_KEY
Parameter Permintaan
string
wajib
Nama model pembuatan videoModel yang tersedia:
veo3.1-fast-official- Veo 3.1 Resmi Versi Cepatveo3.1-quality-official- Veo 3.1 Resmi Versi Kualitas Tinggi
boolean
default:"false"
Menentukan apakah moderasi konten dijalankan sebelum tugas video dikirim.
true: periksa prompt dan gambar input denganomni-moderation-latestfalseatau dihilangkan: tidak mengirim permintaan moderasi, tanpa biaya atau latensi moderasi tambahan (default)
string
wajib
Prompt teks positifJelaskan adegan, aksi, gaya, dan lainnya secara detail untuk hasil pembuatan yang lebih baik. Prompt berbahasa Inggris direkomendasikan.Contoh:
"a golden retriever running on the beach, sunset, cinematic"string
Prompt negatif untuk mengecualikan konten yang tidak diinginkanContoh:
"blurry, low quality, watermark, text"integer
default:"8"
Durasi video dalam detikNilai yang direkomendasikan:
4 / 6 / 8Default: 8Catatan: Harus berupa angka murni (misalnya 8), jangan tambahkan tanda kutip, jika tidak error akan terjadistring
default:"16:9"
Rasio aspek videoNilai yang tersedia:
16:9- Lanskap9:16- Potret
16:9string
default:"720p"
Resolusi videoNilai yang tersedia:
720p- Resolusi standar1080p- Definisi tinggi4K- Definisi ultra tinggi
720pstring
URL gambar frame pertama untuk pembuatan gambar-ke-video
- URL gambar harus dapat diakses publik tanpa proteksi hotlink
- URL object storage lebih direkomendasikan daripada tautan unduhan sementara
string
URL gambar frame terakhir untuk pembuatan gambar-ke-videoDigunakan bersama
first_frame_image untuk mengontrol frame pertama dan terakhirinteger
Seed acak untuk mereproduksi hasil pembuatanRentang nilai:
0 - 4294967295integer
default:"1"
Jumlah sampel yang akan dihasilkan (1-4), saat ini direkomendasikan untuk menggunakan
1Default: 1boolean
default:"false"
Apakah membuat trek audio
string
default:"allow_adult"
Kebijakan pembuatan orangNilai yang tersedia:
allow_adult- Hanya mengizinkan pembuatan orang/wajah dewasadisallow- Tidak mengizinkan pembuatan orang atau wajah
allow_adultstring
default:"pad"
Strategi pengubahan ukuran gambar (berlaku untuk gambar-ke-video)Nilai yang tersedia:
pad- Mode paddingcrop- Mode cropping
padboolean
default:"true"
Apakah mengaktifkan peningkatan prompt upstreamDefault:
true- Parameter ini hanya dapat diatur ke
true. Mengaturnya kefalseakan menyebabkan error permintaan - Jika Anda tidak memerlukan parameter ini, jangan sertakan
Teks-ke-Video vs Gambar-ke-Video
Sistem otomatis menentukan mode berdasarkan apakah parameter gambar disediakan: tanpa gambar untuk teks-ke-video, dengan gambar untuk gambar-ke-video.| Parameter | Teks-ke-Video | Gambar-ke-Video |
|---|---|---|
prompt | Wajib | Wajib |
first_frame_image | Tidak digunakan | Wajib (setidaknya satu) |
last_frame_image | Tidak digunakan | Opsional (frame terakhir) |
negative_prompt | Opsional | Opsional |
duration | Opsional | Opsional |
aspect_ratio | Opsional | Opsional |
resolution | Opsional | Opsional |
seed | Opsional | Opsional |
generate_audio | Opsional | Opsional |
person_generation | Opsional | Opsional |
resize_mode | Tidak berlaku | Opsional |
enhance_prompt | Opsional | Opsional |
Respons
integer
Kode status respons, 200 jika berhasil
array
Skenario Penggunaan
Skenario 1: Teks-ke-Video (Dasar)
{
"model": "veo3.1-fast-official",
"prompt": "a golden retriever running on the beach, sunset, cinematic"
}
Skenario 2: Teks-ke-Video (Parameter Lengkap)
{
"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
}
Skenario 3: Gambar-ke-Video (Frame Pertama Tunggal)
{
"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"
}
Skenario 4: Gambar-ke-Video (Frame Pertama + Frame Terakhir)
{
"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"
}
Skenario 5: Video dengan Audio
{
"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"
}
Kueri Hasil TugasPembuatan video adalah tugas asinkron yang mengembalikan
task_id saat dikirim. Gunakan endpoint Dapatkan Status Tugas untuk mengueri progres dan hasil pembuatan.⌘I