Transloadit
Pricing
  • File Uploads
  • File Importing
  • Batch Processing
  • Video Encoding
  • Audio Encoding
  • Image Processing
  • Document Processing
  • Artificial Intelligence
  • File Filtering & Security
  • Media Cataloging
  • File Compression
  • Code Evaluation
  • File Exporting
  • Smart CDN
  • View all services
  • Explore integrations
  • Explore live demos
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node.js SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Transloadit CLI
  • Terraform
  • Essentials
  • Best Practices
  • FAQ
  • Robots
  • API
  • Formats
  • Build your first app
  • About
  • Comparisons
  • Open Source
  • Testimonials
  • Jobs
  • Security
  • Posts
  • DevTimes
  • DevTips
  • Press
  • Research
  • Case Studies
  • Solutions
  • Guides
  • Glossary
  • Legal
  • Tools
  • Helping Coursera bring education to millions around the world
  • Transloadit Support
  • Open Source Support
  • Service level agreement
EssentialsRobotsFAQAPIFormatsBest Practices
Topics
  • Endpoints
  • Response codes
  • Authentication
  • Webhooks
  • Metadata
  • API security
  • Rate limiting
  • Queues
  • Resumable uploads
Authentication
  • Create a bearer token
  • Create a new Auth Key
  • Retrieve list of Auth Keys
  • Retrieve Auth Key scopes
  • Edit an Auth Key
  • Delete an Auth Key
  • Retrieve an Auth Key secret
Assemblies
  • Create a new Assembly
  • Retrieve an Assembly Status
  • Create an Assembly with a supplied ID
  • Stream Assembly changes live
  • Cancel a running Assembly
  • Replay an Assembly
  • Retrieve list of Assemblies
  • Assembly Status response
  • Retrieve Assembly statistics
Webhooks
  • Retrieve Assembly Notifications
  • Replay Assembly Notification
Billing
  • Retrieve a month’s bill
Queues
  • Retrieve currently used priority job slots
  • Retrieve priority job slot statistics
Resumable Uploads
  • Discover tus capabilities
  • Create a tus upload
  • Retrieve a tus upload offset
  • Upload tus file bytes
  • Terminate a tus upload
  • Download a tus upload
Template Credentials
  • Create a new Template Credential
  • Retrieve a Template Credential
  • Edit a Template Credential
  • Delete a Template Credential
  • Retrieve list of Template Credentials
  • Retrieve Template Credential types
Templates
  • Create a new Template
  • Retrieve a Template
  • Edit a Template
  • Delete a Template
  • Retrieve list of Templates
Digital Asset Management
  • Move or rename a DAM asset alpha
  • Delete a DAM asset alpha
  • Move DAM assets in bulk alpha
  • Delete DAM assets in bulk alpha
  • Move a Storage file or folder alpha
  • Retrieve a Storage asset
  • List Storage assets

Stream Assembly changes live

Streams Assembly status changes as Server-Sent Events.

GET{UPDATE_STREAM_URL}
Note

Use the update_stream_url capability URL from the validated Assembly response as the request destination. It does not use ambient API2 host credentials.

In the response after creating an Assembly you will find two fields for retrieving the Assembly Status: assembly_ssl_url and update_stream_url. You can fetch the current Assembly Status from the URL provided in assembly_ssl_url. To obtain information about how the Assembly is progressing, you can either poll that regularly, or subscribe to the update stream, which is described in this document.

Server-Sent Events

The update_stream_url property in the Assembly Status defines a URL, where the update stream for the corresponding Assembly is available using server-sent events.

Server-sent events⁠ are a web technology for sending live notifications from the server to a client over HTTP. It is similar to Web Sockets, but only allows unidirectional messages from the server to the client and consists of a simple, text-based format⁠.

While the Assembly is either in the uploading or executing state, a client can connect to this endpoint by sending a GET request with the Accept: text/event-stream header field to the URL specified in update_stream_url and parse the response stream. The server can send a mixture of messages and events to the client. The difference between them is that events include an additional payload with information, while messages don’t.

Multiple clients can subscribe to the same Assembly. Closing one connection leaves the others connected. During an uploader shutdown, existing streams close and new connections receive an empty HTTP 503 response. Fetch the current Assembly Status to check whether processing has ended.

Messages

A message consists of the message name and no additional payload. On the wire, a message with the name assembly_finished looks like this ([NL] indicates a new line):

data: assembly_finished[NL]
[NL]

Transloadit sends the following messages:

  • assembly_upload_meta_data_extracted is emitted when all uploads are finished and the meta data has been extracted for all of them.
  • assembly_uploading_finished is emitted when all uploads for this Assembly have been finished and the Assembly transitions from the uploading into the executing state.
  • assembly_finished is emitted when the Assembly has ended, not necessarily when processing succeeded. It is also sent after cancellation or when connecting to an already-ended Assembly, including one that failed. The server ends the stream after this message. Fetch assembly_ssl_url and inspect the final status: ok: "ASSEMBLY_COMPLETED" indicates success, ok: "ASSEMBLY_CANCELED" indicates cancellation, and error indicates failure.
  • ping is emitted periodically to keep the connection alive while the Assembly is being processed. It is currently sent every minute, although this interval might change in the future.

Events

An event consists of the event name and an additional payload. On the wire, an event with the name assembly_result_finished looks like this ([NL] indicates a new line):

event: assembly_result_finished[NL]
data: ["avatar",{"id":"5789e06b48ad450aa55f9b3721376581","basename":"lesereihe","field":"file","md5hash":"e9df77e5ee87e8ec3b4453bcddf191bc","ext":"pdf","meta":{"width":1238,"height":1750,"page_count":1},"mime":"application/pdf","name":"lesereihe.pdf","size":120456,"type":"pdf"}][NL]
[NL]

Transloadit sends the following events:

  • assembly_error is emitted when an error occurs while the Assembly is executing. The server will end the stream after this event. Additional information about the error is included, for example:

    {
      "error": "FILE_FILTER_DECLINED_FILE",
      "message": "One of your files was declined",
      "step": "filter",
      "previousStep": ":original",
      "http_code": 400
    }
    
  • assembly_upload_finished is emitted for each upload that is finished. Additional information about the uploaded file is included. The structure is the same as an object in the uploads array from the Assembly Status, for example:

    {
      "id": "6bb16f6cd49a44b4ae431f576e016c6d",
      "name": "lesereihe.doc",
      "basename": "lesereihe",
      "ext": "doc",
      "size": 61440,
      "mime": "application/msword",
      "type": "office",
      "field": "file",
      "md5hash": "154a9349b8f9111865a07ed0a7050f55",
      "original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
      "url": null,
      "meta": {}
    }
    
  • assembly_result_finished is emitted whenever a new result from a Step is available. The payload is a [stepName, file] tuple. The file object has the same structure as an entry in results[stepName] from the Assembly Status, for example:

    [
      "avatar",
      {
        "id": "5789e06b48ad450aa55f9b3721376581",
        "basename": "lesereihe",
        "field": "file",
        "md5hash": "e9df77e5ee87e8ec3b4453bcddf191bc",
        "ext": "pdf",
        "meta": {
          "width": 1238,
          "height": 1750,
          "page_count": 1
        },
        "mime": "application/pdf",
        "name": "lesereihe.pdf",
        "size": 120456,
        "type": "pdf"
      }
    ]
    
  • assembly_execution_progress is emitted at regular intervals with information about the overall Execution Progress of the Assembly and its files. The structure and mechanisms are detailed in Assembly Execution Progress, for example:

    {
      "progress_combined": 50,
      "progress_per_original_file": [
        {
          "original_id": "6bb16f6cd49a44b4ae431f576e016c6d",
          "progress": 50
        }
      ]
    }
    

    Note: progress_per_original_file is keyed by original_id. Imported files without an original_id won’t appear in this list.

Note

Additional messages and events might be added in the future. A client should therefore ignore unexpected messages/events and not error out.

The stream does not replay earlier events. In particular, an assembly_error listener cannot report an error that occurred before you connected. Once the Assembly is no longer in the uploader’s memory, the stream URL returns HTTP 404. On a disconnect or unavailable stream, fetch assembly_ssl_url; if the Assembly is still uploading or executing, continue polling that URL. A closed stream alone does not establish success.

Example in JavaScript

Modern browsers provide native support for server-sent events via the EventSource constructor. Assuming that the Assembly Status is stored in the assembly_status variable, the client can listen for the assembly_finished message, the assembly_uploading_finished message, and the assembly_result_finished event as follows: If the stream disconnects, this example switches to polling every two seconds until the Assembly reaches a terminal status. HTTP or network failures are reported instead of being treated as success.

const stream = new EventSource(assembly_status.update_stream_url)
const activeStatuses = ["ASSEMBLY_UPLOADING","ASSEMBLY_EXECUTING","ASSEMBLY_REPLAYING"]
let pollingStarted = false

async function checkAssemblyStatus() {
  while (true) {
    const response = await fetch(assembly_status.assembly_ssl_url)
    if (!response.ok) {
      throw new Error(`Assembly status request failed: ${response.status}`)
    }
    const status = await response.json()
    if (status.error) {
      console.error('Assembly failed', status.error)
      return
    }
    if (status.ok === 'ASSEMBLY_COMPLETED') {
      console.log('Assembly completed', status.results)
      return
    }
    if (status.ok === 'ASSEMBLY_CANCELED') {
      console.warn('Assembly was canceled')
      return
    }
    if (!activeStatuses.includes(status.ok)) {
      throw new Error(`Assembly did not complete successfully: ${status.ok}`)
    }
    console.log('Assembly is not complete; continue polling its status URL', status.ok)
    await new Promise((resolve) => setTimeout(resolve, 2000))
  }
}

function closeStreamAndCheckStatus() {
  if (pollingStarted) return
  pollingStarted = true
  stream.close()
  checkAssemblyStatus().catch(console.error)
}

// Listen for the assembly_finished and assembly_uploading_finished messages
stream.addEventListener('message', (event) => {
  switch (event.data) {
    case 'assembly_finished':
      closeStreamAndCheckStatus()
      break
    case 'assembly_uploading_finished':
      console.log('All uploads are finished')
      break
  }
})

// Handle terminal Assembly errors without reconnecting the stream
stream.addEventListener('assembly_error', (event) => {
  const error = JSON.parse(event.data)
  console.error('Assembly failed', error)
  closeStreamAndCheckStatus()
})

// Recover from a disconnected or unavailable stream using the status URL
stream.addEventListener('error', closeStreamAndCheckStatus)

// Listen for the assembly_result_finished event
stream.addEventListener('assembly_result_finished', (event) => {
  const result = JSON.parse(event.data)
  console.log('Assembly result is available', result)
})

Request example

Set UPDATE_STREAM_URL to the complete update_stream_url URL from the Assembly creation response. Do not replace its hostname.

curl --fail-with-body -sS --request GET --no-buffer \
  --url "${UPDATE_STREAM_URL:?Set UPDATE_STREAM_URL}" \
  --header 'accept: text/event-stream'

Required request headers

  • accept (fixed value), required. Accepted value: "text/event-stream". Repeated header values are joined before matching.

Optional response query parameters

  • callback (JavaScript callback name). Wraps JSON responses in a JSONP callback. The callback name must match ^(?:_jqjsp[0-9]*|jQuery[0-9]+_[0-9]+)$. Only the last occurrence is used; an empty value is ignored. Invalid callback names return HTTP 403. The transformed response uses HTTP 200. The callback is applied after response serialization.

Request

No additional request body or fields are required.

Response

Here’s an example response body:

data: assembly_uploading_finished

event: assembly_upload_finished
data: {"id":"6bb16f6cd49a44b4ae431f576e016c6d","name":"lesereihe.doc","basename":"lesereihe","ext":"doc","size":61440,"mime":"application/msword","type":"office","field":"file","md5hash":"154a9349b8f9111865a07ed0a7050f55","original_id":"6bb16f6cd49a44b4ae431f576e016c6d","url":null,"meta":{}}

data: assembly_upload_meta_data_extracted

event: assembly_result_finished
data: ["avatar",{"id":"5789e06b48ad450aa55f9b3721376581","basename":"lesereihe","field":"file","md5hash":"e9df77e5ee87e8ec3b4453bcddf191bc","ext":"pdf","meta":{"width":1238,"height":1750,"page_count":1},"mime":"application/pdf","name":"lesereihe.pdf","size":120456,"type":"pdf"}]

event: assembly_execution_progress
data: {"progress_combined":100,"progress_per_original_file":[]}

data: assembly_finished

2xx success

Server-Sent Events response stream. text/event-stream

assembly_error

Named event with a JSON payload in its data field. The server closes the stream after this notification. Fetch the final resource status to determine the outcome.

Event payload
Complete JSON Schema

Open JSON in a new tab

Fields beyond those listed for this object are accepted.

FieldType and description
error
string (minimum length: 1)

Error code, when available. Fetch the final Assembly Status even when this field is absent.

Known values (363); other values are possible
  • "ADMIN_PERMISSIONS_REQUIRED"
  • "AI_CHAT_VALIDATION"
  • "ASSEMBLY_ACCOUNT_MISMATCH"
  • "ASSEMBLY_CANNOT_BE_REPLAYED"
  • "ASSEMBLY_COULD_NOT_BE_CREATED"
  • "ASSEMBLY_CRASHED"
  • "ASSEMBLY_DISALLOWED_ROBOTS_USED"
  • "ASSEMBLY_EMPTY_STEPS"
  • "ASSEMBLY_EXECUTION_PROGRESS_NOT_ENABLED"
  • "ASSEMBLY_EXPIRED"
  • "ASSEMBLY_FILE_NOT_RESERVED"
  • "ASSEMBLY_INFINITE"
  • "ASSEMBLY_INVALID_NOTIFY_URL"
  • "ASSEMBLY_INVALID_NUM_EXPECTED_UPLOAD_FILES_PARAM"
  • "ASSEMBLY_INVALID_STEPS"
  • "ASSEMBLY_JOB_ENQUEUE_ERROR"
  • "ASSEMBLY_LIST_ERROR"
  • "ASSEMBLY_MEMORY_LIMIT_EXCEEDED"
  • "ASSEMBLY_NOTIFICATIONS_LIST_ERROR"
  • "ASSEMBLY_NOTIFICATION_LIST_ERROR"
  • "ASSEMBLY_NOTIFICATION_NOT_PERSISTED"
  • "ASSEMBLY_NOTIFICATION_NOT_REPLAYED"
  • "ASSEMBLY_NOT_CAPABLE"
  • "ASSEMBLY_NOT_FINISHED"
  • "ASSEMBLY_NOT_FOUND"
  • "ASSEMBLY_NOT_REPLAYED"
  • "ASSEMBLY_NO_CHARGEABLE_STEP"
  • "ASSEMBLY_NO_NOTIFY_URL"
  • "ASSEMBLY_NO_STEPS"
  • "ASSEMBLY_PLAN_FILE_SIZE_LIMIT_EXCEEDED"
  • "ASSEMBLY_ROBOT_MISSING"
  • "ASSEMBLY_SATURATED"
  • "ASSEMBLY_STATS_ERROR"
  • "ASSEMBLY_STATS_INVALID_TIME"
  • "ASSEMBLY_STATS_MISSING_REGION"
  • "ASSEMBLY_STATUS_FETCHING_RATE_LIMIT_REACHED"
  • "ASSEMBLY_STATUS_NOT_FOUND"
  • "ASSEMBLY_STATUS_PARSE_ERROR"
  • "ASSEMBLY_STEP_INVALID"
  • "ASSEMBLY_STEP_INVALID_ROBOT"
  • "ASSEMBLY_STEP_INVALID_USE"
  • "ASSEMBLY_STEP_NO_ROBOT"
  • "ASSEMBLY_STEP_UNKNOWN_ROBOT"
  • "ASSEMBLY_STEP_UNKNOWN_USE"
  • "ASSEMBLY_URL_TRANSFORM_MISSING"
  • "AUDIO_ARTWORK_VALIDATION"
  • "AUDIO_CONCAT_INVALID_INPUT"
  • "AUDIO_CONCAT_VALIDATION"
  • "AUDIO_ENCODE_VALIDATION"
  • "AUDIO_LOOP_VALIDATION"
  • "AUDIO_MERGE_VALIDATION"
  • "AUDIO_SPLIT_NO_OUTPUT"
  • "AUDIO_SPLIT_VALIDATION"
  • "AUDIO_WAVEFORM_VALIDATION"
  • "AUTH_EXPIRED"
  • "AUTH_KEYS_NOT_FOUND"
  • "AUTH_KEY_SCOPES_NOT_FOUND"
  • "AUTH_SECRET_NOT_RETRIEVED"
  • "AZURE_IMPORT_ACCESS_DENIED"
  • "AZURE_IMPORT_FAILURE"
  • "AZURE_IMPORT_NOT_FOUND"
  • "AZURE_IMPORT_VALIDATION"
  • "AZURE_STORE_ACCESS_DENIED"
  • "AZURE_STORE_NOT_FOUND"
  • "AZURE_STORE_VALIDATION"
  • "BACKBLAZE_IMPORT_ACCESS_DENIED"
  • "BACKBLAZE_IMPORT_FAILURE"
  • "BACKBLAZE_IMPORT_NOT_FOUND"
  • "BACKBLAZE_IMPORT_VALIDATION"
  • "BACKBLAZE_STORE_ACCESS_DENIED"
  • "BACKBLAZE_STORE_FAILURE"
  • "BACKBLAZE_STORE_VALIDATION"
  • "BAD_PRICING"
  • "BEARER_TOKEN_AUTH_KEY_MISMATCH"
  • "BEARER_TOKEN_EXPIRED"
  • "BEARER_TOKEN_INVALID"
  • "BILL_LIMIT_EXCEEDED"
  • "BOX_IMPORT_ACCESS_DENIED"
  • "BOX_IMPORT_FAILURE"
  • "BOX_IMPORT_NOT_FOUND"
  • "BOX_IMPORT_VALIDATION"
  • "BOX_STORE_COULD_NOT_PARSE_URL"
  • "BOX_STORE_VALIDATION"
  • "CANNOT_ACCEPT_NEW_ASSEMBLIES"
  • "CDN_REQUIRED"
  • "CLOUDFILES_IMPORT_ACCESS_DENIED"
  • "CLOUDFILES_IMPORT_FAILURE"
  • "CLOUDFILES_IMPORT_NOT_FOUND"
  • "CLOUDFILES_IMPORT_VALIDATION"
  • "CLOUDFILES_STORE_ACCESS_DENIED"
  • "CLOUDFILES_STORE_ERROR"
  • "CLOUDFILES_STORE_VALIDATION"
  • "CLOUDFLARE_IMPORT_ACCESS_DENIED"
  • "CLOUDFLARE_IMPORT_FAILURE"
  • "CLOUDFLARE_IMPORT_NOT_FOUND"
  • "CLOUDFLARE_IMPORT_VALIDATION"
  • "CLOUDFLARE_STORE_ACCESS_DENIED"
  • "CLOUDFLARE_STORE_NOT_FOUND"
  • "CLOUDFLARE_STORE_URL_VERIFICATION_FAILURE"
  • "CLOUDFLARE_STORE_VALIDATION"
  • "CLOUDFLARE_STORE_WRONG_REGION"
  • "CLOUD_AI_IMAGE_VALIDATION"
  • "DAM_STORAGE_UNAVAILABLE"
  • "DIGITALOCEAN_IMPORT_ACCESS_DENIED"
  • "DIGITALOCEAN_IMPORT_FAILURE"
  • "DIGITALOCEAN_IMPORT_NOT_FOUND"
  • "DIGITALOCEAN_IMPORT_VALIDATION"
  • "DIGITALOCEAN_STORE_ACCESS_DENIED"
  • "DIGITALOCEAN_STORE_NOT_FOUND"
  • "DIGITALOCEAN_STORE_VALIDATION"
  • "DIGITALOCEAN_STORE_WRONG_REGION"
  • "DOCUMENT_AUTOROTATE_VALIDATION"
  • "DOCUMENT_CONVERT_UNSUPPORTED_CONVERSION"
  • "DOCUMENT_CONVERT_VALIDATION"
  • "DOCUMENT_EXTRACT_VALIDATION"
  • "DOCUMENT_MERGE_UNSUPPORTED_CONVERSION"
  • "DOCUMENT_MERGE_VALIDATION"
  • "DOCUMENT_OCR_VALIDATION"
  • "DOCUMENT_OPTIMIZE_UNSUPPORTED_INPUT"
  • "DOCUMENT_OPTIMIZE_VALIDATION"
  • "DOCUMENT_SPLIT_VALIDATION"
  • "DOCUMENT_THUMBS_INVALID_INPUT"
  • "DOCUMENT_THUMBS_VALIDATION"
  • "DO_NOT_REUSE_ASSEMBLY_IDS"
  • "DROPBOX_IMPORT_ACCESS_DENIED"
  • "DROPBOX_IMPORT_FAILURE"
  • "DROPBOX_IMPORT_NOT_FOUND"
  • "DROPBOX_IMPORT_VALIDATION"
  • "DROPBOX_STORE_COULD_NOT_PARSE_URL"
  • "DROPBOX_STORE_VALIDATION"
  • "FILE_COMPRESS_INVALID_INPUT"
  • "FILE_COMPRESS_VALIDATION"
  • "FILE_DECOMPRESS_INVALID_INPUT"
  • "FILE_DECOMPRESS_PASSWORD_INCORRECT"
  • "FILE_DECOMPRESS_PASSWORD_REQUIRED"
  • "FILE_DECOMPRESS_VALIDATION"
  • "FILE_DOWNLOAD_ERROR"
  • "FILE_FILTER_DECLINED_FILE"
  • "FILE_FILTER_INVALID_OPERATOR"
  • "FILE_FILTER_VALIDATION"
  • "FILE_HASH_VALIDATION"
  • "FILE_META_DATA_ERROR"
  • "FILE_PREVIEW_VALIDATION"
  • "FILE_READ_VALIDATION_ERROR"
  • "FILE_SERVE_NO_RESULT"
  • "FILE_SERVE_VALIDATION"
  • "FILE_VERIFY_INVALID_FILE"
  • "FILE_VERIFY_VALIDATION"
  • "FILE_VIRUSSCAN_DECLINED_FILE"
  • "FILE_VIRUSSCAN_INVALID_INPUT"
  • "FILE_VIRUSSCAN_VALIDATION"
  • "FTP_IMPORT_ACCESS_DENIED"
  • "FTP_IMPORT_FAILURE"
  • "FTP_IMPORT_NOT_FOUND"
  • "FTP_IMPORT_VALIDATION"
  • "FTP_STORE_VALIDATION"
  • "GET_ACCOUNT_DB_ERROR"
  • "GET_ACCOUNT_UNKNOWN_AUTH_KEY"
  • "GOOGLE_IMPORT_ACCESS_DENIED"
  • "GOOGLE_IMPORT_FAILURE"
  • "GOOGLE_IMPORT_NOT_FOUND"
  • "GOOGLE_IMPORT_VALIDATION"
  • "GOOGLE_STORE_INVALID_INPUT"
  • "GOOGLE_STORE_VALIDATION"
  • "HTML_CONVERT_VALIDATION"
  • "HTTP_IMPORT_ACCESS_DENIED"
  • "HTTP_IMPORT_FAILURE"
  • "HTTP_IMPORT_NOT_FOUND"
  • "HTTP_IMPORT_VALIDATION"
  • "HTTP_REQUEST_FAILURE"
  • "HTTP_REQUEST_VALIDATION"
  • "IMAGE_BGREMOVE_VALIDATION"
  • "IMAGE_COPYRIGHT_DETECT_DECLINED_FILE"
  • "IMAGE_COPYRIGHT_DETECT_VALIDATION"
  • "IMAGE_DESCRIBE_VALIDATION"
  • "IMAGE_ENHANCE_NO_INPUT_FILE"
  • "IMAGE_ENHANCE_VALIDATION"
  • "IMAGE_FACEDETECT_VALIDATION"
  • "IMAGE_GENERATE_VALIDATION"
  • "IMAGE_MERGE_FAILURE"
  • "IMAGE_MERGE_VALIDATION"
  • "IMAGE_OCR_VALIDATION"
  • "IMAGE_OPTIMIZE_VALIDATION"
  • "IMAGE_RESIZE_ERROR"
  • "IMAGE_RESIZE_INVALID_BLUR_REGION"
  • "IMAGE_RESIZE_INVALID_TEXT_OBJECT_VALUE"
  • "IMAGE_RESIZE_INVALID_TEXT_VALUE"
  • "IMAGE_RESIZE_INVALID_WATERMARK_OFFSET"
  • "IMAGE_RESIZE_INVALID_WATERMARK_POSITION"
  • "IMAGE_RESIZE_NO_CLUT_FILE"
  • "IMAGE_RESIZE_NO_INPUT_FILE"
  • "IMAGE_RESIZE_VALIDATION"
  • "IMAGE_UPSCALE_VALIDATION"
  • "IMPORT_FILE_ERROR"
  • "INCOMPLETE_PRICING"
  • "INSUFFICIENT_AUTH_SCOPE"
  • "INTERNAL_COMMAND_ERROR"
  • "INTERNAL_COMMAND_TIMEOUT"
  • "INVALID_ASSEMBLY_STATUS"
  • "INVALID_AUTH_EXPIRES_PARAMETER"
  • "INVALID_AUTH_KEY_PARAMETER"
  • "INVALID_AUTH_MAX_NUMBER_OF_FILES_PARAMETER"
  • "INVALID_AUTH_MAX_SIZE_PARAMETER"
  • "INVALID_AUTH_REFERER_PARAMETER"
  • "INVALID_FILE_META_DATA"
  • "INVALID_FORM_DATA"
  • "INVALID_INPUT_ERROR"
  • "INVALID_PARAMS_FIELD"
  • "INVALID_SIGNATURE"
  • "INVALID_STEP_NAME"
  • "INVALID_TEMPLATE_FIELD"
  • "INVALID_UPLOAD_HANDLE_STEP_NAME"
  • "INVALID_URL_ENCODING"
  • "MAX_NUMBER_OF_FILES_EXCEEDED"
  • "MAX_SIZE_EXCEEDED"
  • "MEGA_IMPORT_ACCESS_DENIED"
  • "MEGA_IMPORT_FAILURE"
  • "MEGA_IMPORT_NOT_FOUND"
  • "MEGA_IMPORT_VALIDATION"
  • "MEGA_STORE_ACCESS_DENIED"
  • "MEGA_STORE_NOT_FOUND"
  • "MEGA_STORE_VALIDATION"
  • "MEGA_STORE_WRONG_REGION"
  • "META_WRITE_VALIDATION"
  • "MINIO_IMPORT_ACCESS_DENIED"
  • "MINIO_IMPORT_FAILURE"
  • "MINIO_IMPORT_NOT_FOUND"
  • "MINIO_IMPORT_VALIDATION"
  • "MINIO_STORE_ACCESS_DENIED"
  • "MINIO_STORE_NOT_FOUND"
  • "MINIO_STORE_VALIDATION"
  • "MINIO_STORE_WRONG_REGION"
  • "NO_AUTH_EXPIRES_PARAMETER"
  • "NO_AUTH_KEY_PARAMETER"
  • "NO_AUTH_PARAMETER"
  • "NO_COUNTRY"
  • "NO_OBJECT_AUTH_PARAMETER"
  • "NO_OBJECT_PARAMS_FIELD"
  • "NO_PARAMS_FIELD"
  • "NO_PRICING"
  • "NO_RESULT_STEP_FOUND"
  • "NO_RPC_RESULT_FROM_IMAGE_RESIZER"
  • "NO_SIGNATURE_FIELD"
  • "NO_TEMPLATE_ID"
  • "PLAN_LIMIT_EXCEEDED"
  • "POSSIBLY_MALICIOUS_FILE_FOUND"
  • "PRIORITY_JOB_SLOTS_NOT_FOUND"
  • "PRIORITY_JOB_SLOT_STATS_ERROR"
  • "PRIORITY_JOB_SLOT_STATS_INVALID_AGGREGATION"
  • "PRIORITY_JOB_SLOT_STATS_INVALID_TIME"
  • "PRIORITY_JOB_SLOT_STATS_MISSING_REGION"
  • "RATE_LIMIT_REACHED"
  • "REFERER_MISMATCH"
  • "REQUEST_PREMATURE_CLOSED"
  • "ROBOT_VALIDATION_BASE_ERROR"
  • "S3_ACCESS_DENIED"
  • "S3_IMPORT_ACCESS_DENIED"
  • "S3_IMPORT_FAILURE"
  • "S3_IMPORT_NOT_FOUND"
  • "S3_IMPORT_VALIDATION"
  • "S3_NOT_FOUND"
  • "S3_STORE_ACCESS_DENIED"
  • "S3_STORE_FAILURE"
  • "S3_STORE_NOT_FOUND"
  • "S3_STORE_URL_VERIFICATION_FAILURE"
  • "S3_STORE_VALIDATION"
  • "S3_STORE_WRONG_REGION"
  • "S3_WRONG_REGION"
  • "SCRIPT_RUN_VALIDATION"
  • "SERVER_403"
  • "SERVER_404"
  • "SERVER_500"
  • "SFTP_IMPORT_ACCESS_DENIED"
  • "SFTP_IMPORT_FAILURE"
  • "SFTP_IMPORT_NOT_FOUND"
  • "SFTP_IMPORT_VALIDATION"
  • "SFTP_STORE_VALIDATION"
  • "SIGNATURE_REUSE_DETECTED"
  • "SPEECH_TRANSCRIBE_VALIDATION"
  • "STORAGE_GRANT_NOT_CREATED"
  • "SUPABASE_IMPORT_ACCESS_DENIED"
  • "SUPABASE_IMPORT_FAILURE"
  • "SUPABASE_IMPORT_NOT_FOUND"
  • "SUPABASE_IMPORT_VALIDATION"
  • "SUPABASE_STORE_ACCESS_DENIED"
  • "SUPABASE_STORE_NOT_FOUND"
  • "SUPABASE_STORE_VALIDATION"
  • "SUPABASE_STORE_WRONG_REGION"
  • "SWIFT_IMPORT_ACCESS_DENIED"
  • "SWIFT_IMPORT_FAILURE"
  • "SWIFT_IMPORT_NOT_FOUND"
  • "SWIFT_IMPORT_VALIDATION"
  • "SWIFT_STORE_ACCESS_DENIED"
  • "SWIFT_STORE_NOT_FOUND"
  • "SWIFT_STORE_VALIDATION"
  • "SWIFT_STORE_WRONG_REGION"
  • "TEMPLATE_CREDENTIALS_INJECTION_ERROR"
  • "TEMPLATE_DB_ERROR"
  • "TEMPLATE_DENIES_STEPS_OVERRIDE"
  • "TEMPLATE_INVALID_JSON"
  • "TEMPLATE_NOT_FOUND"
  • "TEXT_SPEAK_VALIDATION"
  • "TEXT_TRANSLATE_VALIDATION"
  • "TIGRIS_IMPORT_ACCESS_DENIED"
  • "TIGRIS_IMPORT_FAILURE"
  • "TIGRIS_IMPORT_NOT_FOUND"
  • "TIGRIS_IMPORT_VALIDATION"
  • "TIGRIS_STORE_ACCESS_DENIED"
  • "TIGRIS_STORE_NOT_FOUND"
  • "TIGRIS_STORE_VALIDATION"
  • "TIGRIS_STORE_WRONG_REGION"
  • "TMP_FILE_DOWNLOAD_ERROR"
  • "TOKEN_INVALID_CREDENTIALS"
  • "TRANSIENT_STORAGE_SERVICE_ERROR"
  • "TRANSLOADIT_IMPORT_ACCESS_DENIED"
  • "TRANSLOADIT_IMPORT_FAILURE"
  • "TRANSLOADIT_IMPORT_NOT_FOUND"
  • "TRANSLOADIT_IMPORT_VALIDATION"
  • "TRANSLOADIT_STORE_CONFLICT"
  • "TRANSLOADIT_STORE_FAILURE"
  • "TRANSLOADIT_STORE_UNAVAILABLE"
  • "TRANSLOADIT_STORE_VALIDATION"
  • "TUS_STORE_VALIDATION"
  • "USER_COMMAND_ERROR"
  • "VERIFIED_EMAIL_REQUIRED"
  • "VIDEO_ADAPTIVE_VALIDATION"
  • "VIDEO_ARTWORK_VALIDATION"
  • "VIDEO_CONCAT_INVALID_INPUT"
  • "VIDEO_CONCAT_NO_OUTPUT"
  • "VIDEO_CONCAT_VALIDATION"
  • "VIDEO_ENCODE_INVALID_VIDEO_CODEC"
  • "VIDEO_ENCODE_INVALID_WATERMARK_POSITION"
  • "VIDEO_ENCODE_VALIDATION"
  • "VIDEO_GENERATE_VALIDATION"
  • "VIDEO_MERGE_NO_IMAGE_FOUND"
  • "VIDEO_MERGE_VALIDATION"
  • "VIDEO_ONDEMAND_NOT_FOUND"
  • "VIDEO_ONDEMAND_VALIDATION"
  • "VIDEO_SPLIT_NO_OUTPUT"
  • "VIDEO_SPLIT_VALIDATION"
  • "VIDEO_SUBTITLE_VALIDATION"
  • "VIDEO_THUMBS_INVALID_COUNT_VALUE"
  • "VIDEO_THUMBS_INVALID_FORMAT"
  • "VIDEO_THUMBS_INVALID_INPUT"
  • "VIDEO_THUMBS_VALIDATION"
  • "VIMEO_IMPORT_ACCESS_DENIED"
  • "VIMEO_IMPORT_FAILURE"
  • "VIMEO_IMPORT_NOT_FOUND"
  • "VIMEO_IMPORT_VALIDATION"
  • "VIMEO_STORE_ACCESS_DENIED"
  • "VIMEO_STORE_PROBLEM_SENDING_FILE"
  • "VIMEO_STORE_VALIDATION"
  • "WASABI_IMPORT_ACCESS_DENIED"
  • "WASABI_IMPORT_FAILURE"
  • "WASABI_IMPORT_NOT_FOUND"
  • "WASABI_IMPORT_VALIDATION"
  • "WASABI_STORE_ACCESS_DENIED"
  • "WASABI_STORE_NOT_FOUND"
  • "WASABI_STORE_VALIDATION"
  • "WASABI_STORE_WRONG_REGION"
  • "WORKER_JOB_ERROR"
  • "YOUTUBE_STORE_PROBLEM_SENDING_FILE"
  • "YOUTUBE_STORE_VALIDATION"
http_code
number

HTTP status associated with the error. This field does not change the already-open stream’s HTTP status.

message
string

A human-readable message explaining the state of this Assembly. This is not always present.

previousStep
string

Name of the preceding Step associated with the error, when available.

reason
null | string | number | boolean | Array<any value> | object

Optional diagnostic details. Do not assume this value is a string or display it directly; use message for human-readable text. Diagnostic details may vary; use the error code for programmatic error handling.

Any of the following schemas may apply:

null
string
number
boolean
Array<any value>
Array<any value>
Array item schema
any value
object
object
Additional property schema
any value
step
string

Name of the Step associated with the error, when available.

assembly_execution_progress

Named event with a JSON payload in its data field.

Event payload
Complete JSON Schema

Open JSON in a new tab

Fields beyond those listed for this object are accepted.

FieldType and description
progress_combined

required

number | null

Estimated overall progress as a percentage. Null means that overall progress cannot be estimated.

progress_per_original_file

required

Array<object>

Progress estimates for original input files. Imported files without an original ID are not included.

Array item schema
object

progress_per_original_file[]: Fields beyond those listed for this object are accepted.

FieldType and description
progress_per_original_file[].original_id

required

string

ID of the original input file to which this progress estimate belongs.

progress_per_original_file[].progress

required

number

Estimated processing progress for this original file as a percentage.

assembly_finished

Message whose data field contains this name as plain text, without an event field. The server closes the stream after this notification. Fetch the final resource status to determine the outcome.

ping

Message whose data field contains this name as plain text, without an event field.

assembly_result_finished

Named event with a JSON payload in its data field.

Event payload
Complete JSON Schema

Open JSON in a new tab

[string, object] (minimum items: 2, maximum items: 2)
Tuple item 1
string
Tuple item 2

[1]: Fields beyond those listed for this object are accepted.

FieldType and description
[1].as
string | Array<string> | null

Any of the following schemas may apply:

string
Array<string>
Array<string>
Array item schema
string
null
[1].asset_id
string

Stable identity of a file stored by /transloadit/store. Retain this with its Workspace and version_id; the ordinary file id is not a Storage asset ID.

[1].asset_version
number

Numeric revision of the stored asset. Use version_id, not this number, to select exact retained bytes.

[1].basename
null | string

The name of the file without the extension.

[1].cost
number | null
[1].duration
number | null
[1].duration_human
null | string
[1].execTime
number | null
[1].exec_time
number | null
[1].ext
null | string

The extension of the file. May be null when an extension has not been determined, or an empty string for a name without an extension.

[1].field
null | string

The name of the form field used to submit this file.

[1].filepath
null | string
[1].forcedFileExt
string
[1].from_batch_import
boolean
[1].has_alpha
boolean

Whether this stored image version has an alpha channel, when known.

[1].height
number | null
[1].hls_url
string
[1].id
string

A random and unique ID used internally by Transloadit to track the file.

[1].import_url
string
[1].ios_url
string
[1].is_temp_url
boolean
[1].is_tus_file
boolean
[1].md5hash
null | string
[1].meta
object | null

An object containing additional metadata extracted from the file, as shown below. Repeated date tags can be returned as lists of their original values. Check the value’s type before using it as a single timestamp.

Any of the following schemas may apply:

object
object

[1].meta: Fields beyond those listed for this object are accepted.

FieldType and description
[1].meta.album
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.aperture
number | null

The aperture setting for this image, such as 5.7.

[1].meta.archive_directory
null | string
[1].meta.artist
string | number | null

Many applications that produce audio write additional information into the audio file such as artist, year, album, genre.

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.aspect_ratio
number | string | null

The aspect ratio of the image, which is its width divided by its height. Will be 0 if for some reason the image height is 0.

[1].meta.audio_bitrate
number | null

The audio bit rate in bits per second across all channels, such as 128000.

[1].meta.audio_channel_layout
null | string
[1].meta.audio_channels
number | null

The number of audio channels, typically 2 for stereo.

[1].meta.audio_codec
null | string

The audio codec, such as "faad". See the supported audio codecs.

[1].meta.audio_profile
null | string
[1].meta.audio_sample_format
null | string
[1].meta.audio_samplerate
number | null

The audio sample rate in hertz, such as 44100.

[1].meta.author
string | number | null

The author that took the image. Some cameras populate this field as opposed to creator.

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.average_color
null | string

Not to be confused with dominant color, that counts a single most occurring pixel color and has limited use cases. The average color is calculated by first scaling the input image to 1 pixel.

[1].meta.band
null | string
[1].meta.bandwidth
number | null
[1].meta.beats_per_minute
number | null
[1].meta.bit_depth
number | null
[1].meta.character_count
number | null
[1].meta.character_count_with_spaces
number | null
[1].meta.city
null | string

The city in which this image was taken, such as "Berlin".

[1].meta.closed_captions
boolean | null
[1].meta.cmd
string | Array<string | number>

Additional schema details are available in the complete JSON Schema.

[1].meta.codecs
null | string
[1].meta.colorprimaries
null | string
[1].meta.colorspace
null | string

The detected media colorspace, such as "sRGB" or "Gray". Video colorspace is available when detected while metadata extraction is enabled; it does not require output_meta.colorspace: true. Setting output_meta: false disables metadata extraction.

[1].meta.colortransfer
null | string
[1].meta.comment
null | string
[1].meta.copyright
string | number | object | null

The copyright metadata field.

Additional schema details are available in the complete JSON Schema.

[1].meta.copyright_notice
string | number | null

The copyright notice metadata field.

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.country
null | string

The country in which this image was taken, such as "Germany".

[1].meta.country_code
null | string

The country code of the country in which this image was taken, such as "de".

[1].meta.create_date
string | number | Array<string | number> | null

Additional schema details are available in the complete JSON Schema.

[1].meta.creator
string | number | Array<string> | null

The creator that took the image.

Additional schema details are available in the complete JSON Schema.

[1].meta.date_file_created
string | number | Array<string | number> | null

The creation timestamp reported by the media metadata, when available.

Additional schema details are available in the complete JSON Schema.

[1].meta.date_file_modified
string | number | Array<string | number> | null

The modification timestamp reported by the file-system or embedded media metadata.

Additional schema details are available in the complete JSON Schema.

[1].meta.date_recorded
string | number | Array<string | number> | null

The date and time at which the media was recorded. A single valid string timestamp is normalized to YYYY/MM/DD HH:MM:SS. When a time zone is present, it is converted to UTC/GMT and ends in GMT. Unparseable string timestamps become null. Numeric timestamps and repeated date-tag lists keep their original values.

Additional schema details are available in the complete JSON Schema.

[1].meta.description
string | number | null

A description of this image, such as "This tree is very old.".

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.descriptions
Array<string | object>

Additional schema details are available in the complete JSON Schema.

[1].meta.device_name
string | number | null

The name of the device that recorded the media, such as "iPhone 3GS".

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.device_software
string | number | null

The software version of the device that recorded the media, such as "3.1.2".

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.device_vendor
null | string

The manufacturer of the device that recorded the media, such as "Apple".

[1].meta.disc
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.dominant_colors
Array<string> | null

Returns an array of up to 10 dominant image colors as hexadecimal values. Omit output_meta.dominant_colors to skip this extraction. Supplying the property, including false, requests extraction and can incur additional usage charges when colors are returned. Setting output_meta itself to false disables additional metadata extraction; basic file type and size checks can still run.

Additional schema details are available in the complete JSON Schema.

[1].meta.duration
number | null

The length of the audio file in seconds.

[1].meta.encoder
null | string
[1].meta.encoding_level
null | string
[1].meta.encoding_profile
null | string
[1].meta.ends_at
null | string
[1].meta.exitCode
number | null
[1].meta.exitSignal
null | string
[1].meta.exposure_compensation
number | string | null

The exposure compensation for this image, such as "+4/3".

Any of the following schemas may apply:

number | string
number | string
null
[1].meta.exposure_mode
null | string

The exposure mode for this image, such as "Auto".

[1].meta.exposure_time
number | string | null

The exposure time for this image, such as "1/30".

Any of the following schemas may apply:

number | string
number | string
null
[1].meta.f_number
number | null

The f-number for this image, such as 5.6.

[1].meta.faces
Array<object> | null

Additional schema details are available in the complete JSON Schema.

[1].meta.field_order
null | string

The field order reported by FFprobe, such as "tt", "bb", "tb", "bt", or "progressive". Set output_meta.interlaced to true to request the detection that populates this diagnostic field. This key may be present as null when detection was not requested or the field order was unavailable. Use interlaced for simple interlaced/progressive branching.

[1].meta.flash
null | string

The flash settings for this image, such as "Off, Did not fire".

[1].meta.focal_length
null | string

The focal length for this image, such as "55.0 mm".

[1].meta.frame_count
number | null

The number of frames in an animated GIF file. This is 1 by default for all other image types.

[1].meta.framerate
number | null

The frame rate of the video, such as 29.5.

[1].meta.genre
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.has_alpha
boolean

Whether the original image has an alpha channel, including fully opaque alpha-channel images. Returned together with thumbhash; absence means unknown.

[1].meta.has_alpha_channel
boolean | null
[1].meta.has_artwork
boolean | null
[1].meta.has_clipping_path
boolean

Is true if the image contains a clipping path, false otherwise.

[1].meta.has_transparency
boolean | null

Whether the image has transparent areas. Set output_meta.has_transparency to true to request transparency inspection. Known-false values, such as false for JPEG images, can be returned even when this option is omitted or false. Setting output_meta itself to false skips additional metadata extraction; basic file type and size checks can still run.

[1].meta.height
number | null

The height of the media in pixels.

[1].meta.interlace_detection
object | null

Diagnostic details from Transloadit’s interlace detector. This object can include sampled_frames, tff, bff, progressive, undetermined, confidence, method, and ffprobe_field_order. Set output_meta.interlaced to true to request detection. This key may be present as null when detection was not requested; check for a non-null object before reading its properties.

Additional schema details are available in the complete JSON Schema.

[1].meta.interlaced
boolean | null

Whether the video appears to use interlaced scanning: true for interlaced videos or false for progressive videos. Set output_meta.interlaced to true to request detection. This key may be present as null when detection was not requested or when requested detection was inconclusive. Field presence alone does not show that detection ran.

[1].meta.iso
number | null

The ISO value for this image, such as 800.

[1].meta.keywords
string | number | Array<string | number | boolean> | null

Keywords extracted from the file’s metadata: a string, a finite number, or an array whose entries can be strings, finite numbers, or booleans. For example, ["tree", "nature"]. The field may be absent or null. Check its type before iterating; array entries are not necessarily strings.

Additional schema details are available in the complete JSON Schema.

[1].meta.latitude
number | null

The latitude at which the media was recorded, such as 52.5374.

[1].meta.light_value
number | null

The light value for this image, such as 6.9.

[1].meta.line_count
number | null
[1].meta.location
null | string

The location at which this image was taken, which is usually the street, such as "Zingster Str. 32".

[1].meta.longitude
number | null

The longitude at which the media was recorded, such as 13.4034.

[1].meta.lyrics
null | string
[1].meta.mean_volume
number | null

The mean volume of the audio file. Set output_meta.mean_volume to true to request measurement. This key may be present as null when measurement was not requested or the value was unavailable. Field presence alone does not show that measurement ran.

[1].meta.metering_mode
null | string

The metering mode for this image, such as "Multi-segment".

[1].meta.modify_date
string | number | Array<string | number> | null

Additional schema details are available in the complete JSON Schema.

[1].meta.num_audio_streams
number | null
[1].meta.num_subtitles
number | null
[1].meta.num_video_streams
number | null
[1].meta.orientation
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.overall_bitrate
number | null
[1].meta.page_count
number | null
[1].meta.page_size
null | string
[1].meta.paragraph_count
number | null
[1].meta.performer
null | string
[1].meta.pixel_format
null | string
[1].meta.previousStep
string
[1].meta.producer
null | string
[1].meta.reason
string
[1].meta.recognized_text
Array<string> | Array<object>

Additional schema details are available in the complete JSON Schema.

[1].meta.reference_count
number | null
[1].meta.relative_path
null | string
[1].meta.resolution
null | string
[1].meta.rights
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.rotation
number | null
[1].meta.seekable
boolean | null

Whether the format of the video supports seeking, such as true.

[1].meta.segment_index
number | null
[1].meta.shutter_speed
number | string | null

The shutter speed for this image, such as "1/32".

Any of the following schemas may apply:

number | string
number | string
null
[1].meta.starts_at
null | string
[1].meta.state
string | number | null

The state in which this image was taken, such as "Berlin".

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.stderr
string
[1].meta.stdout
string
[1].meta.step
string
[1].meta.storage_url
string
[1].meta.streams
object | null

Additional schema details are available in the complete JSON Schema.

[1].meta.svgViewBoxHeight
number | null
[1].meta.svgViewBoxWidth
number | null
[1].meta.thumb_index
number | null

The index of the current thumbnail starting at 0. This key is only present for results of 🤖/video/thumbs.

[1].meta.thumb_offset
number | string | null

The offset for the current thumbnail, in seconds. This key is only present for results of 🤖/video/thumbs.

  • number
  • string
    Validation pattern (regular expression)^[\x09-\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[+-]?[0-9]+
  • null
[1].meta.thumbhash
string

Base64-encoded ThumbHash of the EXIF-oriented image. Request output_meta.thumbhash on the producing Step. Omitted when not requested, unsupported, over 40 megapixels, or extraction fails. Treat the hash as private image data when the original is private.

Validation pattern (regular expression)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$
[1].meta.time_base
null | string
[1].meta.title
string | number | null

The title of this image, such as "Tree".

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.track
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.turbo
boolean | null
[1].meta.version_id
string
[1].meta.video_bitrate
number | null

The video bit rate of the video, such as 500000.

[1].meta.video_codec
null | string

The video codec of the video, such as "ffh264".

[1].meta.white_balance
null | string

The white balance setting for this image, such as "Manual".

[1].meta.width
number | null

The width of the media in pixels. For video whose display ratio differs from its pixel ratio, this is the intended display width.

[1].meta.word_count
number | null
[1].meta.xp_comment
null | string
[1].meta.xp_keywords
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.xp_subject
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.xp_title
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
[1].meta.year
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
null
[1].mime
null | string

The determined MIME type for this file.

[1].name
null | string

The name of the file. Transloadit will change the extension used for this field if the file undergoes processing into a different format.

[1].original_basename
null | string
[1].original_id
string | Array<null | string>

The unique ID of the original upload file from which this file was generated. This is useful to determine which file of a multi-file upload was used to generate a given file, after several Steps of processing.

Any of the following schemas may apply:

string
Array<null | string>
Array<null | string>
Array item schema
null | string
[1].original_md5hash
null | string
[1].original_name
null | string
[1].original_path
null | string
[1].path
null | string
[1].playlists
Array<object>
Array item schema
object

[1].playlists[]: Fields beyond those listed for this object are accepted.

FieldType and description
[1].playlists[].content
string
[1].playlists[].meta
object

Additional schema details are available in the complete JSON Schema.

[1].playlists[].name
string | number
[1].playlists[].relative_path
string
[1].playlists[].stream
string
[1].preview
null | string
[1].queue
null | string
[1].queueTime
number | null
[1].queue_time
number | null
[1].remote_path
string
[1].sha256
string

Lowercase SHA-256 checksum of the stored bytes, when available.

Validation pattern (regular expression)^[a-f0-9]{64}$
[1].signed_ssl_url
string
[1].signed_url
string
[1].size
number | null

The size of the file, in bytes.

[1].size_human
null | string
[1].ssl_url
null | string
[1].streaming_url
string
[1].thumbhash
string

Base64-encoded ThumbHash retained with this stored image version, when available. Protect this image data with the same access controls as the original.

Validation pattern (regular expression)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$
[1].tus_upload_url
null | string
[1].type
null | string

An abstract category describing the file. Known values are "audio", "document", "image", "office", "pdf", "swf", "video", "xls", or null when no category was detected. Consumers should accept other strings so future categories remain compatible.

[1].url
null | string

A URL from which the file can be downloaded, or null when no delivery URL is available. Temporary URLs on our servers expire after a few hours; export files to storage for later use. Private-storage results from /transloadit/store return null for both url and ssl_url. Keep the returned Workspace, asset_id, and version_id for a durable reference, subject to access and retention. /transloadit/import accepts asset_id with an optional version_id, or a mutable path. Neither a temporary URL nor the processing file’s id is a durable Storage reference.

[1].user_meta
object | null

Any of the following schemas may apply:

object
object
Additional property schema
any value
null
[1].version_id
string

Immutable version ID returned after Storage finalizes the result. Import with asset_id and this version_id to retain the same bytes after a move or overwrite, subject to retention and access.

Validation pattern (regular expression)^[A-Za-z0-9_-]{21}[AQgw]$
[1].vimeo
object

[1].vimeo: Fields beyond those listed for this object are accepted.

[1].vimeo.title

required

string
[1].vimeo.uri

required

string
[1].width
number | null
[1].workspace
string (minimum length: 1)

Workspace slug that owns this stored result. Authenticate for this Workspace when importing or managing it.

assembly_upload_finished

Named event with a JSON payload in its data field.

Event payload
Complete JSON Schema

Open JSON in a new tab

Fields beyond those listed for this object are accepted.

FieldType and description
as
string | Array<string> | null

Any of the following schemas may apply:

string
Array<string>
Array<string>
Array item schema
string
null
asset_id
string

Stable identity of a file stored by /transloadit/store. Retain this with its Workspace and version_id; the ordinary file id is not a Storage asset ID.

asset_version
number

Numeric revision of the stored asset. Use version_id, not this number, to select exact retained bytes.

basename

required

null | string

The name of the file without the extension.

cost
number | null
exec_time
number
ext

required

null | string

The extension of the file. May be null when an extension has not been determined, or an empty string for a name without an extension.

field

required

null | string

The name of the form field used to submit this file.

from_batch_import
boolean
has_alpha
boolean

Whether this stored image version has an alpha channel, when known.

id

required

string

A random and unique ID used internally by Transloadit to track the file.

import_url
string
is_temp_url
boolean
is_tus_file
boolean
md5hash
null | string
meta

required

object

An object containing additional metadata extracted from the file, as shown below. Repeated date tags can be returned as lists of their original values. Check the value’s type before using it as a single timestamp.

meta: Fields beyond those listed for this object are accepted.

meta.album
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.aperture
number | null

The aperture setting for this image, such as 5.7.

meta.archive_directory
null | string
meta.artist
string | number | null

Many applications that produce audio write additional information into the audio file such as artist, year, album, genre.

Any of the following schemas may apply:

string | number
string | number
null
meta.aspect_ratio
number | string | null

The aspect ratio of the image, which is its width divided by its height. Will be 0 if for some reason the image height is 0.

meta.audio_bitrate
number | null

The audio bit rate in bits per second across all channels, such as 128000.

meta.audio_channel_layout
null | string
meta.audio_channels
number | null

The number of audio channels, typically 2 for stereo.

meta.audio_codec
null | string

The audio codec, such as "faad". See the supported audio codecs.

meta.audio_profile
null | string
meta.audio_sample_format
null | string
meta.audio_samplerate
number | null

The audio sample rate in hertz, such as 44100.

meta.author
string | number | null

The author that took the image. Some cameras populate this field as opposed to creator.

Any of the following schemas may apply:

string | number
string | number
null
meta.average_color
null | string

Not to be confused with dominant color, that counts a single most occurring pixel color and has limited use cases. The average color is calculated by first scaling the input image to 1 pixel.

meta.band
null | string
meta.bandwidth
number | null
meta.beats_per_minute
number | null
meta.bit_depth
number | null
meta.character_count
number | null
meta.character_count_with_spaces
number | null
meta.city
null | string

The city in which this image was taken, such as "Berlin".

meta.closed_captions
boolean | null
meta.cmd
string | Array<string | number>

Additional schema details are available in the complete JSON Schema.

meta.codecs
null | string
meta.colorprimaries
null | string
meta.colorspace
null | string

The detected media colorspace, such as "sRGB" or "Gray". Video colorspace is available when detected while metadata extraction is enabled; it does not require output_meta.colorspace: true. Setting output_meta: false disables metadata extraction.

meta.colortransfer
null | string
meta.comment
null | string
meta.copyright
string | number | object | null

The copyright metadata field.

Additional schema details are available in the complete JSON Schema.

meta.copyright_notice
string | number | null

The copyright notice metadata field.

Any of the following schemas may apply:

string | number
string | number
null
meta.country
null | string

The country in which this image was taken, such as "Germany".

meta.country_code
null | string

The country code of the country in which this image was taken, such as "de".

meta.create_date
string | number | Array<string | number> | null

Additional schema details are available in the complete JSON Schema.

meta.creator
string | number | Array<string> | null

The creator that took the image.

Additional schema details are available in the complete JSON Schema.

meta.date_file_created
string | number | Array<string | number> | null

The creation timestamp reported by the media metadata, when available.

Additional schema details are available in the complete JSON Schema.

meta.date_file_modified
string | number | Array<string | number> | null

The modification timestamp reported by the file-system or embedded media metadata.

Additional schema details are available in the complete JSON Schema.

meta.date_recorded
string | number | Array<string | number> | null

The date and time at which the media was recorded. A single valid string timestamp is normalized to YYYY/MM/DD HH:MM:SS. When a time zone is present, it is converted to UTC/GMT and ends in GMT. Unparseable string timestamps become null. Numeric timestamps and repeated date-tag lists keep their original values.

Additional schema details are available in the complete JSON Schema.

meta.description
string | number | null

A description of this image, such as "This tree is very old.".

Any of the following schemas may apply:

string | number
string | number
null
meta.descriptions
Array<string | object>

Additional schema details are available in the complete JSON Schema.

meta.device_name
string | number | null

The name of the device that recorded the media, such as "iPhone 3GS".

Any of the following schemas may apply:

string | number
string | number
null
meta.device_software
string | number | null

The software version of the device that recorded the media, such as "3.1.2".

Any of the following schemas may apply:

string | number
string | number
null
meta.device_vendor
null | string

The manufacturer of the device that recorded the media, such as "Apple".

meta.disc
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.dominant_colors
Array<string> | null

Returns an array of up to 10 dominant image colors as hexadecimal values. Omit output_meta.dominant_colors to skip this extraction. Supplying the property, including false, requests extraction and can incur additional usage charges when colors are returned. Setting output_meta itself to false disables additional metadata extraction; basic file type and size checks can still run.

Additional schema details are available in the complete JSON Schema.

meta.duration
number | null

The length of the audio file in seconds.

meta.encoder
null | string
meta.encoding_level
null | string
meta.encoding_profile
null | string
meta.ends_at
null | string
meta.exitCode
number | null
meta.exitSignal
null | string
meta.exposure_compensation
number | string | null

The exposure compensation for this image, such as "+4/3".

Any of the following schemas may apply:

number | string
number | string
null
meta.exposure_mode
null | string

The exposure mode for this image, such as "Auto".

meta.exposure_time
number | string | null

The exposure time for this image, such as "1/30".

Any of the following schemas may apply:

number | string
number | string
null
meta.f_number
number | null

The f-number for this image, such as 5.6.

meta.faces
Array<object> | null

Additional schema details are available in the complete JSON Schema.

meta.field_order
null | string

The field order reported by FFprobe, such as "tt", "bb", "tb", "bt", or "progressive". Set output_meta.interlaced to true to request the detection that populates this diagnostic field. This key may be present as null when detection was not requested or the field order was unavailable. Use interlaced for simple interlaced/progressive branching.

meta.flash
null | string

The flash settings for this image, such as "Off, Did not fire".

meta.focal_length
null | string

The focal length for this image, such as "55.0 mm".

meta.frame_count
number | null

The number of frames in an animated GIF file. This is 1 by default for all other image types.

meta.framerate
number | null

The frame rate of the video, such as 29.5.

meta.genre
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.has_alpha
boolean

Whether the original image has an alpha channel, including fully opaque alpha-channel images. Returned together with thumbhash; absence means unknown.

meta.has_alpha_channel
boolean | null
meta.has_artwork
boolean | null
meta.has_clipping_path
boolean

Is true if the image contains a clipping path, false otherwise.

meta.has_transparency
boolean | null

Whether the image has transparent areas. Set output_meta.has_transparency to true to request transparency inspection. Known-false values, such as false for JPEG images, can be returned even when this option is omitted or false. Setting output_meta itself to false skips additional metadata extraction; basic file type and size checks can still run.

meta.height
number | null

The height of the media in pixels.

meta.interlace_detection
object | null

Diagnostic details from Transloadit’s interlace detector. This object can include sampled_frames, tff, bff, progressive, undetermined, confidence, method, and ffprobe_field_order. Set output_meta.interlaced to true to request detection. This key may be present as null when detection was not requested; check for a non-null object before reading its properties.

Additional schema details are available in the complete JSON Schema.

meta.interlaced
boolean | null

Whether the video appears to use interlaced scanning: true for interlaced videos or false for progressive videos. Set output_meta.interlaced to true to request detection. This key may be present as null when detection was not requested or when requested detection was inconclusive. Field presence alone does not show that detection ran.

meta.iso
number | null

The ISO value for this image, such as 800.

meta.keywords
string | number | Array<string | number | boolean> | null

Keywords extracted from the file’s metadata: a string, a finite number, or an array whose entries can be strings, finite numbers, or booleans. For example, ["tree", "nature"]. The field may be absent or null. Check its type before iterating; array entries are not necessarily strings.

Additional schema details are available in the complete JSON Schema.

meta.latitude
number | null

The latitude at which the media was recorded, such as 52.5374.

meta.light_value
number | null

The light value for this image, such as 6.9.

meta.line_count
number | null
meta.location
null | string

The location at which this image was taken, which is usually the street, such as "Zingster Str. 32".

meta.longitude
number | null

The longitude at which the media was recorded, such as 13.4034.

meta.lyrics
null | string
meta.mean_volume
number | null

The mean volume of the audio file. Set output_meta.mean_volume to true to request measurement. This key may be present as null when measurement was not requested or the value was unavailable. Field presence alone does not show that measurement ran.

meta.metering_mode
null | string

The metering mode for this image, such as "Multi-segment".

meta.modify_date
string | number | Array<string | number> | null

Additional schema details are available in the complete JSON Schema.

meta.num_audio_streams
number | null
meta.num_subtitles
number | null
meta.num_video_streams
number | null
meta.orientation
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.overall_bitrate
number | null
meta.page_count
number | null
meta.page_size
null | string
meta.paragraph_count
number | null
meta.performer
null | string
meta.pixel_format
null | string
meta.previousStep
string
meta.producer
null | string
meta.reason
string
meta.recognized_text
Array<string> | Array<object>

Additional schema details are available in the complete JSON Schema.

meta.reference_count
number | null
meta.relative_path
null | string
meta.resolution
null | string
meta.rights
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.rotation
number | null
meta.seekable
boolean | null

Whether the format of the video supports seeking, such as true.

meta.segment_index
number | null
meta.shutter_speed
number | string | null

The shutter speed for this image, such as "1/32".

Any of the following schemas may apply:

number | string
number | string
null
meta.starts_at
null | string
meta.state
string | number | null

The state in which this image was taken, such as "Berlin".

Any of the following schemas may apply:

string | number
string | number
null
meta.stderr
string
meta.stdout
string
meta.step
string
meta.storage_url
string
meta.streams
object | null

Additional schema details are available in the complete JSON Schema.

meta.svgViewBoxHeight
number | null
meta.svgViewBoxWidth
number | null
meta.thumb_index
number | null

The index of the current thumbnail starting at 0. This key is only present for results of 🤖/video/thumbs.

meta.thumb_offset
number | string | null

The offset for the current thumbnail, in seconds. This key is only present for results of 🤖/video/thumbs.

  • number
  • string
    Validation pattern (regular expression)^[\x09-\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[+-]?[0-9]+
  • null
meta.thumbhash
string

Base64-encoded ThumbHash of the EXIF-oriented image. Request output_meta.thumbhash on the producing Step. Omitted when not requested, unsupported, over 40 megapixels, or extraction fails. Treat the hash as private image data when the original is private.

Validation pattern (regular expression)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$
meta.time_base
null | string
meta.title
string | number | null

The title of this image, such as "Tree".

Any of the following schemas may apply:

string | number
string | number
null
meta.track
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.turbo
boolean | null
meta.version_id
string
meta.video_bitrate
number | null

The video bit rate of the video, such as 500000.

meta.video_codec
null | string

The video codec of the video, such as "ffh264".

meta.white_balance
null | string

The white balance setting for this image, such as "Manual".

meta.width
number | null

The width of the media in pixels. For video whose display ratio differs from its pixel ratio, this is the intended display width.

meta.word_count
number | null
meta.xp_comment
null | string
meta.xp_keywords
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.xp_subject
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.xp_title
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
meta.year
string | number | null

Any of the following schemas may apply:

string | number
string | number
null
mime

required

null | string

The determined MIME type for this file.

name

required

null | string

The name of the file. Transloadit will change the extension used for this field if the file undergoes processing into a different format.

original_basename
null | string
original_id

required

string | Array<null | string>

The unique ID of the original upload file from which this file was generated. This is useful to determine which file of a multi-file upload was used to generate a given file, after several Steps of processing.

Any of the following schemas may apply:

string
Array<null | string>
Array<null | string>
Array item schema
null | string
original_md5hash
null | string
original_name
null | string
original_path
string
queue
null | string
queue_time
number
sha256
string

Lowercase SHA-256 checksum of the stored bytes, when available.

Validation pattern (regular expression)^[a-f0-9]{64}$
size

required

number

The size of the file, in bytes.

ssl_url
null | string
thumbhash
string

Base64-encoded ThumbHash retained with this stored image version, when available. Protect this image data with the same access controls as the original.

Validation pattern (regular expression)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$
tus_upload_url
null | string
type

required

null | string

An abstract category describing the file. Known values are "audio", "document", "image", "office", "pdf", "swf", "video", "xls", or null when no category was detected. Consumers should accept other strings so future categories remain compatible.

url

required

null | string

A URL from which the file can be downloaded, or null when no delivery URL is available. Temporary URLs on our servers expire after a few hours; export files to storage for later use. Private-storage results from /transloadit/store return null for both url and ssl_url. Keep the returned Workspace, asset_id, and version_id for a durable reference, subject to access and retention. /transloadit/import accepts asset_id with an optional version_id, or a mutable path. Neither a temporary URL nor the processing file’s id is a durable Storage reference.

user_meta
object
Additional property schema
any value
version_id
string

Immutable version ID returned after Storage finalizes the result. Import with asset_id and this version_id to retain the same bytes after a move or overwrite, subject to retention and access.

Validation pattern (regular expression)^[A-Za-z0-9_-]{21}[AQgw]$
workspace
string (minimum length: 1)

Workspace slug that owns this stored result. Authenticate for this Workspace when importing or managing it.

assembly_upload_meta_data_extracted

Message whose data field contains this name as plain text, without an event field.

assembly_uploading_finished

Message whose data field contains this name as plain text, without an event field.

HTTP 404, 503

No response body.

Error response

JSON response body. application/json text/plain; charset=utf-8

Response body schema
Complete JSON Schema

Open JSON in a new tab

At least one of these properties is required: error, message, reason

The response may contain additional fields.

FieldType and description
assembly_id
string
error
string (minimum length: 1)
http_code
number | string
  • number
  • string
    Validation pattern (regular expression)^[\x09-\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]*[+-]?0*(?:0(?:[^0-9]|$)|(?:[1-9][0-9]{0,307}|1(?:(?:[0-6][0-9]{7}|7[0-8][0-9]{6}|79[0-6][0-9]{5}|797[0-5][0-9]{4}|7976[0-8][0-9]{3}|79769[0-2][0-9]{2}|7976930[0-9]{1}|7976931[0-2])[0-9]{300}|79769313(?:(?:[0-3][0-9]{7}|4[0-7][0-9]{6}|48[0-5][0-9]{5}|486[0-1][0-9]{4}|4862[0-2][0-9]{3}|486230[0-9]{2}|486231[0-4][0-9]{1}|4862315[0-7])[0-9]{292}|48623158(?:(?:0[0-6][0-9]{6}|07[0-8][0-9]{5}|079[0-2][0-9]{4}|0793[0-6][0-9]{3}|07937[0-1][0-9]{2}|079372[0-7][0-9]{1}|0793728[0-8])[0-9]{284}|07937289(?:(?:[0-6][0-9]{7}|70[0-9]{6}|71[0-3][0-9]{5}|7140[0-4][0-9]{3}|71405[0-2][0-9]{2}|7140530[0-2])[0-9]{276}|71405303(?:(?:[0-3][0-9]{7}|40[0-9]{6}|41[0-4][0-9]{5}|4150[0-6][0-9]{3}|41507[0-8][0-9]{2}|415079[0-8][0-9]{1}|4150799[0-2])[0-9]{268}|41507993(?:(?:[0-3][0-9]{7}|40[0-9]{6}|41[0-2][0-9]{5}|413[0-1][0-9]{4}|4132[0-6][0-9]{3}|413270[0-9]{2})[0-9]{260}|41327100(?:(?:[0-2][0-9]{7}|3[0-6][0-9]{6}|37[0-7][0-9]{5}|378[0-1][0-9]{4}|3782[0-5][0-9]{3}|37826[0-8][0-9]{2}|378269[0-2][0-9]{1}|3782693[0-5])[0-9]{252}|37826936(?:(?:0[0-9]{7}|1[0-6][0-9]{6}|17[0-2][0-9]{5}|173[0-6][0-9]{4}|1737[0-6][0-9]{3}|17377[0-7][0-9]{2}|173778[0-8][0-9]{1}|1737789[0-7])[0-9]{244}|17377898(?:(?:0[0-3][0-9]{6}|04[0-3][0-9]{5}|044[0-3][0-9]{4}|0444[0-8][0-9]{3}|04449[0-5][0-9]{2}|044496[0-7][0-9]{1}|0444968[0-1])[0-9]{236}|04449682(?:(?:[0-8][0-9]{7}|9[0-1][0-9]{6}|92[0-6][0-9]{5}|927[0-5][0-9]{4}|9276[0-3][0-9]{3}|92764[0-6][0-9]{2}|927647[0-4][0-9]{1})[0-9]{228}|92764750(?:(?:[0-8][0-9]{7}|9[0-3][0-9]{6}|94[0-5][0-9]{5}|946[0-5][0-9]{4}|9466[0-3][0-9]{3}|94664[0-8][0-9]{2}|94664900)[0-9]{220}|94664901(?:(?:[0-6][0-9]{7}|7[0-8][0-9]{6}|79[0-6][0-9]{5}|797[0-6][0-9]{4}|7977[0-4][0-9]{3}|79775[0-7][0-9]{2}|797758[0-6][0-9]{1}|7977587[0-1])[0-9]{212}|79775872(?:(?:0[0-6][0-9]{6}|070[0-8][0-9]{4}|0709[0-5][0-9]{3}|07096[0-2][0-9]{2}|070963[0-2][0-9]{1})[0-9]{204}|07096330(?:(?:[0-1][0-9]{7}|2[0-7][0-9]{6}|28[0-5][0-9]{5}|286[0-3][0-9]{4}|28640[0-9]{3}|28641[0-5][0-9]{2}|286416[0-5][0-9]{1}|2864166[0-8])[0-9]{196}|28641669(?:(?:[0-1][0-9]{7}|2[0-7][0-9]{6}|28[0-7][0-9]{5}|288[0-6][0-9]{4}|2887[0-8][0-9]{3}|288790[0-9]{2}|2887910[0-8])[0-9]{188}|28879109(?:(?:[0-3][0-9]{7}|4[0-5][0-9]{6}|46[0-4][0-9]{5}|465[0-4][0-9]{4}|4655[0-4][0-9]{3}|46555[0-4][0-9]{2}|465555[0-3][0-9]{1}|4655554[0-6])[0-9]{180}|46555547(?:(?:[0-7][0-9]{7}|8[0-4][0-9]{6}|850[0-9]{5}|851[0-8][0-9]{4}|8519[0-3][0-9]{3}|851940[0-3][0-9]{1})[0-9]{172}|85194040(?:(?:[0-1][0-9]{7}|2[0-5][0-9]{6}|26[0-2][0-9]{5}|2630[0-5][0-9]{3}|26306[0-4][0-9]{2}|263065[0-6][0-9]{1}|2630657[0-3])[0-9]{164}|26306574(?:(?:[0-7][0-9]{7}|8[0-7][0-9]{6}|88[0-5][0-9]{5}|886[0-6][0-9]{4}|88670[0-9]{3}|88671[0-4][0-9]{2}|8867150[0-4])[0-9]{156}|88671505(?:(?:[0-7][0-9]{7}|8[0-1][0-9]{6}|820[0-5][0-9]{4}|8206[0-7][0-9]{3}|820680[0-9]{2}|820681[0-8][0-9]{1})[0-9]{148}|82068190(?:(?:[0-7][0-9]{7}|8[0-8][0-9]{6}|890[0-1][0-9]{4}|8902000[0-6])[0-9]{140}|89020007(?:(?:0[0-7][0-9]{6}|08[0-2][0-9]{5}|083[0-7][0-9]{4}|0838[0-2][0-9]{3}|08383[0-5][0-9]{2}|083836[0-6][0-9]{1}|0838367[0-5])[0-9]{132}|08383676(?:(?:[0-1][0-9]{7}|2[0-6][0-9]{6}|27[0-2][0-9]{5}|273[0-7][0-9]{4}|2738[0-4][0-9]{3}|27385[0-3][0-9]{2}|273854[0-7][0-9]{1}|2738548[0-3])[0-9]{124}|27385484(?:(?:[0-4][0-9]{7}|5[0-7][0-9]{6}|580[0-9]{5}|581[0-6][0-9]{4}|5817[0-6][0-9]{3}|581770[0-9]{2}|5817710[0-9]{1}|5817711[0-4])[0-9]{116}|58177115(?:(?:[0-2][0-9]{7}|30[0-9]{6}|31[0-6][0-9]{5}|317[0-5][0-9]{4}|3176[0-3][0-9]{3}|31764[0-3][0-9]{2}|317644[0-6][0-9]{1}|3176447[0-4])[0-9]{108}|31764475(?:(?:[0-6][0-9]{7}|7[0-2][0-9]{6}|730[0-1][0-9]{4}|7302[0-6][0-9]{3}|7302700[0-5])[0-9]{100}|73027006(?:(?:[0-8][0-9]{7}|9[0-7][0-9]{6}|98[0-4][0-9]{5}|985[0-4][0-9]{4}|9855[0-4][0-9]{3}|98555[0-6][0-9]{2}|9855570[0-9]{1}|9855571[0-2])[0-9]{92}|98555713(?:(?:[0-5][0-9]{7}|6[0-5][0-9]{6}|66[0-8][0-9]{5}|669[0-4][0-9]{4}|6695[0-8][0-9]{3}|66959[0-5][0-9]{2}|669596[0-1][0-9]{1}|6695962[0-1])[0-9]{84}|66959622(?:(?:[0-7][0-9]{7}|8[0-3][0-9]{6}|84[0-1][0-9]{5}|842[0-8][0-9]{4}|84290[0-9]{3}|84291[0-3][0-9]{2}|842914[0-7][0-9]{1}|84291480)[0-9]{76}|84291481(?:(?:[0-8][0-9]{7}|9[0-7][0-9]{6}|98[0-5][0-9]{5}|9860[0-7][0-9]{3}|98608[0-2][0-9]{2}|986083[0-3][0-9]{1}|9860834[0-8])[0-9]{68}|98608349(?:(?:[0-2][0-9]{7}|3[0-5][0-9]{6}|36[0-3][0-9]{5}|364[0-6][0-9]{4}|3647[0-4][0-9]{3}|36475[0-1][0-9]{2}|364752[0-8][0-9]{1}|3647529[0-1])[0-9]{60}|36475292(?:(?:[0-6][0-9]{7}|70[0-9]{6}|71[0-8][0-9]{5}|7190[0-6][0-9]{3}|71907[0-3][0-9]{2}|7190740[0-9]{1}|7190741[0-5])[0-9]{52}|71907416(?:(?:[0-7][0-9]{7}|8[0-3][0-9]{6}|84[0-3][0-9]{5}|844[0-3][0-9]{4}|8444[0-2][0-9]{3}|84443[0-5][0-9]{2}|844436[0-4][0-9]{1}|8444365[0-4])[0-9]{44}|84443655(?:(?:0[0-9]{7}|10[0-6][0-9]{5}|1070[0-3][0-9]{3}|10704[0-2][0-9]{2}|107043[0-3][0-9]{1}|1070434[0-1])[0-9]{36}|10704342(?:(?:[0-6][0-9]{7}|70[0-9]{6}|710[0-9]{5}|711[0-4][0-9]{4}|7115[0-4][0-9]{3}|71155[0-8][0-9]{2}|711559[0-5][0-9]{1}|7115596[0-8])[0-9]{28}|71155969(?:(?:[0-8][0-9]{7}|9[0-4][0-9]{6}|950[0-7][0-9]{4}|95080[0-8][0-9]{2}|950809[0-2][0-9]{1})[0-9]{20}|95080930(?:(?:[0-3][0-9]{7}|4[0-1][0-9]{6}|42[0-7][0-9]{5}|428[0-7][0-9]{4}|428800[0-9]{2}|428801[0-6][0-9]{1}|4288017[0-6])[0-9]{12}|42880177(?:(?:[0-8][0-9]{7}|90[0-3][0-9]{5}|9040[0-9]{4}|9041[0-6][0-9]{3}|90417[0-3][0-9]{2}|904174[0-3][0-9]{1}|9041744[0-8])[0-9]{4}|90417449(?:(?:[0-6][0-9]{3}|7[0-6][0-9]{2}|77[0-8][0-9]{1}|7790)|7791))))))))))))))))))))))))))))))))))))))))(?:[^0-9]|$))
message
string

Human-readable explanation of the error. Its wording can vary; use the error code when handling a specific failure.

reason
null | string | number | boolean | Array<any value> | object

Any of the following schemas may apply:

null
string
number
boolean
Array<any value>
Array<any value>
Array item schema
any value
object
object
Additional property schema
any value

For more information about the response format, please refer to Mozilla’s documentation about server-sent events⁠.

Previous page ← Create an Assembly with a supplied IDNext page Cancel a running Assembly →
Contact support⁠

TransloaditChecking status…

Product

  • Services
  • Pricing
  • Demos
  • Tools
  • Security
  • Support

Company

  • About/Press
  • Blog/Jobs
  • Comparisons/Compliance matrix
  • Research
  • Open source
  • Solutions
  • Pioneers of the web

Docs

  • Getting started
  • Transcoding
  • FAQ
  • API
  • Guides/DevTips
  • Supported formats

More

  • Platform status⁠
  • Community forum⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

PrivacyTermsImprint
EnglishDeutschEspañolFrançaisPortuguês (Brasil)