Integration requests for Formlabs API?

Hello from Formlabs! My name is Dávid and I lead product here and we are very interested learning more from our community about type of integrations / workflows / automation in software you always wish we would have supported? Any and all feedback is appreciated.

I would love to learn what software would you like to send information from to your printers (can be a file that is ready to be printed or maybe it needs some transformation before it can be printed). Or just describe how would you like to use our printers in the future in your preferred workflow.

Your feedback will be used to work on how we evolve our API, as the number of different and interesting workflow we can support has increased dramatically with features on Dashboard, Preform and Fleet Control!

Thanks for your feedback!



Hi Dávid,

I’d love a raw, well-documented API that works with C#.

I don’t really want you to try and anticipate what other applications I’ll use it with, or for the design to be too opinionated in terms of my workflow. Just expose the raw low-level functions. I’d like something that empowers me to create glue between my workflow and your machines, and to evolve my process over time without bumping into guardrails.

Some examples of what I’d love to be able to do programmatically:

  • Submit jobs
  • Poll print progress and failures
  • Programatically create .form files, import STL’s, orient them, generate supports and validate printability
  • Calculate estimated resin use and print time (e.g. for billing)

It would also be awesome if I could experiment with more fine-grained printer control and override some of the “Formlabs knows best” constraints. I don’t care if that voids my warranty.

Your Form 1+ API was a pretty good crack at this and the examples from your own company showed some of the unique and creative things exposing a fairly low-level API without too many restrictions can let you do.


1 Like

Would be awesome with an open api so we could get a Home Assistant integration.


Interesting @Reine. Can you describe how you would want the integration to work?

Super helpful, thank you. On point #3 (programmatically create .form files) – would running our “1 click print” function work well enough for you? Or would you like to have more degrees of freedom?

I would say a good start would be a version of OpenFL (GitHub - Formlabs/OpenFL: API for the Form 1 / 1+) for the current Form 2 and 3 printers so people can at least do what they were able to with the Form 1.

If we could just could get all (read only) states of a printer into Home Assistant, awesome automations could be created. It would open up so many possibilities.
And if we could get simple things like pre-heat and power save, Home Assistant could make sure the printer is ready for you when you need it and directly into power save when not in use.

Other printing systems are already integrated, like OctoPrint, Prusa and Duet 3D.

With Home Assistant you also get access to a great history platform for all sensors so you could get new types of metrics, like power consumption per print etc.

1 Like

As @rkagerer and @br4n_d0n indicated, an dopen API would be nice, and well overdue.
I think it would be taken into account that most companies cannot use dashboard, Sending private and confidential data to a external unmanaged server is a huge No, no for most IT departments, and for many of us in R&D, simply we must work inside our local networks.

To be honest I never use that feature as I don’t trust the results enough*. If your feedback indicates it has a high success rate then I could see an automated way to invoke it being extremely useful to print shops.

For me, the ability to specify and build everything up via automation would be valuable. One use case I could envision (though I’m not sure if it’s the best example):

I do a lot of work that requires minor iterations. e.g. To perfect a snap fit I may want to export ten flavors of a part where the only difference is gap spacing. Right now I can programmatically generate all the STL’s, but setting them up in Preform is still manual.

I see myself setting up the job by hand the first time**, then my workflow would programmatically duplicate it and do a “replace part” import of each variant. Often the expected changes are minor enough that tailored supports can even be reused. (As a workaround for one project that required ~40 variations of a small part, I modeled the supports in Solidworks and generated all the variants there to create a single monolithic STL for all of them).

I’m sure there are other examples where programmatically constructing or modifying a form file would be helpful to people, although I see it as a separate function (more “SDK-like”) than interacting with printers (more “API-like”). I’m betting more people are interested in replacing the kind of stuff Dashboard does than constructing their own form files.

I agree with most of the suggestions posed by others so far, like the ability to control pre-heating. Also the value in keeping confidential data local.

A few related thoughts (and elaboration) that aren’t directly about an API, but might be informative:

*Here’s an example of why I don’t use the auto-orient step (which I presume is part of 1-Click): Auto-orientation used to pick angles that work really well for a Form 2, but in a PreForm update that came out some time after the Form 3, you revamped the algorithm and it now picks orientations where more flat surface area is parallel (or near-parallel) to the build plate. On average this makes prints less tall, and I strongly suspect you did it to speed up the print times on the Form 3 and 3L (by reducing total number of layers) as the early resin profiles seemed slower than the Form 2 and users were complaining about that at the time.

**Today, when I need to be able to reliably reconstruct a .form file by hand with a different part, I often find myself carefully recording all transformations made after importing the initial model (using the rotate by x-degrees function rather than freehand). It would be incredibly helpful if PreForm had an advanced feature that showed you the final rotations and whatnot vs datum, to alleviate the need to track this by hand.

***If the Form 2 is included in scope, I would REALLY love the ability to experiment with things like laser power for initial layers (to reduce the amount of bleed on those layers at the cost of adhesion), and reduce how often it pauses for the lengthy “sensing resin” step that occurs between layers - would speed up prints tremendously.

1 Like

Just wanted to add my 2c for Home Assistant integration. All my other printers connect there and I’d really love to track my Form 3 the same way.

1 Like

This is a great idea

1 Like

@dogichow Any more news on this?

We run a makerspace with alot of your machines. i would be nice to have a login screen for a something like fabman so we can screen the prints and charge them for the usage by the material, printer, time the machine runs then allow. i could almost do all this if the print button had the option to just launch a local intranet site from the PreForm software and passed basic info then submitted the job after it has been charged to their account.

Hello @Nathan_C ,

This is a feature request I’ll pass onto our back end team.

Kind regards,

If you allow users to only add stuff to the queue, but not actually start the print, you can have an API that can get/delete/run an item in the queue. Or allow users to download a sliced file from PreForm, which you can submit via the API.

Then a call to get the status on all printers. even better would be the option to set a webhook for realtime changes to the queue or printer status.

1 Like

I have wanted the ability to create form files, but maybe in a bit different way than most others. I have over 300 products and I pre-create form files for each one. I would love it if there was a way I could integrate my printers with my website so that when a model is ordered, the site tells the software which models were ordered. Then the software could pull up and merge the individual form files and merge them till the build plate is full an then add to the print que and repeat.


Hi @dkmecik,

Thanks for sharing that feature request! Although I can’t guarantee anything, I will be sure to pass this feedback along to our internal Product Request form!


Is there a way to “zero click print” a file? I have a STL file generation code that generates my 3d models for me. In some cases, I would like the files to print immediately, from a dedicated folder that I can write to, and the printer can read from, for example.

Or, alternatively, is there an API to allow me to upload a file and do a one click print remotely?

Or, alternatively, may I speak to someone in your product development team about collaborating to build this?

If not…these would be my basic requests!

Great ideas in this thread so far! Keep them coming.

I would also love to hear people’s thoughts about what languages/protocols would be your top choice and where the integration would be run (on your own computer? on a web server? built into an existing program you already use?)

Some people already mentioned C#, HomeAssistant, and our existing OpenFL Python bindings.

1 Like

Wow, 7 years between posts. Busy times at the office? :smiley: