Product shots from fixed camera angles, one job, no local GPU

Updated 2026-10-07

Put one camera object per angle in the bpy script (for example Iso, Top, Front, Side, CloseA, CloseB, CloseC), then call render_preview(scene_script=..., cameras=['Iso','Top','Front','Side','CloseA','CloseB','CloseC'], environment='studio'): all seven come back tiled in one labeled image in about 5 GPU seconds. When it looks right, render_final with the same cameras list returns one 1080p PNG per camera (camera_files tells which is which). One job instead of seven; the preview sheet costs the same as a single 720p frame.

The prompt

Paste this into ChatGPT (with the JANCTION Render connector), Claude.ai, Claude Code or Cursor:

Build a Blender scene of a white ceramic mug on a light grey studio floor.
Add seven cameras named Iso, Top, Front, Side, CloseA (rim), CloseB (handle), CloseC (base).
Preview all seven with JANCTION Render in one sheet using cameras=[...] and environment='studio'.
Show me the sheet; when I say OK, render one 1920x1080 PNG per camera.

What the agent calls

render_preview(scene_script="...", cameras=["Iso","Top","Front","Side","CloseA","CloseB","CloseC"], environment="studio")
# -> one labeled sheet (3 columns), final_estimate and quota_left_today
render_final(scene_id="<from the preview>", cameras=["Iso","Top","Front","Side","CloseA","CloseB","CloseC"],
             width=1920, height=1080, samples=128, environment="studio")
# -> frame_0001.png .. frame_0007.png; camera_files = {"Iso": "frame_0001.png", ...}

Each camera is a normal Blender camera object: cam = bpy.data.objects.new("Top", bpy.data.cameras.new("Top")), placed and aimed in the script. The service switches scene.camera between renders inside one Blender session, so the scene is loaded once.

Why one job

Backgrounds and lighting

environment='compare' on a single-camera preview shows studio / sunset / overcast / night in one image; pick one and pass it with the cameras list. environment_visible=false keeps the HDRI lighting on a flat grey backdrop; transparent=true with output="png" gives an alpha background for web pages.

Limits

Up to 8 cameras per job, one frame per camera (frame_start picks it). Not combinable with orbit, environment='compare' or a single camera. For an animation from several cameras, submit one job per camera.

Connect

fromhow
A file on this computer (.blend, 3D file)Drop it at /upload to get a 12-hour link (no sign-up), then tell the AI "Render this file: <link>". From inside Blender use the add-on; from a terminal the CLI uploads directly
Claude.ai (web / desktop / mobile)Settings → Connectors → Add custom connector → https://render.janction.jp/mcp. "Connect" opens a page that creates a free key
ChatGPTSettings → Connectors → Advanced → Developer mode → Create → https://render.janction.jp/mcp (OAuth)
Claude Codeclaude mcp add --transport http janction-render https://render.janction.jp/mcp, then /mcp to authenticate
Codexcodex mcp add janction-render --url https://render.janction.jp/mcp
Cursor / VS CodeAdd to Cursor Add to VS Code
The button opens the editor; confirm and it is added. Manual: Streamable HTTP at https://render.janction.jp/mcp
Gemini CLI / Antigravity CLIgemini extensions install https://github.com/JasmyLab-JANCTION/janction-render
Grok / Perplexity / Le ChatAdd a custom (remote MCP) connector with https://render.janction.jp/mcp in each app's Connectors settings (Grok: New Connector → Custom; Perplexity: Pro / Max / Enterprise; Le Chat: workspace admin)
Windsurf, Cline, Goose, other MCP clientsStreamable HTTP at https://render.janction.jp/mcp; OAuth or Authorization: Bearer <api key>
Terminal (stdio, sends local files)claude mcp add janction-render -e JANCTION_RENDER_SERVER=https://render.janction.jp -- uvx --from janction-render janction-render-mcp
Inside Blender (for people)The add-on; extension repository https://render.janction.jp/extensions/index.json. Maya / Houdini / Cinema 4D: submit tools

How long it takes

jobGPU timenote
preview, 4 frames (720p split in 4 tiles, 16 samples, denoised)about 4 sround trip about 8 s; the image comes back inline
final, 24 frames at 1280x720, 64 samples → MP4about 60 smeasured 2026-09-30 / 10-01 (59 s and 58 s)
final, one 1920x1080 frame at 128 samplesabout 11 sthe estimator's baseline; heavy scenes take longer

These are individual observations of simple scenes (2026-09-30 to 10-01 UTC, NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition, 96 GB). The 4-GPU-second example used a rotating cube, four 640x360 tiles and 16 samples. GPU time includes Blender startup and scene loading; it is distinct from completion time including queue and transfers. See conditions, round trips and reproduction files. These are not speed guarantees.

render_estimate gives the number before rendering; once a scene has been rendered once, the estimate uses that scene's own measurement.

Free limits

Free beta (as of 2026-10-01): 10 GPU-minutes per key per day (20 per network), final renders up to 240 frames at 1080p. Quotas reset at 00:00 UTC (09:00 JST). New jobs exceeding the quota are rejected with HTTP 429 quota_exceeded and resets_at; they are not queued for the next day. Resubmit after the quota resets. No sign-up: connecting creates a key. Inputs and results are deleted 24 hours after last use and never used for training. Paid plans will be announced on this site and in llms.txt before they start.

FAQ

Does the preview sheet cost more with seven cameras?

No. The sheet is tiled into one 1280x720 image, so seven tiles cost about the same GPU time as one 720p frame, plus a few seconds of Blender start-up.

How do I know which PNG is which camera?

The job (and the MCP result) carries camera_files, a map from camera name to file name; frame_0001.png is the first camera in your list, and so on.

Can I render an animation from several cameras?

Not in one job: cameras renders one frame per camera. Submit one final per camera with frame_start..frame_end, or use orbit=true for a turntable.

Does it work from ChatGPT without any install?

Yes. Add the connector URL in ChatGPT's Developer mode (Settings → Connectors); the consent page creates a free key. No Blender and no GPU on your side.

Related

Overview · llms.txt

JANCTION Render v0.4.19 · JasmyLab Inc. · Updated 2026-10-07 · Tested with Blender 5.0, JANCTION Render 0.4.19 · 日本語