Open API - at least send gcode and check status

+1 It would definitely be nice to have some way to get layer status and gcode, like how you can see the gcode output of octoprint. With Octoprint you could use that gcode output to trigger an external DSLR in many different ways (rpi, arduino, a laptop, thin client, whatever hardware) which was great. I miss that a lot.

1 Like

I think there should be an API, Bambu realized, as for the Bambu X1E, that WiFi and permanent cloud usage isn’t always an option. So I think an API with basic get and post functionality would be great.
I would expect to see the following:

Get

  • Nozzle, Bed and Housing/interior temp
  • Layer
  • Percentage / print time left
  • Filename
  • Regular still image of the print
  • Preview Image from the 3MF
  • Status
  • Issue / Error ID/s
  • Attached accessories/AMS
  • Filament status with a hex color, e.g #FF0000

Post

  • Pause/Resume/stop print
  • Home/move axis
  • Turn light on or off
  • List SD Card contents and start printing
  • Heat bed/nozzle
  • Fan control

So that’s just my idea, like I used that on other machines: Prusa, Octoprint/OctoPi, Repetier and Ultimaker

4 Likes

+1 to @3DJupp api definition

1 Like

+1, I would like to use this to make a Stream Deck Plugin and maybe a Discord bot.

A nice endpoint would also be to get an image/picture from the camera. not the whole video stream.

I would love to purchase multiple Bambu printers to run a business but no API is an insurmountable dealbreaker for me. @SirWill could you at least clarify why an API is not going to happen? It seems like an extremely strange choice to me.

Actually possible, you are able to connect to the printer via MQTT (locally or cloud) and subscribe on “device/>YourPrinterSerial</report.” You will receive a general update JSON with all the info you asked for and also record any command that is sent to the printer. You can then post these messages to device/>YourPrinterSerial</request"

You can send device commands, gcode snippets, and even start a print that’s located on the SD card. (the start print message needs to set the right MD5 checksum, you can find that in your 3mf)
This includes an AMS slot mapping and also plate selection in case you slice multiple plates.

To get a sliced model or project to the printer, you can connect to the printer’s FTP server and upload whatever you want.

Be careful with any message you send! There will be no compatibility checks.

I’m currently working on a locally hosted print queue server that should make managing multiple printers and prints easy. I will share the project once it’s ready for beta.

7 Likes

I also support the OP’s request for an API. A printer queue for multiple printers is needed.

@iChris That is a awesome development! I am excited to try your solution once it is beta.

1 Like

Yes, API please! Would love to have the ability to see status and/or control via my stream deck.

1 Like

I am interested in helping test this.

I was hoping they would have a API by now that’s available even if limited.

im interested in testing.

I literally have a mysql database with the SKU’s of prints, along with filename.
If I could send the printer something like
PrintFile(‘MMMini_Axolotl_single_colour.3mf’)
or
PrintFile(‘MMMini_Axolotl_MultiColor.3mf’)
If I’m using AMS, I could always have a note of what slot each colour needs to be in, i.e. eyes slot 1, body slot 2, etc etc

I would really like to add to this request. I’ve recently come from a klipper converted Ender 3 S1 Plus and previously Octoprint (with Ender 3 and Ender 3 S1). I have started using my HomeAssistant instance to monitor my P1S as it is more reliable than the Bambu Handy app.

I’d like to see an API that will work with OctoPrint or similar that supports basic functionality inc file management. I’d even add another box if it gave the functionality required.

I get that it’s good for beginners but some of the most basic functionality against Klipper / Octoprint / Duet is really missing for those of us moving across from these types of printers.

The actual printer thus far is excellent. The user interface is, imo, lacking.

That’s great @iChris . How is it going your beta? I’d like to test it. Thanks!

Interested in API information

This would be amazing. There is so much potential here and if something like this could be rolled into HomeAssistant as an addon it would rock! This would go some way to adding back webui stuff I am missing having moved over from Klipper.

I don’t see how this is relevant and appears to be a logical fallacy to justify deceptive business practices (at best).

You can enable LAN control and also only deliver firmware updates via cloud.

Just say you want to see what every printer is making and you’ll save yourself from spending so much time pretending to care on the forum.

You mean making the existing API accessible to customers won’t be happening soon. It is all done by API already, the api exists.

If developers had access to the APIs they could develop an appt that would allow monitoring & control of the Printers via Home Apps (Home Kit / Google Home) - I’d like that!

Please @BambuLab share / open up the APIs used by your printers!

2 Likes

I would love if I could just get the print info. I want to get time, image, filament type and amount. If we had that solution at our MakerSpace the Director would probably buy 5 more machines from them. Maybe even more because I think our members would use the printers way more if we had these style printers. We have one machine now but being that it’s a manual process to check and gather how much filament, time each print takes is really next to impossible. We are all volunteers at our space and that’s a lot to ask people to do.

Welcome to the forum.

There are both open source and commercial ways of doing this.

Check out this thread for open source Bambu farm management.

Or check out https://www.3dprinteros.com/ for a commercial management system.

2 Likes

Hello, I’m a prospective customer for a 3D printer. I’m by no means anyone special, but I think it’s helpful that Bambu know where we’re coming from, and why they’re missing some (at least one) potential sale(s). I’ve never touched a Bambu printer, but I’ve seen a few in person.

Bambu printers are high quality, and well liked in the community. They are consistently well-done, quality products in a sea of printers where corners are cut in the name of a few cents.

Everyone knows this. So why isn’t the Bambu labs the next Ender (yet)? In my opinion, Ender’s edge comes in the fact that there is not a single proprietary part / software on a stock Ender 3, or 5. Because of this, there are hundreds of hardware mods for the Ender, tens of thousands of software contributions to the firmware, and has an entire ecosystem of makers working on additions, improvements, and mods for free. This, in my humble opinion, is the biggest separation between the two products.

An open API interface could be a small but important start towards garnering this sort of community. We aren’t looking for pristine libraries that are in every programming language imaginable. We’re looking for some simple documentation of API calls that we could write code around, and maybe an example of code performing a few of these calls.

I’ve seen the open source bambu-farm project, and the API is there, and able to be called by 3rd parties, we just need the docs. :slight_smile: I know there is a community of tinkerers and developers out there that are chomping at the bit to make free software for Bambu printers, it’s evident purely from the attempts that have been made thus far to reverse-engineer the protocols.

I urge those at Bambu labs to at lest consider making the API spec open, this is low hanging fruit in terms of methods to increase both community and reputation.
Thanks for taking the time to read this.