Un vídeo cada vez está bien mientras montas el circuito. Un catálogo entero no, así que el formulario New Job tiene un modo Masivo, y detrás está el endpoint de lotes de la API: un solo envío, hasta 1000 orígenes, todos compartiendo el mismo destino y la misma especificación de salidas.
Modo masivo
Cambia el modo a Masivo y los campos de origen único se convierten en una lista. Un origen por línea:
- URLs — una URL
http(s)://por línea. - Claves de objeto S3 — una clave por línea, todas leídas de un único bucket de origen compartido cuyo endpoint y credenciales introduces una sola vez.
Todo lo demás — el bucket de destino, el prefijo, las salidas, el webhook — se define una vez y se aplica a cada trabajo del lote. Cada línea se convierte en un trabajo independiente: encolan por separado, corren por separado y que uno falle no afecta a los demás.
Cómo se separan las salidas
Cada trabajo del lote escribe en su propia subcarpeta bajo el prefijo de destino, derivada del nombre del fichero de origen y de su posición en la lista. Un lote con intro.mp4 y capitulo-1.mov bajo el prefijo curso/ produce algo así:
curso/1-intro.mp4/output_0.mp4
curso/2-capitulo-1.mov/output_0.mp4
El nombre se sanea — todo lo que no sea letra, dígito, punto, guion o guion bajo pasa a _, y los nombres largos se recortan — así que los caracteres raros de tus ficheros no pueden generar claves incómodas. El número inicial evita que dos orígenes con el mismo nombre base choquen.
NotaEsta es la parte que se suele hacer mal al construir lotes a mano contra la API. Sin una subruta distinta por entrada, todos los trabajos escriben
output_0.mp4en la misma clave y te queda un único fichero superviviente de mil.
Idempotencia
Un trabajo individual admite una clave de idempotencia. Envía la misma clave dos veces y la segunda petición devuelve el trabajo existente en lugar de crear un duplicado.
Úsala siempre que quien llama pueda reintentar: un worker de cola que reentrega al agotar el tiempo, un manejador de webhooks que puede dispararse dos veces, un formulario que el usuario puede enviar por duplicado. Una clave estable derivada del origen — la clave del objeto, o tu propio ID de recurso — hace que los reintentos salgan gratis y convierte el "¿se habrá enviado?" en una pregunta que no tienes que responder.
Límites
| Límite | Valor |
|---|---|
| Salidas por trabajo | 20 |
| Entradas por lote | 1000 |
| Trabajos activos (sin terminar) por organización | 20.000 |
| Ritmo de creación | 60 / minuto |
| Ritmo de lotes | 10 / minuto |
El tope de trabajos activos cuenta todo lo que no haya llegado a un estado final. Es generoso, pero es el primero que vas a tocar si disparas diez lotes completos seguidos: 10.000 trabajos se encolan mucho más rápido de lo que se codifican.
Procesar un catálogo grande
- Envía por lotes, no en bucle. Un lote de 1000 gasta una petición del límite de lotes; 1000 creaciones individuales te cuestan 17 minutos esperando al límite por minuto.
- Ve al ritmo del tope de activos. Manda el siguiente lote cuando la cola se haya vaciado, no cuando la petición anterior haya devuelto.
- Pon un webhook. A este volumen, sondear la lista es la forma equivocada — deja que los trabajos te avisen. Míralo en Estado del trabajo.
- Mantén pequeña la especificación de salidas. Cada versión extra se multiplica por cada entrada. Una escalera de tres peldaños sobre 1000 ficheros son 3000 codificaciones.
ConsejoPrueba la especificación exacta de salidas con un fichero primero. El error más caro de este producto es descubrir, después de un lote de 1000, que a la escalera le faltaba un peldaño o que el prefijo estaba mal. Mira Crear un trabajo y Salidas.
Si se rechaza el lote
| Síntoma | Causa probable |
|---|---|
| "Añade al menos una línea de origen" | La lista está vacía, o todas las líneas estaban en blanco |
| Falta el bucket de destino | Al destino compartido le falta el bucket |
| Limitado por ritmo | Has alcanzado el límite de lotes o de creación, o el tope de trabajos activos; espera a que terminen |
| Rechazado solo al escribir | La organización no está verificada, está suspendida o sin saldo |