Beam Benchドキュメント

HTTP APIの使用

任意のHTTPクライアントからBeam Benchを操作します。CLIと同じ操作に対応し、統合に適しています。

Beam BenchのHTTP / WebSocket APIは、CLIが使用するものと同じインターフェースです。Webアプリ、統合サーバー、モバイルアプリなど、CLI以外の環境でBeam Benchを使用する必要がある場合は、HTTP APIを直接使用してください。

必要なもの

  • Beam Benchがインストールされていること。
  • Edit → Settings → GeneralでLocal APIが有効になっていること。デフォルトでは無効です。
  • HTTPクライアント(curl、使用する言語のHTTPライブラリ、Postmanなど)。

APIが有効になっていることを確認する

現在のビルドのデフォルト設定は、意図的に厳しく制限されています。

  • Local API:オフ。
  • API Port:5900。
  • Allow network devices to connect:オフ。この設定がオフの間、サーバーはこのコンピューターからの接続のみを受け付けます。

デスクトップアプリを開き、Edit → Settings → Generalに移動して、Local APIをオンにします。同じコンピューターで実行するスクリプトの場合は、Allow network devices to connectをオフのままにしてください。設定はすぐに反映されます。

共有Wi-Fi上でネットワークにバインドする前に、HTTP APIページを読んでください。APIには認証機能がなく、マシンを移動させたりレーザーを発射したりできます。

ベースURL

http://localhost:5900/api/v1

Allow network devices to connectがオンの場合は、localhostの代わりにマシンのLAN IPアドレスを使用することもできます。)

手順

1. APIが稼働していることを確認する

curl -s http://localhost:5900/api/v1/agent/capabilities | jq .

機能スキーマが返されます。(5900を変更している場合は、設定したポートに置き換えてください。)

2. 状態を確認する

curl -s http://localhost:5900/api/v1/agent/state | jq .

3. プロジェクトを開く

curl -s -X POST http://localhost:5900/api/v1/projects/open \
  -H 'Content-Type: application/json' \
  -d '{"path":"/abs/path/to/file.lzrproj"}'

4. デザインをレンダリングする(ヘッドレス)

curl -s -X POST http://localhost:5900/api/v1/design/render \
  -H 'Content-Type: application/json' \
  -d '{"format":"png","pixels_per_mm":4,"output_path":"/tmp/out.png"}'

5. カメラの状態を取得する

curl -s http://localhost:5900/api/v1/camera/state | jq .

6. カメラオーバーレイをレンダリングする(アプリが必要)

curl -s -X POST http://localhost:5900/api/v1/camera/overlay/render \
  -H 'Content-Type: application/json' \
  -d '{"output_path":"/tmp/overlay.png","view":"fit","keep":true}'

利用可能なエンドポイントグループ

完全なインターフェースについては、APIリファレンスのセクション(内容が追加された場合)を参照してください。主なグループは次のとおりです。

  • /agent、capabilities、state、guide。
  • /camera、devices、state、capture、overlay(display、transform、render)、calibration、alignment。
  • /design、describe、render、transactions。
  • /projects、open、save、close、layers、objects、undo/redo、import。
  • /export、svg、dxf、pdf、eps、ai。

セキュリティ

APIサーバーには認証機能がありません。接続先のネットワークが信頼できることを前提としています。

  • localhostのみへのバインドにより、公開範囲をローカルマシンに限定できます。
  • ネットワークへのバインドは別途オプトインする必要があり、同じLAN上のすべてのユーザーにAPIを公開します。信頼できるネットワークでのみ有効にしてください。

動作を確認する

  • curl agent/capabilitiesがJSONを返すこと。
  • レンダリング呼び出しによって、指定したファイルが生成されること。

関連項目

On this page