Generación de vídeo
Live
Abrir en ChatGPT
(opens in new tab)Última verificación: 2026-09-08Elige un modo de Wan 3
modelrush/wan3-spicy, modelrush/wan3-pro-spicy, modelrush/wan3-prime-spicy y modelrush/wan3-prime-pro-spicy usan el mismo endpoint asíncrono con tres modos: text-to-video, image-to-video y reference-to-video. Imagen a vídeo requiere first_frame y admite last_frame; referencia a vídeo requiere al menos uno de reference_images, reference_videos o reference_audios.Wan 3 acepta prompts de hasta 20.000 caracteres y una duración fija de 2 a 30 segundos enteros; si se omite, se usan 5 segundos, y
-1 no está disponible. Se factura la duración solicitada o predeterminada. Admite proporciones adaptativas o fijas y audio nativo; la expansión de prompts solo está disponible en los niveles Prime. Standard y Prime Spicy admiten 480P, 720P y 1080P; Pro y Prime Pro Spicy admiten 1080P, 2K y 4K. Los niveles Prime usan una tarifa por segundo mayor a cambio de una entrega más rápida.Envía un trabajo de texto a vídeo
bashcurl https://api.modelrush.ai/v1/videos/generations \-H "Authorization: Bearer $MODELRUSH_API_KEY" \-H "Content-Type: application/json" \-d '{"model":"modelrush/wan3-spicy","mode":"text-to-video","prompt":"A lunar fox tracing a request across glowing regions","duration":5,"resolution":"1080P","ratio":"16:9","audio":true}'
La API devuelve
202 con un ID de generación y el estado queued. Referencia a vídeo admite hasta 10 imágenes, 5 vídeos y 5 audios. Los vídeos de referencia necesitan al menos 16 fotogramas por segundo y una duración total máxima de 15 segundos; sumados al vídeo generado, no pueden superar 30 segundos. La duración total del audio de referencia no puede superar 15 segundos.Editar un vídeo con Wan 2.7 Video Edit
modelrush/wan2.7-videoedit edita un vídeo de origen. Envía exactamente un elemento {"type":"video"} en media (MP4 o MOV, de 2 a 10 segundos, 240–4.096 píxeles por lado, proporción de 1:8 a 8:1, hasta 100 MB) y hasta 4 elementos reference_image (JPEG, PNG, BMP o WebP, 240–8.000 píxeles por lado, de 1:8 a 8:1, hasta 20 MB). Omite duration o envía 0 para mantener la duración del origen; de 2 a 10 recorta la salida desde el inicio y nunca alarga el origen.Se facturan los segundos del vídeo de entrada más los del vídeo de salida, medidos al milisegundo. Un origen de 5,02 segundos editado completo factura 5,02 + 5,02 = 10,04 segundos; a $0.110 por segundo son $1.1044, que se retienen como $1.11 porque la retención se redondea al siguiente centavo. El gateway mide el origen antes de crear el trabajo y devuelve la estimación en
billing en la respuesta 202. La liquidación usa los segundos que informa el proveedor cuando están disponibles; si no, la estimación autorizada (indicada como usage_source: "estimated" en billing de la predicción), y nunca supera la retención; si hay menos segundos, se libera la diferencia.Recibe el resultado por webhook (recomendado)
Registra un endpoint HTTPS público con
POST /webhooks/endpoints. ModelRush envía eventos firmados prediction.succeeded o prediction.failed en cuanto termina la tarea asíncrona. Verifica la firma y deduplica por ID de evento. Consulta webhooks.Usa el sondeo como recuperación si se retrasa el webhook:
bashcurl https://api.modelrush.ai/v1/videos/generations/GENERATION_ID \-H "Authorization: Bearer $MODELRUSH_API_KEY"
Consulta con retroceso limitado hasta completed o failed y lee video_url. Después de 24 horas, un trabajo completado sigue devolviendo completed, con video_url null y output_expired true. El endpoint unificado de Prediction usa succeeded y outputs. Consulta trabajos asíncronos.
Referencias de las API de modelos Spicy
Abre la página del modelo para consultar parámetros y precios actuales. Las cuatro páginas de Wan 3 incluyen una sección API debajo del Playground. GET /v1/models ofrece los esquemas y el acceso permitido a tu clave; GET /api/model-pricing devuelve precios públicos sin autenticación; con una clave API Bearer válida, devuelve los precios aplicables a esa cuenta.
| Modelo y referencia de la API | ID del modelo | Endpoint |
|---|---|---|
| Wan 3 Spicy | modelrush/wan3-spicy | POST /v1/videos/generations |
| Wan 3 Pro Spicy | modelrush/wan3-pro-spicy | POST /v1/videos/generations |
| Wan 3 Prime Spicy | modelrush/wan3-prime-spicy | POST /v1/videos/generations |
| Wan 3 Prime Pro Spicy | modelrush/wan3-prime-pro-spicy | POST /v1/videos/generations |
| Wan 2.7 I2V Spicy | modelrush/wan2.7-i2v-spicy | POST /v1/videos/generations |
| Wan 2.2 I2V Spicy | modelrush/wan2.2-i2v-spicy | POST /v1/videos/generations |
| Wan Animate Spicy | modelrush/wan-animate | POST /v1/videos/generations |
| FlashVSR Spicy | modelrush/flashvsr | POST /v1/videos/generations |
GET /v1/videos/generations/:id termina con completed o failed y devuelve video_url al completarse. GET /v1/predictions/:id usa succeeded y outputs. Sigue el contrato del poll_url utilizado. Los vídeos de referencia y de salida de Wan 3 no pueden superar 30 segundos en total. Los cuatro niveles Wan 3 Spicy aceptan prompt_extend (booleano, true por defecto). LoRA admite tres listas opcionales de pesos, 480P/720P y 5/8 segundos. Wan Animate y FlashVSR usan el endpoint de vídeo con medios de origen. En FlashVSR, duration debe coincidir con la duración del vídeo de entrada redondeada al segundo entero más cercano (mínimo 1); si no, la solicitud falla con video_duration_mismatch (o video_duration_unverified si no se puede leer el vídeo) antes de cualquier cargo.
Todos los modelos Spicy requieren confirmación de acceso para adultos en la cuenta y una clave con permiso para el modelo y la capacidad. Guarda las claves en el servidor y reutiliza Idempotency-Key donde se admita. Wan Animate también exige el presupuesto firmado y x-request-id de la documentación de vídeo.
Wan Animate: confirma un presupuesto firmado antes de enviar
En solicitudes nuevas de modelrush/wan-animate, elimina duration. El servidor mide el vídeo de referencia: debe durar más de 0 y como máximo 30 segundos. La salida sigue esa duración; 5/8 segundos no controla su longitud. El presupuesto lee el vídeo y el precio actual sin iniciar una generación ni reservar saldo. Confirma billing.maximum_charge_cents (céntimos enteros, redondeados hacia arriba por tarea). El cobro final no puede superar ese máximo; el saldo reservado no utilizado se libera. El presupuesto dura 10 minutos. Siguen vigentes los requisitos de cuenta, acceso a medios y credenciales.
API pública: POST https://api.modelrush.ai/v1/videos/generations/quote y después POST https://api.modelrush.ai/v1/videos/generations. Usa Authorization: Bearer con una clave de servidor autorizada para el modelo. Entorno Agent: POST https://modelrush.ai/api/agent/v1/videos/generations/quote y después POST https://modelrush.ai/api/agent/v1/videos/generations. Usa la credencial Agent con media:write y un Agent run activo, no una clave de API pública. El presupuesto no cobra una generación, pero no elimina la suscripción Agent ni otros requisitos del servicio.
- Crea un UUID y guarda el identificador y el cuerpo JSON exacto antes del envío. Incluye model, image, video, mode (animate o replace), resolution (480P o 720P) y los valores opcionales prompt/seed/region. Omite duration.
- Envía ese cuerpo a la ruta de presupuesto con Content-Type: application/json y x-request-id: UUID. HTTP 200 devuelve quote_token, request_id, expires_at y billing. Comprueba request_id y muestra el máximo para su aprobación.
- Envía el mismo cuerpo y x-request-id a la ruta de generación correspondiente. Añade x-modelrush-video-edit-quote: quote_token. Conserva la cuenta, el Agent run cuando corresponda, la región, los bytes de los medios y la configuración. Idempotency-Key no sustituye el UUID ni la firma; cambiarlo no autoriza otra tarea con el mismo presupuesto.
- Guarda id y poll_url y consulta esa ruta con su credencial. El estado de vídeo usa completed/failed; prediction unificado usa succeeded/failed. No envíes otra tarea para consultar el progreso.
UUID o firma ausente/no válida: HTTP 400 video_edit_quote_required. Presupuesto vencido, medios/configuración o precio diferentes: HTTP 409 video_edit_quote_changed. No aceptes automáticamente otro máximo. Tras un rechazo definitivo del presupuesto, solicita otro con el mismo UUID y cuerpo y vuelve a confirmarlo. Si nunca intentaste el envío y venció, actualiza antes de enviar. Ante un timeout, respuesta perdida o 5xx incierto, conserva UUID, cuerpo y firma y repite exactamente la generación una vez para recuperar el resultado. Una solicitud aceptada coincidente se recupera antes de validar caducidad o medios; no reemplaces la firma vencida durante una recuperación incierta. Si persiste la duda, detente e investiga con el ID; no cambies el UUID para evitarla. HTTP 409 idempotency_conflict indica otro contenido bajo ese ID: detente. Mantén privados los presupuestos y las credenciales.
Las solicitudes ya aceptadas antes del cambio pueden recuperarse con su Idempotency-Key y cuerpo originales, incluido el antiguo duration. Se devuelve la tarea existente sin otra reserva ni cobro. Esto solo cubre tareas aceptadas coincidentes, no solicitudes nuevas sin firma, cuerpos modificados ni otro UUID. Sin una tarea aceptada conocida, migra al presupuesto firmado.
Descarga el ejemplo ejecutable Node.js. Configura MODELRUSH_API_KEY para public o MODELRUSH_AGENT_TOKEN para agent en el servidor. El archivo de estado contiene la firma privada; no lo añadas a Git. quote nunca envía una generación. Sustituye MAX_CENTS por el entero mostrado solo después de aprobarlo. submit/recover pueden reservar saldo e iniciar una tarea de pago; hacen una solicitud, sin reintentos automáticos. refresh conserva UUID/cuerpo y exige otra revisión; úsalo antes del primer envío o tras un video_edit_quote_changed definitivo.
shcurl --fail --output wan-animate-quoted-request.mjs https://modelrush.ai/examples/wan-animate-quoted-request.mjscat > wan-animate-body.json <<'JSON'{"model":"modelrush/wan-animate","image":"https://YOUR_HOST/character.png","video":"https://YOUR_HOST/reference.mp4","mode":"animate","resolution":"480P"}JSONnode wan-animate-quoted-request.mjs quote wan-animate-state.json wan-animate-body.json publicnode wan-animate-quoted-request.mjs submit wan-animate-state.json MAX_CENTS# recover: same saved UUID, body and token; no new task IDnode wan-animate-quoted-request.mjs recover wan-animate-state.json MAX_CENTS# refresh: review the returned maximum again before submitnode wan-animate-quoted-request.mjs refresh wan-animate-state.json# Agent: use a separate state file and MODELRUSH_AGENT_TOKENnode wan-animate-quoted-request.mjs quote wan-animate-agent-state.json wan-animate-body.json agent
AnteriorEdición de imágenes
SiguienteAPI de audio