GET /videos/generations/:id
Live
Abrir en ChatGPT
(opens in new tab)Última verificación: 2026-09-08Endpoint
GET /videos/generations/:idLee el estado actual de un trabajo de vídeo. La Base URL es
https://api.modelrush.ai/v1.Petición
Campos: ID de generación en la ruta y la misma clave Bearer usada al enviar. Envía
Authorization: Bearer $MODELRUSH_API_KEY en las rutas autenticadas y Content-Type: application/json en los cuerpos JSON.Respuesta
Campos: id, status (queued, in_progress, completed o failed), model, modelrush_region, video_url al completarse, error al fallar y provider_status cuando esté disponible. GET /predictions/:id usa succeeded y outputs. Conserva los identificadores de petición o de generación devueltos. Las salidas generadas y sus referencias de archivo en el proveedor se eliminan de la base de datos de ModelRush 24 horas después de completarse la petición; descarga lo que necesites conservar.
Errores
Las entradas no válidas devuelven una respuesta 4xx con un error estructurado. Un
403 con adult_attestation_required, portrait_rights_attestation_required o person_rights_confirmation_required debe resolverlo la persona titular de la cuenta y nunca debe reintentarse automáticamente. Reintenta los 429 según Retry-After; reintenta los fallos 5xx solo con una política de retroceso acotada.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
AnteriorPOST /videos/generations
SiguientePOST /audio/speech