- Cuándo Wan 2.7 VideoEdit es la herramienta adecuada
- Endpoint verificado y flujo de trabajo
- Paso 1: Obtener una clave de API de Novita AI
- Paso 2: Entender la forma de la solicitud
- Paso 3: Enviar tu primera solicitud de VideoEdit
- Paso 4: Consultar el endpoint de resultado de la tarea
- Paso 5: Agregar una imagen de referencia cuando necesites un control visual más estricto
- Parámetros clave que realmente deberías considerar
- Límites documentados y restricciones prácticas
- Ejemplo en Python: Enviar y consultar
- Ejemplo en cURL con polling en shell
- Precios, créditos y qué verificar antes de estimar costos
- Errores comunes de integración
- ¿Qué endpoint de Wan 2.7 deberías elegir?
- Preguntas frecuentes
- Artículos recomendados
Wan 2.7 VideoEdit en Novita AI es el endpoint adecuado cuando ya tienes material de archivo y deseas que el modelo reestilice o reescriba la escena sin reconstruir el movimiento desde cero. Envías un video de origen a POST https://api.novita.ai/v3/async/wan2.7-videoedit, obtienes un task_id y luego consultas GET /v3/async/task-result hasta que el clip editado esté listo. Esta guía muestra la forma exacta de la solicitud, cuándo agregar imágenes de referencia y los detalles de implementación que importan antes de integrarlo en producción.
Cuándo Wan 2.7 VideoEdit es la herramienta adecuada
Usa Wan 2.7 VideoEdit cuando el tiempo y el movimiento de cámara en tu clip de origen ya sean lo suficientemente buenos y quieras que la IA cambie lo que ve el espectador, en lugar de cómo está compuesta la toma.
Usos típicos:
- Tienes un clip de acción real y deseas convertirlo en un render anime, cinematográfico o estilizado.
- Necesitas cambiar vestuario, entorno, accesorios o atmósfera mientras preservas el arco de movimiento original.
- Quieres aplicar una transformación guiada por prompt al material de archivo y, opcionalmente, anclar el aspecto con una imagen de referencia.
No es el endpoint adecuado cuando:
- Necesitas movimiento completamente nuevo solo a partir de texto. Usa Wan 2.7 T2V.
- Quieres animar una imagen estática. Usa Wan 2.7 I2V.
- Necesitas juego de roles de múltiples personajes con ranuras de referencia con nombre en una escena generada. Usa Wan 2.7 R2V.
Esa distinción importa porque VideoEdit comienza a partir de un clip de entrada. Si el movimiento original es incorrecto, el modelo no arreglará la coreografía.
Endpoint verificado y flujo de trabajo
Wan 2.7 VideoEdit en Novita AI usa un endpoint de envío y el endpoint compartido de resultado de tarea asíncrona:
| Campo | Valor |
|---|---|
| Endpoint de envío | POST https://api.novita.ai/v3/async/wan2.7-videoedit |
| Consulta de resultado | GET https://api.novita.ai/v3/async/task-result?task_id=<id> |
| Encabezado de autenticación | Authorization: Bearer $NOVITA_API_KEY |
| Tipo de contenido | application/json |
| Documentación oficial | Referencia de API de Wan 2.7 VideoEdit |
La API es asíncrona. Una llamada de envío exitosa devuelve un task_id, no la URL del video terminado. Tu aplicación debe persistir ese ID de tarea y construir lógica de polling o de trabajo en segundo plano a su alrededor.
Paso 1: Obtener una clave de API de Novita AI
Crea una clave desde Gestión de claves de Novita AI y mantenla en una variable de entorno:
export NOVITA_API_KEY="tu_api_key_aqui"
No codifiques la clave en el código del navegador, aplicaciones móviles o archivos de configuración incluidos en el repositorio.
Paso 2: Entender la forma de la solicitud
Wan 2.7 VideoEdit usa un cuerpo JSON plano. La solicitud no anida campos bajo input o parameters.
Como mínimo, envía:
video_urlprompt
Los campos opcionales documentados de los que normalmente te preocuparás primero son:
reference_image_urlpara una referencia de aspecto/estiloresolutiondurationaudio_settingprompt_extendseed
Paso 3: Enviar tu primera solicitud de VideoEdit
Esta es la solicitud práctica más pequeña:
curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"prompt": "Convierte esta escena de pasillo de oficina en un corredor cyberpunk neón, preserva el movimiento de caminata y la trayectoria de la cámara",
"resolution": "720P",
"duration": 5
}'
Respuesta esperada:
{
"task_id": "abc123..."
}
No se garantiza nada más en el momento del envío. Trata la solicitud como un paso de encolado de trabajo, no como una respuesta de edición síncrona.
Paso 4: Consultar el endpoint de resultado de la tarea
Usa el task_id devuelto con la API compartida de resultado de tarea:
curl -s "https://api.novita.ai/v3/async/task-result?task_id=abc123..." \
-H "Authorization: Bearer $NOVITA_API_KEY"
Construye alrededor de estos estados:
| Estado | Significado |
|---|---|
TASK_STATUS_QUEUED |
Aceptado y esperando ejecución |
TASK_STATUS_PROCESSING |
La edición está en progreso |
TASK_STATUS_SUCCEED |
El video editado está listo |
TASK_STATUS_FAILED |
La tarea falló; inspecciona el cuerpo de la respuesta |
Cuando la tarea tiene éxito, la respuesta incluye un array videos con la URL del video editado y el TTL de la URL. Descarga o mueve ese activo rápidamente en lugar de tratar la URL alojada como almacenamiento permanente.
Paso 5: Agregar una imagen de referencia cuando necesites un control visual más estricto
reference_image_url es opcional, pero cambia el comportamiento de edición de maneras útiles.
Úsala cuando:
- Quieras que el clip final siga un aspecto, vestimenta o paleta de personaje particular.
- Quieras dirigir la salida hacia una dirección artística específica en lugar de dejarlo todo al prompt de texto.
- El movimiento del video de origen sea correcto, pero la identidad de la escena sea demasiado imprecisa solo con guía de texto.
Ejemplo de solicitud con una imagen de referencia:
curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"reference_image_url": "https://example.com/reference-look.png",
"prompt": "Transforma al intérprete en el aspecto y la paleta de colores de la imagen de referencia manteniendo el mismo ritmo de baile",
"resolution": "1080P",
"duration": 6,
"audio_setting": "auto"
}'
Si tu resultado sigue desviándose, la solución habitual no es un prompt más largo. Es un prompt más ajustado más una mejor imagen de referencia.
Parámetros clave que realmente deberías considerar
| Parámetro | Tipo | Obligatorio | Qué hace |
|---|---|---|---|
video_url |
string | Sí | Video de origen a editar |
prompt |
string | Sí | Describe la transformación objetivo |
reference_image_url |
string | No | Imagen de referencia para anclar aspecto y estilo |
resolution |
string | No | Resolución de salida, los valores documentados incluyen 720P y 1080P |
duration |
integer | No | Duración objetivo en segundos; 0 mantiene la duración completa del video de entrada |
audio_setting |
string | No | Controla el comportamiento de generación de audio |
prompt_extend |
boolean | No | Permite que el modelo expanda automáticamente prompts cortos |
seed |
integer | No | Mejora la reproducibilidad entre reintentos |
Consulta la referencia de parámetros oficial antes de asumir valores predeterminados. Los campos de modelos de video cambian con más frecuencia que los de modelos de texto, y las restricciones de salida son fáciles de equivocar si confías en la memoria.
Límites documentados y restricciones prácticas
Al 29 de julio de 2026, los documentos oficiales de Novita para Wan 2.7 VideoEdit documentan estos límites:
- Resoluciones compatibles:
720Py1080P durationpor defecto es0, lo que significa la duración completa del video de entrada; el rango de duración de salida explícito documentado es de 2 a 10 segundos cuando lo configuras- Formatos de video de entrada:
mp4ymov - Límite de tamaño de video de entrada: hasta 100 MB
- Formatos de imagen de referencia:
jpg,jpeg,png,webp - Límite de tamaño de imagen de referencia: hasta 20 MB
- Formato de video de salida:
mp4
Estas restricciones son fáciles de pasar por alto cuando estás construyendo un pipeline de medios genérico. El error de integración más común es enviar un archivo de origen más largo o más grande de lo que el endpoint acepta.
Dos implicaciones prácticas:
- Si deseas que el clip editado conserve la longitud del origen, omite
durationo establécela en0en lugar de forzar un recorte de 2 a 10 segundos. - Si estás probando prompts rápidamente, usa primero
720Py cambia a1080Psolo cuando la transformación esté funcionando.
Ejemplo en Python: Enviar y consultar
import os
import time
import requests
API_KEY = os.environ["NOVITA_API_KEY"]
BASE_URL = "https://api.novita.ai"
HEADERS = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def submit_video_edit(
video_url: str,
prompt: str,
reference_image_url: str | None = None,
resolution: str = "720P",
duration: int = 0,
audio_setting: str = "auto",
prompt_extend: bool = True,
seed: int | None = None,
) -> str:
payload = {
"video_url": video_url,
"prompt": prompt,
"resolution": resolution,
"duration": duration,
"audio_setting": audio_setting,
"prompt_extend": prompt_extend,
}
if reference_image_url:
payload["reference_image_url"] = reference_image_url
if seed is not None:
payload["seed"] = seed
resp = requests.post(
f"{BASE_URL}/v3/async/wan2.7-videoedit",
headers=HEADERS,
json=payload,
timeout=60,
)
resp.raise_for_status()
return resp.json()["task_id"]
def poll_result(task_id: str, interval: int = 5, timeout: int = 300) -> dict:
deadline = time.time() + timeout
while time.time() < deadline:
resp = requests.get(
f"{BASE_URL}/v3/async/task-result",
headers=HEADERS,
params={"task_id": task_id},
timeout=60,
)
resp.raise_for_status()
data = resp.json()
status = data.get("task", {}).get("status")
if status == "TASK_STATUS_SUCCEED":
return data
if status == "TASK_STATUS_FAILED":
reason = data.get("task", {}).get("reason", "unknown")
raise RuntimeError(f"La tarea {task_id} falló: {reason}")
time.sleep(interval)
raise TimeoutError(f"La tarea {task_id} no se completó en {timeout}s")
if __name__ == "__main__":
task_id = submit_video_edit(
video_url="https://example.com/source-clip.mp4",
prompt="Cambia la escena callejera a una ciudad retrofuturista lluviosa de noche, preserva el plano de seguimiento original",
reference_image_url="https://example.com/reference-frame.png",
resolution="720P",
duration=0,
seed=42,
)
print(f"Tarea enviada: {task_id}")
result = poll_result(task_id)
video = result["videos"][0]
print("URL del video editado:", video["video_url"])
print("TTL de la URL:", video["video_url_ttl"])
Ejemplo en cURL con polling en shell
TASK_ID=$(curl -s -X POST https://api.novita.ai/v3/async/wan2.7-videoedit \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://example.com/source-clip.mp4",
"prompt": "Convierte el clip en una escena de ciudad anime dibujada a mano, preserva el movimiento de carrera",
"resolution": "720P",
"duration": 0,
"prompt_extend": true
}' | jq -r '.task_id')
while true; do
RESULT=$(curl -s "https://api.novita.ai/v3/async/task-result?task_id=$TASK_ID" \
-H "Authorization: Bearer $NOVITA_API_KEY")
STATUS=$(echo "$RESULT" | jq -r '.task.status')
if [ "$STATUS" = "TASK_STATUS_SUCCEED" ]; then
echo "$RESULT" | jq -r '.videos[0].video_url'
break
fi
if [ "$STATUS" = "TASK_STATUS_FAILED" ]; then
echo "$RESULT"
break
fi
sleep 5
done
Si estás integrando desde un servicio backend, envuelve este bucle de polling en un trabajador en lugar de mantener abierta una solicitud de usuario durante toda la ventana de generación.
Precios, créditos y qué verificar antes de estimar costos
Novita AI expone los precios de los modelos de video en sus páginas de modelos y precios, pero esos números pueden cambiar. Para Wan 2.7 VideoEdit, verifica las tarifas actuales directamente desde la página de precios de Novita AI y la entrada del modelo enlazada desde la documentación oficial antes de publicar estimaciones de costos orientadas al cliente.
Para la planificación de ingeniería, la suposición más segura es:
- El costo escala con la configuración del clip generado, no solo con una tarifa fija por solicitud.
- Las ejecuciones en
1080Pson la línea base incorrecta para iteración. - Los clips más cortos son más fáciles de validar y más baratos de depurar.
Si estás construyendo herramientas internas, trata la consulta de precios como un aspecto de configuración, no como una constante incrustada en el código.
Errores comunes de integración
Enviar cargas sin procesar en lugar de una URL accesible. La forma de solicitud documentada espera entradas de medios basadas en URL. Asegúrate de que tu clip de origen ya esté disponible en una URL estable a la que tu servidor pueda hacer referencia.
Usar VideoEdit para cambios de movimiento. VideoEdit es un endpoint de transformación, no de coreografía. Si el movimiento original es incorrecto, regenera con T2V o I2V.
Confundir los límites de video de origen e imagen de referencia. El video de origen es el activo más grande: mp4/mov, hasta 100 MB. El límite más pequeño de 20 MB se aplica a reference_image_url, no a video_url.
Consultar demasiado agresivamente. Golpear el endpoint de resultado de tarea cada segundo es innecesario para trabajos de video de varios segundos. Un intervalo de 5 a 10 segundos suele ser un mejor punto de partida.
Ignorar el TTL de la URL. La URL de resultado es temporal. Persiste el activo rápidamente si el clip editado es importante para procesos posteriores.
Saltarse la especificidad del prompt. “Hazlo mejor” no es un prompt de edición. Describe el estilo objetivo, el entorno, el tratamiento del sujeto y qué movimiento debe permanecer sin cambios.
¿Qué endpoint de Wan 2.7 deberías elegir?
Usa esta regla rápida:
- Elige VideoEdit cuando ya tengas un video de origen.
- Elige I2V cuando tengas una imagen de origen o quieras continuar desde un flujo de trabajo basado en imágenes.
- Elige T2V cuando solo tengas texto.
- Elige R2V cuando la consistencia de identidad y el control de personaje de referencia importen más que editar un clip existente.
Esa separación es lo que mantiene tu integración simple. Los equipos a menudo usan en exceso texto a video para trabajos que en realidad son problemas de edición basados en prompts.
Preguntas frecuentes
¿Cuál es el endpoint de Novita AI para Wan 2.7 VideoEdit?
POST https://api.novita.ai/v3/async/wan2.7-videoedit. Devuelve un task_id, luego consultas GET https://api.novita.ai/v3/async/task-result?task_id=<id> para obtener la finalización.
¿Puedo proporcionar una imagen de referencia junto con el video de origen?
Sí. La forma de solicitud documentada admite un reference_image_url opcional junto con video_url y prompt, lo cual es útil para dirigir el aspecto final de manera más ajustada.
¿Qué duración de video admite Wan 2.7 VideoEdit en Novita AI?
Según lo documentado al 29 de julio de 2026, duration por defecto es 0, lo que significa la duración completa del video de entrada. Si configuras explícitamente duration, el rango documentado es de 2 a 10 segundos.
¿Wan 2.7 VideoEdit acepta videos de origen grandes?
Sí, dentro del límite documentado. La documentación oficial lista entrada mp4/mov de hasta 100 MB. El límite separado de 20 MB se aplica a la imagen de referencia opcional.
¿Debería usar Wan 2.7 VideoEdit o Wan 2.7 I2V?
Usa VideoEdit si ya tienes un clip y deseas transformarlo. Usa I2V si tu punto de partida es una imagen estática o un flujo de trabajo basado en imágenes.
