{"slug": "glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each", "title": "GLB to a 360-degree turntable MP4 and four product shots, one API call each (measured)", "summary": "JANCTION Render, a cloud GPU render farm for Blender, has published measured timings for turning a GLB model into a 360-degree turntable MP4 or four product shots via a single API call. In a run on 2026-10-09 using the 120 KB Khronos glTF sample Duck, a 24-frame 720p turntable consumed 42.56 GPU-seconds and arrived 124 seconds after ordering, while four 1440x1440 transparent-background product shots used 12.73 GPU-seconds and arrived in 13 seconds. The service exposes the same orders through a Python client, an HTTP API, a CLI, and a remote MCP server for Claude, ChatGPT, Codex and Cursor, with prices quoted as a ceiling before rendering begins.", "body_md": "Official JANCTION Render: [https://render.janction.jp](https://render.janction.jp)\n\nShort answer: upload the model, then order a turntable or product shots from a render API. JANCTION Render is a cloud GPU render farm for Blender that code and AI agents call. On it, a 24-frame 720p turntable of the Khronos glTF sample Duck took 42.56 GPU-seconds, and four 1440x1440 product shots with a transparent background took 12.73 GPU-seconds. At 0.1 JPY per GPU-second that is about 4 JPY and about 1 JPY, and each new key gets 500 JPY of GPU time free.\n\n`pip install janction-render`. The first call creates a free key and keeps it in `~/.janction-render.json`.\n\n``` python\nfrom janction_render.client import Client\n\nc = Client()\nscene = c.upload(\"product.glb\")                  # .glb, .gltf, .fbx, .usd or .obj, or a .blend\n\njob = c.outcome(\"turntable\", scene[\"scene_id\"], size=\"720p\", frames=24)\nprint(job[\"outcome\"][\"price_yen\"])               # the price ceiling, known before anything renders\njob = c.wait(job[\"job_id\"], timeout=900)\nprint(c.download(job[\"job_id\"], \"out\", only=\"mp4\"))\n\nshots = c.outcome(\"product-shot\", scene[\"scene_id\"], size=\"square\", transparent=True)\nshots = c.wait(shots[\"job_id\"], timeout=900)\nprint(c.download(shots[\"job_id\"], \"shots\", only=\"frames\"))    # 0, 90, 180 and 270 degrees\n```\n\nThe same two orders exist in the HTTP API (`POST /v1/files`, then `POST /v1/outcomes/turntable` or `POST /v1/outcomes/product-shot`) and in the CLI (` janction-render outcomes` lists them).\n\nA turntable is one full rotation with an orbiting camera at 24 fps, in studio light unless you pick sunset, overcast or night. It comes in 720p or 1080p with 24, 48 or 96 frames. The camera sits 18 degrees above the model by default, and `orbit_target` centres it on one object when the file has several.\n\nProduct shots are four stills at 0, 90, 180 and 270 degrees, 1080p or square, with an optional transparent background.\n\nThe price is known before the render starts and works as a ceiling. A 720p turntable is at most 9, 16 or 30 JPY for 24, 48 or 96 frames, a 1080p one 16, 30 or 59 JPY, and product shots 6 JPY. The ceiling is reserved first, you pay the GPU seconds actually used up to it, and nothing is charged while the free GPU time covers the job.\n\nThese are from one run on 2026-10-09, with the 120 KB Duck.glb from the Khronos glTF sample assets.\n\nThe upload took 0.8 seconds. The 720p, 24-frame turntable used 42.56 GPU-seconds. It waited 103 seconds behind three larger jobs that were already queued, then rendered in 18 seconds split across four workers, so the MP4 arrived 124 seconds after the order. The square product shots with a transparent background used 12.73 GPU-seconds, started at once and arrived 13 seconds after the order, as four 1440x1440 PNGs with an alpha channel.\n\nAn earlier measurement on the benchmarks page: a 48-frame full turn at 960x540 used 75.7 GPU-seconds ([https://render.janction.jp/benchmarks](https://render.janction.jp/benchmarks)).\n\nThe service is also a remote MCP server at `https://render.janction.jp/mcp` for Claude, ChatGPT, Codex and Cursor, so \"make a 360-degree video of this GLB\" works in a chat. The agent can call `render_preview` with `orbit=True` first, which shows the model from 0, 90, 180 and 270 degrees, and then `render_final` with `orbit=True`, which renders the full turn as an MP4. Files on your disk go through [https://render.janction.jp/upload](https://render.janction.jp/upload) when the chat app cannot read them.\n\nA job goes up to 240 frames at 1080p. Inputs and results are deleted 24 hours after last use. There are two GPUs, so a job waits in a queue when both are busy, and the status page says so.\n\nMore: [https://render.janction.jp/product-turntable](https://render.janction.jp/product-turntable), [https://render.janction.jp/gltf-to-mp4](https://render.janction.jp/gltf-to-mp4) and [https://render.janction.jp/product-shots-multi-angle](https://render.janction.jp/product-shots-multi-angle). Prices: [https://render.janction.jp/pricing](https://render.janction.jp/pricing)\n\nOfficial JANCTION Render: [https://render.janction.jp](https://render.janction.jp). Code and client: [https://github.com/JasmyLab-JANCTION/janction-render](https://github.com/JasmyLab-JANCTION/janction-render)", "url": "https://wpnews.pro/news/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each", "canonical_source": "https://dev.to/_903a3934b362f0afe2a8/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each-measured-2g9b", "published_at": "2026-10-09 10:09:25+00:00", "updated_at": "2026-10-09 10:21:24.316899+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "agent-protocols", "ai-infrastructure", "generative-ai"], "entities": ["JANCTION Render", "Blender", "Khronos glTF sample Duck", "Claude", "ChatGPT", "Codex", "Cursor"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each", "markdown": "https://wpnews.pro/news/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each.md", "text": "https://wpnews.pro/news/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each.txt", "jsonld": "https://wpnews.pro/news/glb-to-a-360-degree-turntable-mp4-and-four-product-shots-one-api-call-each.jsonld"}}