curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
};
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": "wan2.7-videoedit",
"video_urls": []string{"https://cdn.example.com/original.mp4"},
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P",
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
""";
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" => "wan2.7-videoedit",
"video_urls" => ["https://cdn.example.com/original.mp4"],
"prompt" => "Replace the background with a snowy mountain scene",
"resolution" => "1080P"
];
$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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
]
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"": ""wan2.7-videoedit"",
""video_urls"": [""https://cdn.example.com/original.mp4""],
""prompt"": ""Replace the background with a snowy mountain scene"",
""resolution"": ""1080P""
}";
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_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"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": 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"
}
}
Wan2.7
Edición de Video Wan2.7-VideoEdit
- Modelo de edición de video Wanxiang 2.7 de Alibaba Cloud
- Edición por IA basada en videos existentes: transferencia de estilo, reemplazo de contenido, adición de elementos
- Acepta opcionalmente imágenes de referencia para especificar el estilo o apariencia deseados
- Permite mantener la duración original del video o personalizar la duración de salida
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
};
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": "wan2.7-videoedit",
"video_urls": []string{"https://cdn.example.com/original.mp4"},
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P",
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
""";
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" => "wan2.7-videoedit",
"video_urls" => ["https://cdn.example.com/original.mp4"],
"prompt" => "Replace the background with a snowy mountain scene",
"resolution" => "1080P"
];
$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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
]
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"": ""wan2.7-videoedit"",
""video_urls"": [""https://cdn.example.com/original.mp4""],
""prompt"": ""Replace the background with a snowy mountain scene"",
""resolution"": ""1080P""
}";
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_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"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": 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"
}
}
curl --request POST \
--url https://api.apimart.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}'
import requests
url = "https://api.apimart.ai/v1/videos/generations"
payload = {
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
};
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": "wan2.7-videoedit",
"video_urls": []string{"https://cdn.example.com/original.mp4"},
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P",
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
}
""";
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" => "wan2.7-videoedit",
"video_urls" => ["https://cdn.example.com/original.mp4"],
"prompt" => "Replace the background with a snowy mountain scene",
"resolution" => "1080P"
];
$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: "wan2.7-videoedit",
video_urls: ["https://cdn.example.com/original.mp4"],
prompt: "Replace the background with a snowy mountain scene",
resolution: "1080P"
}
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": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene",
"resolution": "1080P"
]
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"": ""wan2.7-videoedit"",
""video_urls"": [""https://cdn.example.com/original.mp4""],
""prompt"": ""Replace the background with a snowy mountain scene"",
""resolution"": ""1080P""
}";
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_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
}
]
}
{
"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": 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"
}
}
Autorización
string
requerido
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 al encabezado de la solicitud:
Authorization: Bearer YOUR_API_KEY
Parámetros de la solicitud
string
requerido
Nombre del modelo de generación de video, fijado como
wan2.7-videoeditboolean
predeterminado:"false"
Indica si se debe moderar el contenido antes de enviar la tarea de vídeo.
true: revisar los prompts y las imágenes de entrada conomni-moderation-latestfalseu omitido: no enviar una solicitud de moderación, sin coste ni latencia de moderación adicionales (predeterminado)
array<string>
requerido
Array de URLs del video fuente para editar
Solo se usa el 1er video
Restricciones del video:
- Formato: mp4, mov
- Duración: 2–10s
- Resolución: ancho y alto en el rango [240, 4096] píxeles
- Proporción de aspecto: 1:8 – 8:1
- Tamaño del archivo: hasta 100MB
string
Instrucción de edición que describe los cambios deseados, hasta 5000 caracteresEjemplo:
Si se omite, el modelo realiza una transferencia de estilo por defecto
"Change the character's outfit to a red gown", "Replace the background with a snowy mountain scene"string
Prompt negativo que describe contenido no deseado, hasta 500 caracteres
array<string>
Array de URLs de imágenes de referencia, hasta 4 imágenesUsado para especificar el estilo o apariencia deseados (por ejemplo, estilo de referencia para transferencia de estilo)
string
predeterminado:"1080P"
Resolución del video de salidaOpciones:
720P- Estándar1080P- Alta definición (por defecto)
integer
predeterminado:"0"
Duración del video de salida (segundos)
0(por defecto): mantiene la duración completa del video original- Entero entre
2-10: toma la duración especificada desde el inicio
Cuando
duration=0, la facturación se basa en la duración real del video de salidaLa duración especificada no puede superar la duración del video original en video_urlsstring
Proporción de aspecto de salidaFormatos soportados:
16:9- Paisaje panorámico9:16- Retrato1:1- Cuadrado4:3- Paisaje3:4- Retrato
Si se omite, la proporción de aspecto coincide con la del video de entrada
boolean
predeterminado:"true"
Si se debe activar la reescritura inteligente del promptMejora significativamente los resultados para prompts cortos, pero aumenta el tiempo de procesamientoPor defecto:
trueboolean
predeterminado:"false"
Si se debe añadir la marca de agua “AI Generated” al video generado
true: añadir marca de aguafalse: sin marca de agua (por defecto)
integer
Entero de seed usado para controlar la aleatoriedad del contenido generadoRango de valores: entero
≥0- Para solicitudes idénticas, el modelo genera resultados diferentes al recibir valores de seed diferentes (por ejemplo, al omitir el seed)
- Para solicitudes idénticas, el modelo genera resultados similares al recibir el mismo valor de seed, pero no se garantiza consistencia exacta
object
Objeto de parámetros adicionales
Mostrar campos de metadata
Mostrar campos de metadata
string
predeterminado:"auto"
Modo de gestión del audio:
auto(por defecto): la IA regenera automáticamente audio que coincida con el contenido del video editadoorigin: fuerza mantener el audio original del video, adecuado para videos con sonido de fondo / diálogos importantes
Respuesta
integer
Código de estado de la respuesta, 200 en caso de éxito
array
Casos de uso
Caso 1: Edición básica de video (más simple)
{
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/original.mp4"],
"prompt": "Replace the background with a snowy mountain scene"
}
Caso 2: Transferencia de estilo (con imagen de referencia)
{
"model": "wan2.7-videoedit",
"prompt": "Transfer the video style to the anime style of the reference image",
"video_urls": ["https://cdn.example.com/original.mp4"],
"image_urls": [
"https://cdn.example.com/anime_style.jpg"
],
"resolution": "1080P",
"watermark": false
}
Caso 3: Mantener el audio original del video
Adecuado para videos con sonido de fondo o diálogos importantes:{
"model": "wan2.7-videoedit",
"video_urls": ["https://cdn.example.com/speech.mp4"],
"prompt": "Replace the background with a mountain path",
"metadata": { "audio_setting": "origin" }
}
Caso 4: Parámetros completos
{
"model": "wan2.7-videoedit",
"prompt": "Change the character's outfit to a red gown",
"negative_prompt": "blurry, distorted",
"video_urls": ["https://cdn.example.com/original.mp4"],
"image_urls": ["https://cdn.example.com/reference.jpg"],
"resolution": "1080P",
"duration": 0,
"size": "16:9",
"prompt_extend": true,
"watermark": false,
"seed": 888,
"metadata": {
"audio_setting": "origin"
}
}
Gestión de audio
| audio_setting | Descripción | Escenarios adecuados |
|---|---|---|
auto (por defecto) | La IA regenera audio que coincide con el contenido del video editado | Cambios visuales importantes donde se desea que el audio se actualice en consecuencia |
origin | Fuerza mantener la pista de audio original del video | Videos con música de fondo o diálogos importantes |
Consultar resultados de la tareaLa generación de video es una tarea asíncrona que devuelve un
task_id al enviarse. Use el endpoint Obtener estado de la tarea para consultar el progreso y los resultados de la generación.