Copy link to clipboard
Copied
Hi everyone,
I’m exploring ways to automate a publishing workflow using Adobe InDesign, and I’d like to confirm if the InDesign API would fit my use case.
Here’s what I need to do:
I’ll receive structured data from a web page (for example, text fields like title, subtitle, author, and body).
This data should be automatically placed into a pre-designed InDesign template.
The result should be returned as an .INDD file (or at least a file I can open and edit in InDesign afterward).
Essentially, I want a web service that takes JSON/CSV input, applies it to an InDesign layout, outputs a native InDesign file (and optionally a PDF).
So my questions are:
1. Is InDesign API the best way to achieve this? Or would I need InDesign Server instead?
2. How can I gain access to the InDesign API?
3. Is there any information about pricing or usage limits for the InDesign API?
Any guidance would be greatly appreciated!
Thanks in advance
Copy link to clipboard
Copied
What scale/volume are you anticipating?
Copy link to clipboard
Copied
I’m looking to automate the creation of around 20-30 documents per month, each based on a pre-existing InDesign template.
It’s primarily for educational or creative publishing projects, not high-volume or enterprise-scale production.
So I’m hoping the InDesign API (or any lightweight cloud service) could handle this without needing to deploy and maintain a full InDesign Server instance.
Copy link to clipboard
Copied
.
Copy link to clipboard
Copied
And how many pages are these 20-30 documents per month?
Seems like this volume would be ok for a .csv file coupled together with InDesign's Data Merge panel.
https://helpx.adobe.com/indesign/using/data-merge.html
Copy link to clipboard
Copied
Each document would usually be around 50-70 pages.
Copy link to clipboard
Copied
Data Merge does look like a solid option for combining data with templates inside InDesign.
In my case though, the goal is to automate the process entirely through a web workflow:
Structured data would be sent from a website (as JSON or CSV).
The process should automatically apply that data to an existing InDesign template.
The result should be returned programmatically, as an editable .indd or pdf file without any manual steps inside the InDesign app.
From what I understand, Data Merge requires the merge and export to be done manually within InDesign, so it might not fit this kind of API-driven automation.
Please correct me if there’s a way to trigger Data Merge externally or script it without relying on InDesign Server. That would be very helpful.
Copy link to clipboard
Copied
Imo you do not need an InDesign Server for this project. I you do not want to block your own InDesign machine and license, you could setup a second machine with better performance InDesign and start the process from there. This would be less expensive and easier to maintaing than InDesign Server
Copy link to clipboard
Copied
- The result should be returned programmatically, as an editable .indd or pdf file without any manual steps inside the InDesign app.
What you want doesn't really exist. I've never seen any tool (besides InDesign, of course) that is capable of generating files in Adobe's proprietary .indd format. People who need to automate PDF production don't typically do it from InDesign, although some people do build their workflow automation around InDesign Server. But the scale of document production you're talking about is something that many of the people posting in your thread can do easily on their desktops, so I don't think that any of have ever had the need to develop a workflow like the one you're describing. The degree of hands-off-edness you're specifying is something that I associate with commercial products like TypeFi or priint. If you don't mind my asking, why are your requirements for this so stringent?
If you'd perused the InDesign API for long enough, then you'd probably have encountered the IDML format at some point . That is the file format that you should be able to programmatically build without InDesign in the picture - it's a collection of XML files and other resources that describe an InDesign document. There are lots of ways to generate IDML that don't have to include InDesign. I'd add that they seem to come in two flavors - one of which consists of tools and libraries published on Github that require additional tooling before you can easily put them to use, and the other being seemingly successful businesses built around closed-source software projects. Look at IDMarkz for an example of the second sort. I can point you to a few examples of the first if you are interested.
Copy link to clipboard
Copied
1. Is InDesign API the best way to achieve this? Or would I need InDesign Server instead?
Both APIes are almost the same. InDesign Server is a 'headless' InDesign, so it has no features related to the user interaction: like selection, alerts, etc. I don't think you need InDesign Server for your task.
2. How can I gain access to the InDesign API?
Here's the reference. Install VSCode and the ExtendScript Debugger extension.
3. Is there any information about pricing or usage limits for the InDesign API?
It's free, of course.
Copy link to clipboard
Copied
Here are some other plugin makers that work InDesign:
Catalog & Database Publishing Tools
Key Features Beyond Data Merge
Copy link to clipboard
Copied
What do you mean with InDesign API? Could be https://developer.adobe.com/firefly-services/docs/indesign-apis/
If so, that page mentions "enterprise" in the first few words, to me a hint on the price tag / audience. That's a pretty new service though, so only few will have experiences, could be a positive surprise. You have to go through the associated forms for yourself.
There are also third party offers such as PrintUI (https://santacruzsoftware.com/printui/) and from Typefi (https://runscript.typefi.com/) . Maybe one fits your purposes?
Copy link to clipboard
Copied
From a capabilities perspective, there is very little difference between what InDesign and InDesign Server can do in an automated fashion. InDesign Server is the same core software as InDesign, just without the user interface, and it's driven by the same scripting API. It's also important to note that currently, neither application offers a modern REST API for web-based communication. "InDesign API" refers to the built-in JavaScript capabilities used for automation.
For your use case, the main problem is licensing. The EULA specifically disallows a completely hands-off, "black box" server usage of the desktop InDesign application. Any automated process in the desktop version must be initiated by an end user.
This leaves you with a few distinct options:
a) Ignore the EULA. You could set up the desktop version of InDesign to work as a server. It is technically feasible, but it exposes you to significant legal and compliance risks.
b) License InDesign Server. I have not followed the pricing closely for a while, but I know it has become much more accessible. This gives you the advantage of being fully in control of your system and allows you to scale it as needed.
c) Wait for Adobe's Cloud API. Adobe has indicated they are working on a true cloud-based, REST API for InDesign. However, there is no clear timeline, making this a speculative option for now.
d) Use a Third-Party Service. You can use an "InDesign Server as a Service" provider, like Typefi's "RunScript." This can give you the benefits of a server environment with a pay-per-use model.
Whichever option you choose, you still need to architect the system that connects your incoming data to the scripts that run in InDesign to create the final documents.
I have a lot of experience building such solutions, but I do not work on projects involving option a, as it violates the EULA. If you would like to discuss more, feel free to send me a direct message.
Regards,
Vlad
Copy link to clipboard
Copied
On second thought, I realize I got caught up in the server-side options and skipped over what I feel is the best approach for your current needs.
There's a much simpler starting point: a desktop-based automated workflow.
The idea is that a user triggers the process whenever it's needed, like at the start of the day or when new data is available. Because a human operator is involved, the workflow is fully EULA compliant, and it has the lowest possible entry cost.
If done right, this isn't a throwaway solution. The scripts and logic for this can be easily adjusted to work with a full InDesign Server later if you need to scale.
As a first step, it delivers most of the benefits of automation without the initial cost and complexity of a server project.
Find more inspiration, events, and resources on the new Adobe Community
Explore Now