支持打印机群的托管式OctoPrint REST API替代方案

OctoPrint OctoPrint API 替代方案

如果您现有代码正调用 OctoPrint 的 REST API,SimplyPrint 可提供托管的全机群替代方案。每台打印机的操作相同,例如启动、暂停、恢复、发送 G-code、获取状态,但可通过一个 API 密钥、一次 OAuth2 授权流程和一个基础 URL 在您账户中的所有打印机上使用。您可通过我们的插件与现有 OctoPrint 主机并行运行,也可在固件原生集成的打印机上完全不用 Pi。

Ver resumen de API Empezar gratis Más información y guía
Imagen de la función

OctoPrint + SimplyPrint = 覆盖整个设备群的云端 REST API

SimplyPrint与 OctoPrint并行运行,不会在 Pi上替换本地 OctoPrint。SimplyPrint OctoPrint插件将现有 OctoPrint主机连接到我们的云端,这些主机上的现有 OctoPrint API集成仍可继续运行。优势是面向整个机群的 REST:所有打印机共用一个基础 URL。

一个REST API,支持每台打印机,而非每个Pi各一个

如果您一直在调用http://pi-1.local/api/printerhttp://pi-2.local/api/printer等地址,您一定了解其中的痛点:每台主机分别认证、分别开放防火墙、分别配置 SSL,没有共享队列,也没有共享耗材库存。SimplyPrint 用覆盖整个机群的单个云端 REST API 取而代之。

# Queue a print on a printer connected via the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/queue/AddItem" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "fileId": "your_gcode_file_id",
    "amount": 1,
    "for_printers": "17",
    "position": "top"
  }'
打印机ID在整个机群中唯一且稳定,其背后的主机不会显示在API中。将打印机从一台Pi移到另一台,打印机ID不会改变。

连接方式:SimplyPrint OctoPrint插件

SimplyPrint通过官方OctoPrint插件连接由OctoPrint托管的打印机。每台主机只需安装一次,插件便会将打印机关联至您的SimplyPrint账户,此后该打印机将作为标准打印机对象显示在SimplyPrint API中。

  • OctoPrint继续运行:该主机上的现有OctoPrint界面、现有OctoPrint插件和现有OctoPrint REST集成都将继续正常工作。
  • SimplyPrint增加机群层:云端面板、云端REST API、OAuth2、webhook、文件存储和多打印机打印队列。所有这些均无需更改OctoPrint自身的配置。
  • 在支持的情况下跳过OctoPrint:Prusa MK4系列打印机可以使用SimplyPrint的开源固件套件(目前处于测试版,暂不支持摄像头),Klipper打印机则通过现有Klipper主机上的Moonraker连接,而非OctoPrint。无论哪种方式,API都会将它们视为同一打印机对象。

插件设置指南
Imagen de la función
Imagen de la función

读取打印机状态并发送命令

无论打印机由OctoPrint托管还是通过其他方式连接,每个打印机控制端点的工作方式都相同。传入打印机ID,即可获得JSON。

# List every printer in the account - identical shape regardless of host
curl "https://api.simplyprint.io/{companyId}/printers/Get" \
  -H "X-API-KEY: your_api_key_here"
发送您的固件支持的任何G-code,可让现有由G-code驱动的OctoPrint自动化通过SimplyPrint继续运行:
# Send a one-off G-code line through the SimplyPrint OctoPrint plugin
curl -X POST "https://api.simplyprint.io/{companyId}/printers/actions/SendGcode" \
  -H "X-API-KEY: your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "pid": 17, "gcode": "M115" }'

SimplyPrint在OctoPrint的REST API之外还增加了什么

OctoPrint 的 REST 按主机划分并以打印机为中心。SimplyPrint 提供了管理打印机群的基础功能。多打印机队列、webhook 和持久化打印任务历史是 OctoPrint REST API 所不具备且 SimplyPrint 最常用的三项功能:

  • 带审批和路由的多打印机队列:/queue/AddItem会自动选择兼容的打印机,或由您指定一台。无需再编写“哪个Pi空闲”的定制代码。
  • Webhook推送事件:SimplyPrint在队列、文件、打印机、任务和耗材事件发生时立即向您的URL发出POST请求。无需轮询,不会错过事件。
  • OAuth2合作伙伴应用流程:让其他店铺通过同意页面将自己的SimplyPrint账户连接到您的工具,这种模式无法用于每台主机的OctoPrint REST。
  • 耗材管理:读取您工作室中的每个料盘,而非仅读取装入打印机热端的耗材。按打印任务跟踪重量、品牌、材料、颜色和干燥状态。
  • 任务历史和统计端点:筛选和归档历史任务,并获取整个打印机群而非单个主机的成本和时间数据。
  • 面向AI代理的MCP服务器:将同一打印机群作为原生工具接口提供给Claude、ChatGPT和Gemini。

Imagen de la función
Imagen de la función

从OctoPrint REST集成迁移

如果您当前有可用的 OctoPrint REST 代码,迁移可逐步进行,切换期间两者可并行运行:

  • 1. 在每台已运行OctoPrint的主机上安装SimplyPrint OctoPrint插件。该插件不会禁用OctoPrint的REST,两个界面均保持可用。
  • 2. 在账户设置 → API中生成SimplyPrint API密钥
  • 3. 逐个迁移端点,从只读(/printers/Get/queue/GetItems)开始,再迁移写入操作。
  • 4. 配置webhooks,以替代您一直使用的任何OctoPrint事件监听模式:SimplyPrint会将事件推送到您的URL,而不是在每台Pi上运行插件循环。
  • 5. 移除各主机的端点,前提是您的代码已仅通过SimplyPrint云端读写。
需要将特定OctoPrint端点映射到对应SimplyPrint端点的帮助?完整API参考列出了每个端点及示例。

SimplyPrint 云 REST API 的套餐访问权限

与SimplyPrint主API采用相同的套餐限制。免费版和基础版套餐不提供API;专业版及更高套餐解锁基础API;打印农场版及更高套餐解锁增强API(可修改队列并启动打印)。

Función / límite Gratis Básico Pro Granja de impresión Enterprise Escuela Cloud Slicer Gestor de filamento
每分钟API请求数
整个账户的所有API调用共享的滚动式每分钟限流器。
- - 60 180 600 180 - -
基础API访问权限
读取每台已连接打印机的状态、打印队列、任务和历史记录。
增强型API(启动打印、发送G-code)
解锁文件上传、会启动打印的队列变更和直接发送G-code。
Webhooks(替代OctoPrint事件监听器)
打印农场套餐及以上。提供打印队列、文件、打印机、打印任务和耗材的推送事件。

¿Quieres saber más sobre nuestros planes?

Ver precios y comparativa completa de funciones

OctoPrint 替代方案常见问题

不是。SimplyPrint OctoPrint插件在OctoPrint内部运行,因此OctoPrint仍会正常运行。其优势在于,SimplyPrint云API通过一个基础URL公开打印机群中的每台打印机,您无需分别连接每台Pi。
是的。SimplyPrint插件可与您安装的其他任何OctoPrint插件共存。不会移除OctoPrint UI或REST接口,两者都能继续运行。
如果支持您的打印机,您可以弃用 OctoPrint 并改用其他方式:Prusa MK4 系列可通过 SimplyPrint 的开源固件套件(测试版,暂不支持摄像头)连接,Klipper 则通过现有 Klipper 主机上的 Moonraker 连接。Bambu Lab 打印机通过 Raspberry Pi 或 mini PC 上的 SimplyPrint Bambu Lab Client bridge 连接。无论哪种方式,API 都会以相同方式处理打印机。
打印机首次连接时,SimplyPrint会分配一个固定的数字打印机ID。该ID保存在SimplyPrint账户中,而不在主机上,因此将打印机从一个Pi迁移到另一个Pi不会改变您的API代码所使用的打印机ID。
可以,这是推荐的迁移路径。安装 SimplyPrint插件,逐个迁移端点,在您确认 SimplyPrint代码路径可靠前,保持 OctoPrint REST接口在线。
是的。OAuth2流程允许每个店铺通过同意界面将自己的SimplyPrint账户连接至您的应用,无需共享API密钥。OAuth2详情和客户端申请表请参阅主API页面

Índice de contenidos