The service has been designed to efficiently perform transactional requests, generating single-page documents sub-second, or to meet large batch processing requirements and is capable of generating hundreds-of-thousands of documents-per-hour.
Explore the diagrams on the right to understand key Tornado concepts and hosting/scaling the installation.

“Adding a new template went from 3 hours to 20 minutes”
We cut the time to setup a new template and lightened the load on our development team.
# Use the local Tornado service running on your serversurl = URI(“http://localhost:8080/api/render”)
http = Net::HTTP.new(url.host, url.port)# Specify data, template file and output file/format
DATA = ‘{“message”:”This Docmosis engine is working great!”}’;
TEMPLATE_NAME = ‘myTemplate.docx’;
OUTPUT_NAME = ‘result.pdf’;# Create the POST request
request = Net::HTTP::Post.new(url)
request[“Content-Type”] = ‘application/json’
request.body = “{” +
“\”templateName\”: \”#{TEMPLATE_NAME}\”,” +
“\”outputName\”: \”#{OUTPUT_NAME}\”,” +
“\”data\”:#{DATA}}”# Call Tornado with the request and save the response
response = http.request(request)
File.open(OUTPUT_NAME,”wb”){|f|f.write(response.body)}
An API-First Approach
Designed with developers in mind.
As a self-hosted document generation engine, Tornado listens and responds to commands sent to the API. A typical document workflow is as follows:
- The application sends a render request by performing a HTTPS POST.
- The payload contains: the data; the template name; the required output format(s).
- Tornado merges the data with the template.
- Generated documents are typically returned to the calling application, allowing the application to perform further actions with the files.
The API offers convenient features such as Dev Mode. In the event of an error, this mode controls whether:
- A document IS generated, with the errors highlighted in the document (helpful during development); or,
- A document IS NOT generated. Instead an error code and message are returned to the calling application (perfect for production).
The Tornado and Cloud APIs use similar endpoints and parameters for rendering documents. For initial evaluation, consider starting with Cloud. After initial proof-of-concept work, download and run the self-hosted Tornado engine, then easily switch by changing the API URLs.
Getting Started
Download, install and run the Tornado software

Start a free trial to receive a Tornado license key valid for 30 days. The trial key can be used to run a single converter (T-100 equivalent) with options to trial higher powered editions or extend the trial on request.
- Experiment with rendering documents via the Tornado web portal
- Progress to the Code Samples to understand key API concepts
- Call the Tornado API from your application to generate documents
Follow the instructions on our Resources Website to help you get started.

Trusted by teams building at scale
Recognized for reliability, ease of implementation and customer satisfaction across leading software review platforms
Security Statement
Understand how to configure and protect your Tornado installation to ensure privacy of your applications data.
1. Tornado is a software application that you are responsible for downloading, installing, configuring and running.
2. Tornado is primarily used by other software applications via the API.
3. Tornado provides a web-based interface for initial configuration and functionality assessment during the trial and proof-of-concept phases. Most production Tornado installations will apply the required configuration (license keys, working folder, etc.) as startup parameters or as values derived from the registry/file system.
4. It is expected that Tornado will be run in a protected environment where network access is restricted (both inbound and outbound). In this context, concerns regarding access and vulnerabilities are under your complete control.
5. Tornado does not attempt to “reach out” to Docmosis to validate the license key or report statistics. Docmosis staff have no access or visibility to any Tornado installation or your servers/environments/data where Tornado is deployed.
6. Stability is a key feature of Tornado, as document generation must be robust, consistent and always available. New releases of the software are not pushed automatically. You have the option to obtain and install any software updates manually.
7. Software updates could potentially affect the layout and formatting of generated documents and should always be followed by testing of the templates and the generated documents.
8. Docmosis templates (as distinct from generated documents or data) reside in a persistent cache. As a general rule templates should not contain private data.
9. While a render request is being executed, the data and generated documents exist in a temporary working directory until delivery completes or an error occurs, at which point they are immediately and automatically deleted.
FAQs
What document generation software can I run on my own servers?
Self-hosted document generation software can be installed and run on your own servers.
Docmosis offers Docmosis Tornado, a self-hosted document generation engine for this purpose.
Docmosis Tornado supports Windows, Linux and Docker deployments in private data centers or public clouds. Applications call its REST API with a template name and data to generate documents. Templates are created in Word or LibreOffice, and documents can be generated in PDF, DOCX, ODT or TXT formats.
Where are templates stored when using Docmosis Tornado?
You choose where your templates are stored. Supported locations include a local folder, AWS S3, Azure Blob Storage and Google Cloud Storage.
Docmosis Tornado maintains a persistent cache, so the templates don’t need to be retrieved for every document generation request.
Who controls how Docmosis Tornado operates and who can access it?
Your organization controls where Docmosis Tornado processes data and manages access through network restrictions and API authentication.
You also decide when software updates are installed. Docmosis staff have no access to your installation or the data it processes.Docmosis Tornado can operate in air-gapped networks without external license checks or usage reporting.
Do I need to renew my Docmosis Tornado license to keep using it?
No, you can continue using your licensed version of Tornado indefinitely without renewing.
Docmosis Tornado comes with a perpetual license that includes 12 months of technical support and software updates. After that, you can optionally renew annually to continue receiving support and updates.
Does Docmosis Tornado support fast, high-volume document generation?
Yes. Docmosis Tornado optimizes and caches templates for reuse, reducing processing time and enabling fast document generation.
For high-volume processing, independent converters generate documents in parallel, allowing multiple requests to be handled simultaneously.
Each Tornado license edition specifies the maximum number of production converters available. Higher editions allow more converters to work in parallel, reducing the time needed to generate large batches.

