Virus Scanning and Upload Filtering
Scan uploads for malware, reject NSFW or copyrighted images, and route files by size, type, or metadata — through one API.
Built-in ClamAV antivirus scans reject millions of trojans, viruses, and malware before they reach you.
Route files to different encoding steps based on size, type, dimensions, or custom metadata.
Use simple array conditions or JavaScript expressions for complex filtering logic.
Build momentum
Keep good content moving. Catch problems earlier.
Give uploads the right next step before they reach your users.
Keep publishing on track
Route accepted files into processing without manual sorting.
Spend processing budget wisely
Filter unsuitable files before running expensive conversions.
Make review queues useful
Send flagged content to the review process your team controls.
Deliver consistent media
Accept files that meet your size, type, and dimension requirements.
Build richer upload flows
Give images, videos, and documents their own processing paths.
Protect your content pipeline
Add virus scanning before files move further through your workflow.
Every upload validated before it hits your pipeline
Scan for malware, enforce size limits, and route files to the right processing steps — all automatically.
Flag copyrighted material
Detect copyrighted images and route or reject them before they enter your platform.

Enforce size limits
Set maximum file size thresholds and automatically reject uploads that exceed your limits with custom error messages.
Scan for viruses and malware
ClamAV-powered scanning rejects trojans, viruses, and malware automatically.
Detect and reject NSFW content
AI-powered content moderation flags nudity, violence, and other explicit material automatically.


Route files conditionally
Direct files to different processing steps based on their type, size, or metadata.
Robots for File Filtering
At Transloadit, a Robot is an automated worker that performs a single task in your file pipeline — like filtering by metadata, scanning for viruses, or verifying file types.
- /file/filter robotaccepts${file.mime} regex imageFileTypeRouted to
hero.pngimage/png/image/resize
promo.mp4video/mp4Declined
Filter & Route Files
Direct files to different encoding Steps based on size, type, dimensions, or custom conditions.
- /file/virusscan robot
resume.pdfScanning…Clean
photos.zipScanning…Clean
invoice.docScanning…Infected
logo.pngScanning…Clean
Scan for Viruses
Reject trojans, viruses, and malware with ClamAV-powered antivirus scanning.
- /file/verify robot
invoice.pdf
Declaredapplication/pdfDetectedapplication/zipRejectedVerify File Types
Ensure uploaded files match the expected MIME type regardless of file extension.
- /image/describe robot
BlockedExplicit Nudity0.97Suggestive0.84Detect NSFW Content
Flag and reject nudity, violence, and other explicit material using AI-powered content moderation.
Your workflow. Your controls.
File filtering without the pain
Stop scattering validation rules across services. Put file decisions in your workflow.
Set clear acceptance rules
Filter by file size, MIME type, dimensions, duration, and available metadata.
Route files by their properties
Send matching files to the processing steps they need.
Go beyond simple conditions
Use JavaScript expressions when your filtering rules need more flexibility.
Decide what rejection means
Skip declined files or fail the Assembly with a message you configure.
Scan for malware and viruses
Use the ClamAV-powered virus scanning Robot before further processing.
Connect moderation results
Use AI-generated metadata in filters that reflect your content policy.
Keep your app in the loop
Get per-file callbacks with /http/request (alpha), or an Assembly Notification when processing ends.
Make room for busy days
Buy extra priority slots in advance. Extra jobs queue when your slots are busy.
Keep spending in check
Set a soft bill limit for alerts or a hard limit to stop processing.
Validate files before they move downstream
HIPAA-regulated workloads require a Business Associate Agreement.
Frequently asked questions
What can I filter uploaded files by?
You can use file properties such as size, MIME type, dimensions, and duration, plus metadata available from earlier steps. Define acceptance or rejection conditions in your Template. Explore file filter conditions.
Can I send images and videos through different workflows?
Yes. Create filter steps that select different file types, then connect each filter to the appropriate processing steps. This lets one Assembly handle mixed uploads. See file filtering examples.
What happens when a file does not pass a filter?
You choose. Declined files can be excluded from that branch, or you can configure the filter to return an error for the Assembly. Use a clear error message so your application can explain the rejection. Read the rejection options.
Does checking MIME type prove a file is safe?
No. Type and metadata filters help enforce your upload requirements, but they are not a malware scan or a guarantee of safe content. Add virus scanning and any moderation steps your application needs. Learn about virus scanning.
Can I combine virus scanning and content moderation?
Yes. Put virus scanning and supported AI recognition steps in your workflow, then use their results to apply your policy. Automated detection has limits; keep human review for decisions that need it. Explore AI file processing.
Can I use custom logic for more complex rules?
Yes. File filters support JavaScript expressions as well as simple conditions. Expression evaluation has its own processing cost, so use ordinary conditions when they cover your needs. Read about dynamic evaluation.
How can I estimate and control costs?
Rates vary by operation and usage. Set a soft bill limit for alerts or a hard limit to stop processing. For larger workloads, ask about volume pricing and extra priority slots. Estimate your workflow costs.
