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.

No credit card needed
Uploaded files
DSC_08452_retouched.jpgDSC_08452_retouched.jpg
Approved
photo_001_copy.jpgphoto_001_copy.jpg
Blocked
IMG_20260209_152347.jpgIMG_20260209_152347.jpg
Approved
screenshot_2026_143022.pngscreenshot_2026_143022.png
Approved
IMG_8452_edited_final.webpIMG_8452_edited_final.webp
Blocked
Virus scanning

Built-in ClamAV antivirus scans reject millions of trojans, viruses, and malware before they reach you.

Conditional routing

Route files to different encoding steps based on size, type, dimensions, or custom metadata.

Flexible conditions

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.

File Filtering

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.

Copyrighted
getty_stock_48291.jpg
© Getty Images97% match

Enforce size limits

Set maximum file size thresholds and automatically reject uploads that exceed your limits with custom error messages.

invoice.docx
photo.jpg
report.pdf
clip.mp4
spreadsheet.xlsx
presentation.pptx
database.sql
backup.zip
video-raw.zip
20 MB limit
2 MB
4 MB
8 MB
15 MB
18 MB
28 MB
32 MB
45 MB
55 MB

Scan for viruses and malware

ClamAV-powered scanning rejects trojans, viruses, and malware automatically.

Uploaded files
document.pdf
trojan.zip
photo.jpg
report.docx
malware.zip

Detect and reject NSFW content

AI-powered content moderation flags nudity, violence, and other explicit material automatically.

landscape.jpg
NSFW
upload_382.jpg

Route files conditionally

Direct files to different processing steps based on their type, size, or metadata.

File
photo.jpg
Type
Image
Routed to
/image/resize
File
clip.mp4
Type
Video
Routed to
/video/encode
File
doc.pdf
Type
Document
Routed to
/document/convert
File
banner.png
Type
Image
Routed to
/image/resize
File
report.docx
Type
Document
Routed to
/document/convert
File
scan.jpg
Type
Image
Routed to
/image/resize
File
presentation.pptx
Type
Document
Routed to
/document/convert
File
data.xlsx
Type
Document
Routed to
/document/convert
File
cover.png
Type
Image
Routed to
/image/resize
File
receipt.pdf
Type
Document
Routed to
/document/convert
File
avatar.jpg
Type
Image
Routed to
/image/resize
File
invoice.docx
Type
Document
Routed to
/document/convert
File
screenshot.png
Type
Image
Routed to
/image/resize
File
contract.pdf
Type
Document
Routed to
/document/convert
File
logo.jpg
Type
Image
Routed to
/image/resize
File
summary.pdf
Type
Document
Routed to
/document/convert
File
thumbnail.png
Type
Image
Routed to
/image/resize
File
demo.mp4
Type
Video
Routed to
/video/encode
File
budget.xlsx
Type
Document
Routed to
/document/convert
File
hero.jpg
Type
Image
Routed to
/image/resize
File
manual.docx
Type
Document
Routed to
/document/convert
File
profile.png
Type
Image
Routed to
/image/resize
File
archive.pdf
Type
Document
Routed to
/document/convert
File
wallpaper.jpg
Type
Image
Routed to
/image/resize
File
slides.pptx
Type
Document
Routed to
/document/convert

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.

Know the moment files are ready

Use per-file callbacks and webhook requests when processing finishes.

Reserve capacity for peak traffic

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.

Try Transloadit

Validate files before they move downstream

Apply file rules, scan for malware, and route uploads through the right processing Steps.
Malware reaching your platform
Built-in virus scanning
Invalid file uploads
Metadata-based filtering
NSFW content slipping through
Route uploads using explicit-content labels
Images are too small for your app
Filter uploads by image dimensions
One-size-fits-all processing
Conditional routing
Poor upload error messages
Custom rejection messages
GDPR
HIPAA
ISO 27001ISO27001
AES-256
SOC 2 Type II
No credit card needed

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.