Blender を描画する HTTP API

更新 2026-10-02

JANCTION Render の HTTP API は 5 つの呼び出しです。POST /v1/keys で一時キー、POST /v1/files でシーンのアップロード、POST /v1/jobs で描画(kind は info | preview | final)、GET /v1/jobs/{id} で状態と残り時間、GET /v1/jobs/{id}/artifacts/{name} でファイル。JSON で入れて JSON で返り、登録は要りません。無料ベータです。

パイプラインや自作エージェントから

MCP の道具がやっていることは、すべて JSON の素の HTTP です。一時キーに登録は要りません。

curl -X POST https://render.janction.jp/v1/keys                       # -> {"api_key": "jr_..."}
curl -X POST https://render.janction.jp/v1/files -H "X-API-Key: $K" -F [email protected]     # -> {"scene_id": "f_..."}
curl -X POST https://render.janction.jp/v1/files/f_.../assets -H "X-API-Key: $K" -F files=@textures/wood.png   # 素材(任意)
curl -X POST https://render.janction.jp/v1/estimate -H "X-API-Key: $K" -H "Content-Type: application/json" \
     -d '{"kind":"final","frame_start":1,"frame_end":24,"width":1280,"height":720,"samples":64}'   # -> 秒数、human、無料枠
curl -X POST https://render.janction.jp/v1/jobs -H "X-API-Key: $K" -H "Content-Type: application/json" \
     -d '{"scene_id":"f_...","kind":"final","frame_start":1,"frame_end":24,"width":1280,"height":720,"samples":64,"environment":"studio"}'
curl https://render.janction.jp/v1/jobs/j_... -H "X-API-Key: $K"      # 状態、進み具合、eta、artifacts[]
curl -o output.mp4 https://render.janction.jp/v1/jobs/j_.../artifacts/output.mp4 -H "X-API-Key: $K"

エンドポイント

POST /v1/keys、POST /v1/files、POST /v1/files/{id}/assets、GET /v1/files/lookup?sha256=(送り直しの省略)、 POST /v1/estimate、POST /v1/jobs(kind は info | preview | final。オプション width, height, samples, camera, fps, output, environment, environment_strength, environment_visible, blender)、GET /v1/jobs/{id}、DELETE /v1/jobs/{id}、 GET /v1/jobs/{id}/artifacts/{name}、GET /v1/me、GET /v1/health(ワーカー・待ち行列・送れる形式・プリセット)。 エラー: 429 quota_exceeded(resets_at 付き)、400 beta_limit(大きすぎる。分ける)、有料化後は 402 payment_required。

ターンテーブル。orbit=true でカメラがシーンを 1 周します(既定 24 コマ)。試し描きは 4 方向、仕上げは 1 周の MP4。読み込んだモデルを見せるのに向きます。

bpy スクリプトから render_final(orbit=true) で作った 48 コマのターンテーブル(960x540、24 サンプル、studio)。JANCTION Render で GPU 76 秒、2026-10-02。

送れるもの: .blend(外部の画像は一緒に送るか、File → External Data → Pack Resources で詰める)、bpy の Python スクリプト(手元に Blender が無くてもよい。 シーン・カメラ・コマ範囲だけを書く。エンジン・解像度・サンプル数はサービス側が設定)、3D ファイル(glTF/GLB・FBX・USD・OBJ・STL・PLY・Alembic。空のシーンに読み込んで描く)。 カメラや光が無ければ自動で補い、応答の warnings に書きます。environment に studio / sunset / overcast / night を指定すると、同梱の HDRI で照明します。environment="compare" の試し描きは、同じコマを 4 つのプリセットで描いて札付きの 1 枚にします。

同じ Blender のシーン(サルと金属の立方体)を environment=studio / sunset / overcast / night の 4 つのプリセットで描いた比較
同じシーンを 4 つのプリセットで。照明を作り込まなくても、どれかを選べば形になります(JANCTION Render で描画、2026-10-02)。

安全性

仕事ごとに使い捨てのコンテナで、ネットワークなし・非 root・権限なし・CPU/メモリ/時間の上限付きで動かします。鍵はハッシュで保存し、ヘッダでだけ受けます。 詳しくは安全性のページに。

Python パッケージ

pip install janction-render
janction-render preview scene.blend --frames 1-24     # コマンドも同じ API を使う
janction-render render scene.blend --frames 1-240 --wait

MCP

同じサービスが MCP サーバー https://render.janction.jp/mcp でもあります。Blender を描画する MCP サーバーを参照。

無料枠

無料ベータ(2026-10-02 時点): 1 つの鍵につき 1 日 10 GPU 分(同じ回線からは 20 分)、仕上げは 1 回 240 コマ・1080p まで。登録は不要で、つなぐと鍵ができます。入力と結果は最後に使ってから 24 時間で消え、学習には使いません。有料化するときは、この サイトと llms.txt で先に告知します。

よくある質問

OpenAPI の文書はありますか

公開していません。上の一覧が API のすべてで、llms.txt に項目ごとの欄が書いてあります。Python パッケージ(janction-render)がそれを包んでいます。

コマを全部落とさずに MP4 だけ取るには

artifacts/output.mp4 だけを取ってください。仕事の状態に成果物の名前が並びます。MCP の道具なら render_download(only='mp4')。

上げたシーンを使い回せますか

使えます。scene_id を持っておくか、GET /v1/files/lookup?sha256=... を呼ぶと、同じ中身があればそれを返します。

関連

案内 · llms.txt

JANCTION Render v0.3.2 · JasmyLab Inc. · English