# model pode ser "veo3.1-fast", também compatível com o alias "veo3.1-fast-ext"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", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"] }'
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/generations")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]]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"", ""prompt"": ""Dolphins leaping in the azure ocean"", ""duration"": 8, ""aspect_ratio"": ""16:9"", ""image_urls"": [""https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png""] }"; 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); }}
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://api.apimart.ai/v1/videos/generations"let payload = {|{ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://api.apimart.ai/v1/videos/generations'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'Dolphins leaping in the azure ocean', 'duration': 8, 'aspect_ratio': '16:9', 'image_urls': ['https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png'] }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
{ "error": { "code": 500, "message": "Internal server error. Please try again later", "type": "server_error" }}
{ "error": { "code": 502, "message": "Bad gateway. The server is temporarily unavailable", "type": "bad_gateway" }}
VEO3
VEO3 — Geração de vídeo
Modo de processamento assíncrono, retorna um ID de tarefa para consultas posteriores
Suporta vários modos de geração, incluindo texto-para-vídeo e imagem-para-vídeo
Suporta saída em resolução 4K
Os links dos vídeos gerados são válidos por 24 horas, salve-os o quanto antes
POST
/
v1
/
videos
/
generations
# model pode ser "veo3.1-fast", também compatível com o alias "veo3.1-fast-ext"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", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"] }'
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/generations")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]]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"", ""prompt"": ""Dolphins leaping in the azure ocean"", ""duration"": 8, ""aspect_ratio"": ""16:9"", ""image_urls"": [""https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png""] }"; 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); }}
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://api.apimart.ai/v1/videos/generations"let payload = {|{ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://api.apimart.ai/v1/videos/generations'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'Dolphins leaping in the azure ocean', 'duration': 8, 'aspect_ratio': '16:9', 'image_urls': ['https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png'] }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
{ "error": { "code": 500, "message": "Internal server error. Please try again later", "type": "server_error" }}
{ "error": { "code": 502, "message": "Bad gateway. The server is temporarily unavailable", "type": "bad_gateway" }}
Aviso de compatibilidade de nome de modelo: esta interface também é compatível com os aliases veo3.1-fast-ext (equivalente a veo3.1-fast), veo3.1-quality-ext (equivalente a veo3.1-quality) e veo3.1-lite-ext (equivalente a veo3.1-lite); cada alias pode ser usado de forma intercambiável com o nome correspondente e produz o mesmo resultado.
# model pode ser "veo3.1-fast", também compatível com o alias "veo3.1-fast-ext"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", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"] }'
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/generations")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]]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"", ""prompt"": ""Dolphins leaping in the azure ocean"", ""duration"": 8, ""aspect_ratio"": ""16:9"", ""image_urls"": [""https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png""] }"; 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); }}
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://api.apimart.ai/v1/videos/generations"let payload = {|{ "model": "veo3.1-fast", "prompt": "Dolphins leaping in the azure ocean", "duration": 8, "aspect_ratio": "16:9", "image_urls": ["https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png"]}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://api.apimart.ai/v1/videos/generations'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'Dolphins leaping in the azure ocean', 'duration': 8, 'aspect_ratio': '16:9', 'image_urls': ['https://cdn.apimart.ai/doc/9998238783208208-9972597b-255d-4e7e-9649-e6ee38a837aa-image_task_01K88B53MTK41PP5KGDTG2PA5P_0.png'] }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
Todos os endpoints da API exigem autenticação via Bearer TokenObtenha sua API Key:Acesse a página de gerenciamento de API Keys para obter sua API KeyAdicione ao cabeçalho da requisição:
Nome do modelo de geração de vídeoModelos disponíveis:
veo3.1-fast — modelo de geração rápida, adequado para pré-visualizações e iterações rápidas (alias compatível veo3.1-fast-ext)
veo3.1-quality — modelo de alta qualidade, adequado para a produção final (alias compatível veo3.1-quality-ext)
veo3.1-lite — modelo de geração leve, adequado para geração em lote a baixo custo (alias compatível veo3.1-lite-ext)
Exemplo: "veo3.1-fast"
Para compatibilidade com chamadas de versões anteriores, os aliases veo3.1-fast-ext (correspondente a veo3.1-fast), veo3.1-quality-ext (correspondente a veo3.1-quality), veo3.1-lite-ext (correspondente a veo3.1-lite) continuam podendo ser usados normalmente.
reference — vídeo a partir de imagem de referência
Se não especificado, é determinado pelo número de imagens: 2 imagens para vídeo a partir de frames, 3 imagens para vídeo a partir de imagem de referênciaObservação: o modelo veo3.1-quality não suporta o modo reference
O modelo veo3.1-lite não suporta este parâmetro, não o envie
Array de URLs de imagens de referência para geração imagem-para-vídeoSuporta URLs de imagens publicamente acessíveis (http:// ou https://)Exemplo: ["https://example.com/image.jpg"]Limitações:
Máximo de 3 imagens
Para o modo vídeo a partir de frames: a primeira imagem é o frame inicial e a segunda é o frame final
Tamanho máximo do arquivo: 10 MB
Formatos suportados: .jpeg, .jpg, .png, .webp
O modelo veo3.1-lite não suporta este parâmetro, não o envie