
Scan files for viruses
🤖/file/virusscan rejects millions of trojans, viruses, malware & other malicious threats before they reach your platform.
This <dfn>Robot</dfn> is built on top of [ClamAV](https://www.clamav.net/), the best open source antivirus engine available. We update its signatures on a daily basis.
By default, this Robot excludes all malicious files from further processing without any additional notification. This behavior can be changed by setting error_on_decline to true, which will stop Assemblies as soon as malicious files are found. Such Assemblies will then be marked with an error.
We allow the use of industry standard EICAR files for integration testing without needing to use potentially dangerous live virus samples.
Usage example
Scan uploaded files and throw an error if a malicious file is detected:
{
"steps": {
"scanned": {
"robot": "/file/virusscan",
"use": ":original",
"error_on_decline": true,
"error_msg": "At least one of the uploaded files is malicious and was declined"
}
}
}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.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
error_on_declineboolean(default:false)If this is set to
trueand one or more files are declined, the Assembly will be stopped and marked with an error.error_msgstring(default:"One of your files was declined")The error message shown to your users (such as by Uppy) when a file is declined and
error_on_declineis set totrue.
Demos
Related blog posts
- Introducing our new virus scanning Robot for safer uploads
- Introducing four new Robots to enhance media processing
- Happy 2016 from Transloadit
- New pricing model for future Transloadit customers
- Tutorial: file filtering & virus scanning with Transloadit
- How to automate content moderation using Transloadit (NSFW)