# model kann "veo3.1-fast" sein, alternativ auch der Alias "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 requests
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"
}
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/{task_id}/remix";
const 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"
};
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/{task_id}/remix"
payload := map[string]interface{}{
"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",
}
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/{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 = 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/{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);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://api.apimart.ai/v1/videos/{task_id}/remix";
const char *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\""
"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://api.apimart.ai/v1/videos/{task_id}/remix"];
NSDictionary *payload = @{
@"model": @"veo3.1-fast",
@"prompt": @"The cat continues running on the grass, butterflies fly into the distance",
@"raw": @NO,
@"aspect_ratio": @"16:9",
@"resolution": @"720p"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01JQXYZ9999NEWEXTENDID"
}
]
}
{
"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": 403,
"message": "Access forbidden. You don't have permission to access this resource",
"type": "permission_error"
}
}
{
"error": {
"code": 404,
"message": "Video not found",
"type": "not_found_error"
}
}
{
"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"
}
}
{
"error": {
"code": 502,
"message": "Bad gateway. The server is temporarily unavailable",
"type": "bad_gateway"
}
}
VEO3
VEO3 Video Remix
- Verlängern Sie generierte Videos, indem Sie von 8 Sekunden auf 15 Sekunden fortsetzen
- Asynchroner Verarbeitungsmodus, gibt Task-ID für nachfolgende Abfragen zurück
- Generierte Video-Links sind 24 Stunden gültig, bitte zeitnah sichern
POST
/
v1
/
videos
/
{task_id}
/
remix
# model kann "veo3.1-fast" sein, alternativ auch der Alias "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 requests
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"
}
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/{task_id}/remix";
const 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"
};
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/{task_id}/remix"
payload := map[string]interface{}{
"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",
}
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/{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 = 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/{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);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://api.apimart.ai/v1/videos/{task_id}/remix";
const char *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\""
"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://api.apimart.ai/v1/videos/{task_id}/remix"];
NSDictionary *payload = @{
@"model": @"veo3.1-fast",
@"prompt": @"The cat continues running on the grass, butterflies fly into the distance",
@"raw": @NO,
@"aspect_ratio": @"16:9",
@"resolution": @"720p"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01JQXYZ9999NEWEXTENDID"
}
]
}
{
"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": 403,
"message": "Access forbidden. You don't have permission to access this resource",
"type": "permission_error"
}
}
{
"error": {
"code": 404,
"message": "Video not found",
"type": "not_found_error"
}
}
{
"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"
}
}
{
"error": {
"code": 502,
"message": "Bad gateway. The server is temporarily unavailable",
"type": "bad_gateway"
}
}
Hinweis zur Modellnamen-Kompatibilität: Diese Schnittstelle unterstützt auch die Aliasnamen
veo3.1-fast-ext (entspricht veo3.1-fast) und veo3.1-quality-ext (entspricht veo3.1-quality). Sie sind austauschbar und liefern identische Ergebnisse.# model kann "veo3.1-fast" sein, alternativ auch der Alias "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 requests
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"
}
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/{task_id}/remix";
const 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"
};
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/{task_id}/remix"
payload := map[string]interface{}{
"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",
}
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/{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 = 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/{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);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://api.apimart.ai/v1/videos/{task_id}/remix";
const char *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\""
"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://api.apimart.ai/v1/videos/{task_id}/remix"];
NSDictionary *payload = @{
@"model": @"veo3.1-fast",
@"prompt": @"The cat continues running on the grass, butterflies fly into the distance",
@"raw": @NO,
@"aspect_ratio": @"16:9",
@"resolution": @"720p"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01JQXYZ9999NEWEXTENDID"
}
]
}
{
"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": 403,
"message": "Access forbidden. You don't have permission to access this resource",
"type": "permission_error"
}
}
{
"error": {
"code": 404,
"message": "Video not found",
"type": "not_found_error"
}
}
{
"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"
}
}
{
"error": {
"code": 502,
"message": "Bad gateway. The server is temporarily unavailable",
"type": "bad_gateway"
}
}
Pfadparameter
string
erforderlich
Task-ID des ursprünglichen VideosDies ist die
task_id, die von der Videogenerierungs-API zurückgegeben wurde. Der Status der ursprünglichen Videoaufgabe muss success seinAutorisierung
string
erforderlich
Alle API-Endpunkte erfordern eine Bearer-Token-AuthentifizierungHolen Sie Ihren API Key:Besuchen Sie die Seite zur API-Key-Verwaltung, um Ihren API Key zu erhaltenIm Anfrage-Header hinzufügen:
Authorization: Bearer YOUR_API_KEY
Anfrageparameter
string
erforderlich
Name des Videomodells, muss mit dem für das ursprüngliche Video verwendeten Modell übereinstimmenUnterstützte Modelle:
veo3.1-fast— Schnellversion (kompatibler Aliasveo3.1-fast-ext)veo3.1-quality— Hochqualitätsversion (kompatibler Aliasveo3.1-quality-ext)
"veo3.1-fast"Zur Kompatibilität mit älteren Aufrufen können die Aliasnamen
veo3.1-fast-ext (entspricht veo3.1-fast) und veo3.1-quality-ext (entspricht veo3.1-quality) weiterhin verwendet werden.boolean
Standard:"false"
Legt fest, ob der Inhalt vor dem Absenden des Videoauftrags moderiert wird.
true: Prompts und Eingabebilder mitomni-moderation-latestprüfenfalseoder nicht angegeben: keine Moderationsanfrage und damit keine zusätzlichen Moderationskosten oder Verzögerung (Standard)
string
erforderlich
Fortsetzungs-Prompt, der den Inhalt des verlängerten Abschnitts beschreibt
boolean
Ob nur der verlängerte Teil des Videos zurückgegeben werden soll
true— gibt nur das verlängerte Video zurück
falsestring
Seitenverhältnis für das verlängerte VideoUnterstützte Werte:
16:99:16
string
VideoauflösungUnterstützte Werte:
720p(Standard)1080p4k
Wichtige Hinweise
Das Modell muss übereinstimmen: Das für die Verlängerung verwendete Modell muss dasselbe sein, das auch zur Generierung des ursprünglichen Videos verwendet wurde. Mit
veo3.1-fast generierte Videos müssen ebenfalls mit veo3.1-fast verlängert werden.Nur abgeschlossene Videos werden unterstützt: Der Status der ursprünglichen Videoaufgabe muss
success sein.task_id in der URL: Dies ist die
task_id, die im ersten Schritt der Videogenerierung zurückgegeben wurde (nicht die Upstream-ID).Antwort
integer
Antwortstatuscode
⌘I