# El campo model puede ser "veo3.1-fast" o el alias compatible "veo3.1-fast-ext"curl --request POST \ --url https://api.apimart.ai/v1/videos/{task_id}/remix \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" }'
import requestsurl = "https://api.apimart.ai/v1/videos/{task_id}/remix"payload = { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": False, "aspect_ratio": "16:9", "resolution": "720p"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
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/{task_id}/remix"; String payload = """ { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" } """; 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/{task_id}/remix";$payload = [ "model" => "veo3.1-fast", "prompt" => "The cat continues running on the grass, butterflies fly into the distance", "raw" => false, "aspect_ratio" => "16:9", "resolution" => "720p"];$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/{task_id}/remix")payload = { model: "veo3.1-fast", prompt: "The cat continues running on the grass, butterflies fly into the distance", raw: false, aspect_ratio: "16:9", resolution: "720p"}http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Post.new(url)request["Authorization"] = "Bearer <token>"request["Content-Type"] = "application/json"request.body = payload.to_jsonresponse = http.request(request)puts response.body
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/{task_id}/remix")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"]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/{task_id}/remix"; var payload = @"{ ""model"": ""veo3.1-fast"", ""prompt"": ""The cat continues running on the grass, butterflies fly into the distance"", ""raw"": false, ""aspect_ratio"": ""16:9"", ""resolution"": ""720p"" }"; 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/{task_id}/remix"let payload = {|{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"}|}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/{task_id}/remix'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'The cat continues running on the grass, butterflies fly into the distance', 'raw': false, 'aspect_ratio': '16:9', 'resolution': '720p' }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://api.apimart.ai/v1/videos/{task_id}/remix"payload <- list( model = "veo3.1-fast", prompt = "The cat continues running on the grass, butterflies fly into the distance", raw = FALSE, aspect_ratio = "16:9", resolution = "720p")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))
{ "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
Remix de video VEO3
Extiende videos generados, continuando de 8 segundos a 15 segundos
Modo de procesamiento asíncrono, devuelve un ID de tarea para consultas posteriores
Los enlaces de los videos generados son válidos durante 24 horas, guárdelos lo antes posible
POST
/
v1
/
videos
/
{task_id}
/
remix
# El campo model puede ser "veo3.1-fast" o el alias compatible "veo3.1-fast-ext"curl --request POST \ --url https://api.apimart.ai/v1/videos/{task_id}/remix \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" }'
import requestsurl = "https://api.apimart.ai/v1/videos/{task_id}/remix"payload = { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": False, "aspect_ratio": "16:9", "resolution": "720p"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
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/{task_id}/remix"; String payload = """ { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" } """; 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/{task_id}/remix";$payload = [ "model" => "veo3.1-fast", "prompt" => "The cat continues running on the grass, butterflies fly into the distance", "raw" => false, "aspect_ratio" => "16:9", "resolution" => "720p"];$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/{task_id}/remix")payload = { model: "veo3.1-fast", prompt: "The cat continues running on the grass, butterflies fly into the distance", raw: false, aspect_ratio: "16:9", resolution: "720p"}http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Post.new(url)request["Authorization"] = "Bearer <token>"request["Content-Type"] = "application/json"request.body = payload.to_jsonresponse = http.request(request)puts response.body
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/{task_id}/remix")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"]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/{task_id}/remix"; var payload = @"{ ""model"": ""veo3.1-fast"", ""prompt"": ""The cat continues running on the grass, butterflies fly into the distance"", ""raw"": false, ""aspect_ratio"": ""16:9"", ""resolution"": ""720p"" }"; 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/{task_id}/remix"let payload = {|{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"}|}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/{task_id}/remix'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'The cat continues running on the grass, butterflies fly into the distance', 'raw': false, 'aspect_ratio': '16:9', 'resolution': '720p' }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://api.apimart.ai/v1/videos/{task_id}/remix"payload <- list( model = "veo3.1-fast", prompt = "The cat continues running on the grass, butterflies fly into the distance", raw = FALSE, aspect_ratio = "16:9", resolution = "720p")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))
{ "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 compatibilidad de nombres de modelo: Esta interfaz también admite los alias veo3.1-fast-ext (equivalente a veo3.1-fast) y veo3.1-quality-ext (equivalente a veo3.1-quality); cada alias y su modelo son intercambiables y producen los mismos resultados.
# El campo model puede ser "veo3.1-fast" o el alias compatible "veo3.1-fast-ext"curl --request POST \ --url https://api.apimart.ai/v1/videos/{task_id}/remix \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" }'
import requestsurl = "https://api.apimart.ai/v1/videos/{task_id}/remix"payload = { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": False, "aspect_ratio": "16:9", "resolution": "720p"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
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/{task_id}/remix"; String payload = """ { "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p" } """; 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/{task_id}/remix";$payload = [ "model" => "veo3.1-fast", "prompt" => "The cat continues running on the grass, butterflies fly into the distance", "raw" => false, "aspect_ratio" => "16:9", "resolution" => "720p"];$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/{task_id}/remix")payload = { model: "veo3.1-fast", prompt: "The cat continues running on the grass, butterflies fly into the distance", raw: false, aspect_ratio: "16:9", resolution: "720p"}http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Post.new(url)request["Authorization"] = "Bearer <token>"request["Content-Type"] = "application/json"request.body = payload.to_jsonresponse = http.request(request)puts response.body
import Foundationlet url = URL(string: "https://api.apimart.ai/v1/videos/{task_id}/remix")!let payload: [String: Any] = [ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"]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/{task_id}/remix"; var payload = @"{ ""model"": ""veo3.1-fast"", ""prompt"": ""The cat continues running on the grass, butterflies fly into the distance"", ""raw"": false, ""aspect_ratio"": ""16:9"", ""resolution"": ""720p"" }"; 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/{task_id}/remix"let payload = {|{ "model": "veo3.1-fast", "prompt": "The cat continues running on the grass, butterflies fly into the distance", "raw": false, "aspect_ratio": "16:9", "resolution": "720p"}|}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/{task_id}/remix'); final payload = { 'model': 'veo3.1-fast', 'prompt': 'The cat continues running on the grass, butterflies fly into the distance', 'raw': false, 'aspect_ratio': '16:9', 'resolution': '720p' }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json', }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://api.apimart.ai/v1/videos/{task_id}/remix"payload <- list( model = "veo3.1-fast", prompt = "The cat continues running on the grass, butterflies fly into the distance", raw = FALSE, aspect_ratio = "16:9", resolution = "720p")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))
Todos los endpoints de la API requieren autenticación mediante Bearer TokenObtenga su API Key:Visite la página de gestión de API Keys para obtener su API KeyAñádala a la cabecera de la solicitud:
Nombre del modelo de video, debe coincidir con el modelo usado para el video originalModelos admitidos:
veo3.1-fast - Versión rápida (alias compatible veo3.1-fast-ext)
veo3.1-quality - Versión de alta calidad (alias compatible veo3.1-quality-ext)
Ejemplo: "veo3.1-fast"
Para mantener la compatibilidad con llamadas anteriores, los alias veo3.1-fast-ext (corresponde a veo3.1-fast) y veo3.1-quality-ext (corresponde a veo3.1-quality) siguen estando disponibles.
El modelo debe coincidir: El modelo usado para la extensión debe ser el mismo que se usó para generar el video original. Los videos generados con veo3.1-fast también deben usar veo3.1-fast para la extensión.
Solo se admiten videos completados: El estado de la tarea del video original debe ser success.
task_id en la URL: Es el task_id devuelto en el primer paso de la generación de video (no el ID upstream).