Transloadit
Precios
  • Subida de archivos
  • Importación de archivos
  • Procesamiento por lotes (English)
  • Encoding de video
  • Encoding de audio
  • Procesamiento de imágenes
  • Procesamiento de documentos
  • Inteligencia artificial
  • Filtrado y seguridad de archivos
  • Catalogación de medios
  • Compresión de archivos
  • Evaluación de código
  • Exportación de archivos
  • Smart CDN
  • Ver todos los servicios
  • Explora integraciones (English)
  • Explora demos en vivo (English)
  • Uppy
  • TransloaditKit
  • SDK para Android
  • SDK para Node.js
  • SDK para Python
  • SDK para Ruby
  • SDK para Go
  • SDK para Java
  • SDK para PHP
  • Zapier
  • Servidor MCP
  • Transloadit CLI
  • Terraform
  • Conceptos esenciales
  • Prácticas recomendadas
  • FAQ
  • Robots
  • Endpoints de la API
  • Formatos
  • Crea tu primera app
  • Acerca de Transloadit
  • Comparaciones
  • Código abierto
  • Testimonios
  • Empleos (English)
  • Seguridad
  • Entradas
  • Actualidad para desarrolladores (English)
  • Consejos para desarrolladores
  • Prensa (English)
  • Investigación (English)
  • Casos de éxito
  • Soluciones
  • Guías
  • Glosario (English)
  • Legal (English)
  • Herramientas
  • Cómo ayudamos a Coursera a llevar educación a millones de personas en todo el mundo
  • Soporte de Transloadit
  • Soporte para código abierto
  • Acuerdo de nivel de servicio (English)
Conceptos esencialesRobotsFAQEndpoints de la APIFormatosPrácticas recomendadas
Primeros pasos
  • Descripción general
  • Mi primera aplicación
  • Guardar los archivos de resultados
Temas
  • Assembly Instructions
  • Assembly Variables
  • Evaluación dinámica
  • Templates
  • Webhooks
  • Credenciales de terceros
  • Builtin Templates
  • Estrategias de redimensionamiento
  • Assembly Execution Progress
  • Workspaces
  • Agentes de IA
  • Parámetro use avanzado
  • El parámetro ignore_errors
Kits de desarrollo de software
  • Resumen
  • SDK para Android
  • Navegadores
  • Convex
  • cURL
  • SDK de Go
  • SDK de Java
  • Servidor MCP
  • Formulario multipart
  • SDK de Node.js
  • SDK de PHP
  • SDK de Python
  • SDK de Ruby
  • Terraform
  • TransloaditKit
  • Integración con Zapier
Migración
  • Migration guidesEN (English)
  • Migra de Cloudinary a Transloadit
  • Migrar de Uploadcare a Transloadit
  • Migra de Mux a Transloadit
  • Migra de Filestack a Transloadit

Guardar los archivos de resultados

Ejemplo de Assembly Status JSON

Después del cambio de tamaño de la imagen de Mi primera aplicación, el Step crop_thumbed produce una imagen 1500x500. Este extracto ilustrativo del Assembly Status JSON muestra los campos necesarios para identificar y guardar ese resultado. Se omiten otros campos del estado; los IDs y las URL de ejemplo serán distintos en tu respuesta real.

{
  "assembly_id": "7828446e5acd4aa996dce3455ec914e9",
  "ok": "ASSEMBLY_COMPLETED",
  "uploads": [
    {
      "id": "a30bd0776e7f4ac3817b056d102e8219",
      "name": "joe-gardner-149699.jpg",
      "ssl_url": "https://temporary-files.example/upload.jpg"
    }
  ],
  "results": {
    "crop_thumbed": [
      {
        "id": "b8d12f6c517541ca86bf50c537cedb27",
        "original_id": "a30bd0776e7f4ac3817b056d102e8219",
        "name": "joe-gardner-149699.jpg",
        "ssl_url": "https://temporary-files.example/resized.jpg",
        "meta": {
          "width": 1500,
          "height": 500
        }
      }
    ]
  }
}

Como puedes ver, Transloadit proporciona las ubicaciones finales y los metadatos de:

  • todos los archivos subidos: en la clave uploads
  • todos los archivos de resultados generados: en la clave results

Cada objeto de archivo contiene metadatos, además de un ssl_url que apunta al resultado. Si utilizaste uno de nuestros Robots de exportación, estas ubicaciones reflejarán el almacenamiento que especificaste, como tu bucket de S3. De lo contrario, la ubicación será una URL temporal que se eliminará después de 24 horas.

Advertencia

Las URL temporales solo sirven para descargar los archivos una vez a tu propio almacenamiento. Nunca compartas estas URL con los usuarios finales ni las utilices en producción. Consulta las restricciones del almacenamiento temporal para conocer las limitaciones de uso importantes.

Según tu integración, puedes optar por:

  • Procesar los resultados localmente desde donde realizas la solicitud,
  • Hacer que los resultados se agreguen a un formulario y se envíen a tu backend⁠, o
  • (Con Async Mode) Permitir que Transloadit envíe el Assembly Status JSON a tu notify_url, que luego puedes utilizar para guardar registros en tu base de datos.

Consulta la documentación de la API de webhooks para obtener información sobre la configuración y la verificación de firmas. Verifica cada Notification antes de usar su carga útil en tu aplicación.

Mostrar los archivos de resultados a tus usuarios finales

Después de guardar los archivos en un almacenamiento persistente y guardar en tu base de datos los metadatos que sean útiles para tu aplicación, puedes entregárselos a tus usuarios. Sustituye la URL de marcador de posición que aparece más abajo por la URL de tu propio almacenamiento para mostrar la imagen recortada:

<img
  alt="Resized uploaded image"
  src="https://your-storage.example/resized.jpg"
/>

Si trabajaras con video, podrías considerar reproductores como HLS.js⁠, Plyr⁠ o indigo-player⁠, que también admiten streaming en vivo por HTTP y MPEG-DASH.

Al guardar los resultados del procesamiento de archivos, no dependas de su orden

Cuando tus resultados de encoding estén listos y Transloadit haga una solicitud POST a la URL de resultados o a la URL de Assembly Notification, no dependas del orden correcto de los resultados.

Imagina que tienes dos Steps del Robot 🤖/image/resize en tu Template que usan mediante use el Step :original, de esta manera:

{
  "steps": {
    "high": {
      "use": ":original",
      "robot": "/image/resize",
      "width": 500,
      "height": 500
    },
    "low": {
      "use": ":original",
      "robot": "/image/resize",
      "width": 200,
      "height": 200
    }
  }
}

Cuando subes 30 fotos con este Template, el JSON de la Assembly resultante contiene dos arrays de resultados: "results" -> "high" y "results" -> "low". Sin embargo, el orden de las imágenes dentro de estos arrays no es el mismo. El primer resultado de "high" podría derivarse de la 15.ª foto subida, mientras que el primer resultado del array "low" podría derivarse de la 10.ª foto subida.

Si necesitas asociar los resultados de encoding con sus subidas correspondientes (y probablemente lo necesites), asócialos mediante la propiedad id de las entradas del array "uploads" y la propiedad original_id de las entradas de tus distintos arrays de resultados.

Almacena los archivos subidos originalmente

Almacenar no solo los archivos de resultados codificados, sino también los archivos que tus usuarios subieron originalmente, te permite volver a codificarlos posteriormente en distintos formatos a medida que cambien tus requisitos. Si no los almacenas, se perderán para siempre, ya que probablemente no sea viable pedirles a tus usuarios que vuelvan a subirlos.

Almacena los metadatos

Además de lo anterior, ten en cuenta que las Assemblies son efímeras. Transloadit elimina los registros después de 90 días, por lo que, si quieres conservar cualquiera de los metadatos que contienen, deberías importarlos a tu almacén de datos.

Página anterior ← Mi primera aplicaciónPágina siguiente Assembly Instructions →
Contactar a soporte⁠

TransloaditVerificando el estado…

Producto

  • Servicios
  • Precios
  • Demos EN (English)
  • Herramientas
  • Seguridad
  • Soporte

Empresa

  • Acerca de Transloadit/Prensa EN (English)
  • Blog/Empleos EN (English)
  • Comparaciones/Matriz de cumplimiento EN (English)
  • Investigación EN (English)
  • Código abierto
  • Soluciones
  • Pioneros de la web

Documentación

  • Primeros pasos
  • Transcodificación
  • FAQ
  • Endpoints de la API
  • Guías/Consejos para desarrolladores
  • Formatos compatibles

Más

  • Estado de la plataforma⁠
  • Foro de la comunidad⁠
  • StackOverflow⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Privacidad EN (English)Términos EN (English)Aviso legal EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)