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.

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ímiteValor
Salidas por trabajo20
Entradas por lote1000
Trabajos activos (sin terminar) por organización20.000
Ritmo de creación60 / minuto
Ritmo de lotes10 / 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.

Si se rechaza el lote

SíntomaCausa 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 destinoAl destino compartido le falta el bucket
Limitado por ritmoHas alcanzado el límite de lotes o de creación, o el tope de trabajos activos; espera a que terminen
Rechazado solo al escribirLa organización no está verificada, está suspendida o sin saldo