Product turntable video from a 3D file, made by an AI agent

Updated 2026-10-07

Give the agent the product's 3D file (a GLB, glTF, FBX, USD or OBJ link, or a .blend) and ask for a turntable: on JANCTION Render that is one call, render_final(scene_url=..., orbit=True, orbit_frames=24, environment='studio', output='mp4'), and the agent gets back an MP4 of one full rotation with the camera framed on the object. A 24-frame 720p turntable of a headphones model took 58 GPU-seconds on the production GPU (about 6 JPY at the planned rate, free during the beta). Preview the first four angles first (render_preview with orbit=True), fix the lighting or the framing, then render the final. No Blender, no GPU and no account are needed on your side.

What you get

One MP4 (24 fps) of a full rotation around the product, lit by a studio HDRI, with the camera distance and elevation chosen automatically from the model's bounds. Options: orbit_frames 24 / 48 / 96 (smoothness), orbit_elevation in degrees (default 18), transparent=True for WebM / GIF / WebP with alpha, environment studio / sunset / overcast / night. The measured example: headphones, 24 frames, 1280x720, 64 samples, 58.3 GPU-seconds.

Step by step (any MCP client)

  1. Put the model where the agent can fetch it over https (your CDN, a GitHub release, or /upload, which gives a 12-hour link with no account).
  2. Ask: "Make a 360-degree turntable video of https://example.com/headphones.glb with studio lighting."
  3. The agent calls render_preview(scene_url=..., orbit=True, environment='studio'): four angles in one image in a few seconds. Say what to change (lighting preset, elevation, background).
  4. Then render_final(scene_url=..., orbit=True, orbit_frames=24, width=1280, height=720, environment='studio', output='mp4'). The agent reports the time estimate and returns a download link (valid 24 hours), or a share page you can send to the client.

The same over HTTP (for a pipeline)

curl -s -X POST https://render.janction.jp/v1/keys                                  # a key, no sign-up
curl -s -X POST https://render.janction.jp/v1/files/url -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" -d '{"url": "https://example.com/headphones.glb"}'   # -> scene_id
curl -s -X POST https://render.janction.jp/v1/outcomes/turntable -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" -d '{"scene_id": "...", "size": "720p", "frames": 24, "environment": "studio"}'
# -> job_id and a fixed price (0 during the beta); then GET /v1/jobs/{job_id} until done and fetch output.mp4

POST /v1/outcomes/turntable is the fixed-price form of the same render (the price is stated before the job starts); POST /v1/jobs with orbit: true is the metered form. Both are in the OpenAPI.

Fit and limits

Good fitNot this
catalog items as GLB / glTF / FBX / USD / OBJ; packshots for a product page; a batch of SKUs from a scriptediting the model (use a modeling tool or a local Blender MCP first); photoreal cloth or fluid simulation
24 to 96 frames, 720p or 1080p4K during the beta (1080p is the per-job limit)

Textures referenced by a glTF or OBJ are fetched from the same folder as the file; FBX and USD should embed or ship their textures (pass extra files with asset_urls). Transparent background: transparent=True with output='webm' (or gif / webp); MP4 cannot carry alpha. See rendering 3D files and turntables from a .blend.

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

FAQ

Does the product need to be a .blend?

No. A GLB / glTF / FBX / USD / OBJ / STL / PLY link is imported into an empty scene, centred and framed. A .blend works too and keeps its own camera unless orbit=True.

Can it make the four angles as stills instead of a video?

Yes: POST /v1/outcomes/product-shot (0 / 90 / 180 / 270 degrees, PNG, optional transparent background), or cameras=[...] for named cameras in a .blend.

How long does it take?

Measured: 24 frames at 720p, 64 samples, 58 GPU-seconds plus a few seconds of queue. 48 frames roughly doubles it. The agent tells you the estimate before it starts.

Can I use the video commercially?

During the free beta the service is provided as is with no availability guarantee; you own your renders. Commercial-use terms come with the paid plans (see /pricing and /terms).

Related

Overview · llms.txt

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