Why are there /meta/read charges in my billing?
The /meta/read charges appear in your monthly billing, because Transloadit by default
automatically extracts metadata from your uploaded files and other Steps. This is a
standard part of file processing that helps enable features like using ${file.ext},
${file.name}, and other metadata variables in your Assembly Instructions.
How much do /meta/read charges cost?
Metadata extraction costs 1% of the file size. For example:
- A 100 MB file would incur 1 MB in metadata extraction charges
- A 1 GB file would incur 10 MB in metadata extraction charges
How can I avoid /meta/read charges?
You can opt out of automatic metadata extraction by adding "output_meta": false to your processing
Step:
{
  "steps": {
    ":original": {
      "robot": "/upload/handle",
      "output_meta": false
    },
    "resize": {
      "use": ":original",
      "robot": "/image/resize",
      "format": "jpg",
      "width": 200,
      "height": 200,
      "output_meta": false
    }
  }
}
When should I keep metadata extraction enabled?
Most processing Templates will require meta data extraction. It's important for:
- letting Robots ignore file types they cannot handle
- using file metadata variables in your Assembly Instructions (like ${file.ext},${file.name},${file.meta.width})
- filtering files based on metadata properties
- storing metadata tags with your files
- generating dynamic file paths based on file properties
Example that may not require metadata:
{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "stored": {
      "use": ":original",
      "robot": "/s3/store",
      "path": "/uploads/${file.id}_${file.name}"
    }
  }
}
When can I safely disable metadata extraction?
You can disable metadata extraction when:
- You don't use any file metadata variables in your Assembly
- You're using fixed file paths and names
- You don't need to filter or sort files based on their properties
Example that doesn't need metadata (fields is provided when creating the Assembly):
{
  "steps": {
    "uploaded": {
      "robot": "/upload/handle",
      "output_meta": false
    },
    "exported": {
      "use": "encoded",
      "robot": "/s3/store",
      "path": "${fields.output_path}"
    }
  }
}