OctoPrint + SimplyPrint = ファーム全体を管理するクラウドREST API
SimplyPrintはOctoPrintと並行して動作し、Pi上のOctoPrintを置き換えることはありません。SimplyPrintのOctoPrintプラグインが既存のOctoPrintホストをクラウドに接続し、それらのホスト上の既存のOctoPrint API連携も引き続き動作します。プリンターフリート全体でRESTを使え、すべてのプリンターに1つのベースURLでアクセスできます。
Piごとではなく、全プリンターに1つのREST API
http://pi-1.local/api/printer、http://pi-2.local/api/printerなどに接続していた場合は、その煩雑さをご存じかもしれません。ホストごとの認証、ファイアウォールのポート開放、SSL設定が必要で、キューやフィラメント在庫も共有できません。SimplyPrintなら、プリンター全体を1つのクラウド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 UI、プラグイン、REST連携はすべて引き続き使用できます。
- SimplyPrintがプリンター群の管理機能を追加:クラウドパネル、クラウドREST API、OAuth2、Webhook、ファイルストレージ、複数プリンターのキューを利用できます。OctoPrint自体の設定を変更する必要はありません。
- 対応機種ではOctoPrintを省略:Prusa MK4シリーズはSimplyPrintのオープンソースファームウェアバンドルを利用できます(現在ベータ版で、ウェブカメラには未対応)。KlipperプリンターはOctoPrintではなく、既存のKlipperホスト上のMoonraker経由で接続します。どちらの場合もAPIは同じプリンターオブジェクトとして扱います。
プリンターの状態を取得し、コマンドを送信
すべてのプリンター制御エンドポイントは、プリンターが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を送信できます。既存のOctoPrintのG-codeによる自動化を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" }'
OctoPrintのREST APIにSimplyPrintが追加する機能
OctoPrintのRESTはホスト単位で、プリンターを中心に設計されています。SimplyPrintはプリンター群の管理に必要な機能を追加します。複数プリンターのキュー、webhook、永続的なジョブ履歴は、OctoPrintのREST APIにはないSimplyPrintの機能の中で、特によく使われる3つの機能です:
- 承認と振り分けに対応した複数プリンター用キュー:/queue/AddItemが対応するプリンターを自動的に選択します。特定のプリンターを指定することもできます。空いているPiを探す独自のコードは不要です。
- Webhookプッシュイベント: SimplyPrintは、キュー、ファイル、プリンター、ジョブ、フィラメントのイベントが発生した瞬間に、指定されたURLへPOSTします。繰り返しのポーリングは不要で、イベントを見逃しません。
- OAuth2パートナーアプリのフロー:他の事業者が同意画面を通じて、それぞれのSimplyPrintアカウントをツールに接続できます。ホストごとに動作するOctoPrint RESTでは、この方式は使えません。
- フィラメント管理:プリンターのホットエンドにセットされたものだけでなく、作業場のすべてのスプールを確認できます。プリントごとの重量、ブランド、素材、色、乾燥状態を管理できます。
- ジョブ履歴と統計のエンドポイント: 過去のジョブの絞り込みやアーカイブ、ホスト単位ではなくプリンター全体のコストと時間のデータ取得ができます。
- AIエージェント向けMCPサーバー:同じプリンター群をClaude、ChatGPT、Geminiからネイティブツールとして利用できます。
OctoPrint REST連携からの移行
現在動作しているOctoPrintのRESTコードがある場合は、段階的に移行できます。切り替え中は両方を並行して実行できます:
- 1. SimplyPrintのOctoPrintプラグインをインストール:OctoPrintを実行中のすべてのホストにインストールします。このプラグインはOctoPrintのRESTを無効にしないため、両方を引き続き使用できます。
- 2. SimplyPrintのAPIキーを生成:アカウント設定→APIから生成します。
- 3. エンドポイントを1つずつ移行:読み取り専用(/printers/Get、/queue/GetItems)から始め、その後に書き込みを移行します。
- 4. Webhookを設定して、従来のOctoPrintのイベントリスナーの仕組みを置き換えます。SimplyPrintは各Piでプラグインのループを実行する代わりに、URLへイベントを送信します。
- コードが中央のSimplyPrint APIを通じて読み書きするようになったら、5. ホストごとのエンドポイントを廃止します。
SimplyPrintクラウドREST APIのプラン別利用条件
SimplyPrintのメインAPIと同じプラン制限が適用されます。FreeとBasicプランではAPIを利用できません。Pro以上ではBasic API、Print Farm以上ではEnhanced APIを利用できます。Enhanced APIではキューの変更やプリントの開始が可能です。
| 機能 / 制限 | 無料 | 基本 | Pro | プリントファーム | エンタープライズ | 学校 | クラウドスライサー | フィラメントマネージャー |
|---|---|---|---|---|---|---|---|---|
|
1分あたりのAPIリクエスト数
アカウントのすべてのAPI呼び出しに共通する、直近1分間の制限です。
|
- | - | 60 | 180 | 600 | 180 | - | - |
|
基本APIアクセス
接続されたすべてのプリンターの状態、キュー、ジョブ、履歴を読み取ります。
|
||||||||
|
拡張API(プリントを開始、G-codeを送信)
ファイルのアップロード、プリントを開始するキューの変更、G-codeの直接送信が利用可能になります。
|
||||||||
|
Webhooks(OctoPrintイベントリスナーの代替)
プリントファーム以上のプランで利用できます。キュー、ファイル、プリンター、ジョブ、フィラメントのイベントをプッシュします。
|
プランについて詳しく確認しますか?
料金と機能の比較をすべて表示
OctoPrint APIの代替