
Optimize documents
🤖/document/optimize reduces the file size of PDF documents.
This Robot reduces PDF file sizes using Ghostscript's optimization capabilities. It recompresses images, subsets fonts, and applies various optimizations to reduce file size while maintaining acceptable quality.
Quality Presets
The Robot supports four quality presets that control the trade-off between file size and quality:
| Preset | DPI | Use Case | Typical Savings |
|---|---|---|---|
screen | 72 | Screen viewing, smallest files | ~86% |
ebook | 150 | Good balance of quality/size | ~71% |
printer | 300 | Print quality | Moderate |
prepress | Highest | Press-ready, largest files | Minimal |
Usage example
Optimize PDF file size.
{
"steps": {
"optimized": {
"robot": "/document/optimize",
"use": ":original",
"preset": "ebook"
}
}
}Parameters
output_metaRecord<string, boolean> | boolean | Array<string>Allows you to specify a set of metadata that is more expensive on CPU power to calculate, and thus is disabled by default to keep your Assemblies processing fast.
For images, you can add
"has_transparency": truein this object to extract if the image contains transparent parts and"dominant_colors": trueto extract an array of hexadecimal color codes from the image.For videos, you can add the
"colorspace: true"parameter to extract the colorspace of the output video.For audio, you can add
"mean_volume": trueto get a single value representing the mean average volume of the audio file.You can also set this to
falseto skip metadata extraction and speed up transcoding.resultboolean(default:false)Whether the results of this Step should be present in the Assembly Status JSON
queuebatchSetting the queue to 'batch', manually downgrades the priority of jobs for this step to avoid consuming Priority job slots for jobs that don't need zero queue waiting times
force_acceptboolean(default:false)Force a Robot to accept a file type it would have ignored.
By default, Robots ignore files they are not familiar with. 🤖/video/encode, for example, will happily ignore input images.
With the
force_acceptparameter set totrue, you can force Robots to accept all files thrown at them. This will typically lead to errors and should only be used for debugging or combatting edge cases.ignore_errorsboolean | Array<meta | execute>(default:[])Ignore errors during specific phases of processing.
Setting this to
["meta"]will cause the Robot to ignore errors during metadata extraction.Setting this to
["execute"]will cause the Robot to ignore errors during the main execution phase.Setting this to
trueis equivalent to["meta", "execute"]and will ignore errors in both phases.usestring | Array<string> | Array<object> | objectSpecifies which Step(s) to use as input.
- You can pick any names for Steps except
":original"(reserved for user uploads handled by Transloadit) - You can provide several Steps as input with arrays:
{ "use": [ ":original", "encoded", "resized" ] }
Tip
That's likely all you need to know about
use, but you can view Advanced use cases.- You can pick any names for Steps except
presetscreen | ebook | printer | prepress(default:"ebook")The quality preset to use for optimization. Each preset provides a different balance between file size and quality:
screen- Lowest quality, smallest file size. Best for screen viewing only. Images are downsampled to 72 DPI.ebook- Good balance of quality and size. Suitable for most purposes. Images are downsampled to 150 DPI.printer- High quality suitable for printing. Images are kept at 300 DPI.prepress- Highest quality for professional printing. Minimal compression applied.
image_dpistring | numberTarget DPI (dots per inch) for embedded images. When specified, this overrides the DPI setting from the preset.
Higher DPI values result in better image quality but larger file sizes. Lower values produce smaller files but may result in pixelated images when printed.
Common values:
- 72 - Screen viewing
- 150 - eBooks and general documents
- 300 - Print quality
- 600 - High-quality print
compress_fontsboolean(default:true)Whether to compress embedded fonts. When enabled, fonts are compressed to reduce file size.
subset_fontsboolean(default:true)Whether to subset embedded fonts, keeping only the glyphs that are actually used in the document. This can significantly reduce file size for documents that only use a small portion of a font's character set.
remove_metadataboolean(default:false)Whether to strip document metadata (title, author, keywords, etc.) from the PDF. This can provide a small reduction in file size and may be useful for privacy.
linearizeboolean(default:true)Whether to linearize (optimize for Fast Web View) the output PDF. Linearized PDFs can begin displaying in a browser before they are fully downloaded, improving the user experience for web delivery.
compatibility1.4 | 1.5 | 1.6 | 1.7 | 2.0(default:"1.7")The PDF version compatibility level. Lower versions have broader compatibility but fewer features. Higher versions support more advanced features but may not open in older PDF readers.
1.4- Acrobat 5 compatibility, most widely supported1.5- Acrobat 6 compatibility1.6- Acrobat 7 compatibility1.7- Acrobat 8+ compatibility (default)2.0- PDF 2.0 standard