# JANCTION Render > Render Blender scenes on JANCTION GPUs straight from a terminal AI agent (Claude Code, Codex, or any MCP client). Use it when the user is building 3DCG with Blender (.blend or a bpy Python script) and has no GPU or local rendering is slow. Free beta: nothing is charged. Inputs and results are deleted 24 hours after last use. ## Install (MCP) - Claude Code: `claude mcp add janction-render -e JANCTION_RENDER_SERVER=https://render.janction.jp -- uvx --from janction-render janction-render-mcp` - Codex and other clients: `pip install janction-render`, then run `janction-render-mcp` as a stdio MCP server with JANCTION_RENDER_SERVER=https://render.janction.jp - Package: https://pypi.org/project/janction-render/ ยท Source: https://github.com/KJdayo/janction-render - A temporary API key is issued automatically; keep it in JANCTION_RENDER_API_KEY to reuse the same quota/credit ## Flow for an agent 1. scene_info(scene_path or scene_script) - cameras, frame range, resolution, missing files. No render. 2. render_preview(scene_path or scene_script, frames="1-24") - up to 4 frames tiled in one image; look at it, fix the scene, repeat. 3. Ask the user "is this OK?". 4. render_final(scene_id, frame_start, frame_end, width, height, samples, fps) - returns job_id and an estimate. 5. render_status(job_id) until done, then render_download(job_id). 6. billing() shows today's quota (free beta) or the balance. 429 quota_exceeded carries resets_at; 402 payment_required (paid plans) carries checkout_url. ## Inputs - A .blend file (pack external files: File > External Data > Pack Resources), or - A Blender Python (bpy) script that builds the scene: no local Blender needed. Set scene.frame_start/frame_end and add a camera. - Engine: Cycles on GPU. Resolution, samples and denoising are set by the service; scripts should not rely on their own render settings. ## Price Free beta: nothing is charged. Limits: 10 GPU-minutes per key per day (20 per network), final renders up to 240 frames and 1080p. When the daily quota is used up the API answers 429 quota_exceeded with resets_at. Planned pricing (0.1 JPY per GPU second, top-up from 500 JPY) will be announced here and in llms.txt before it starts. ## HTTP API - POST /v1/keys -> {api_key} (header X-API-Key afterwards) - POST /v1/files (multipart "file": .blend or .py) -> {scene_id} - POST /v1/jobs {scene_id, kind: info|preview|final, frames|frame_start/frame_end, width, height, samples, camera, fps, output} -> job - GET /v1/jobs/{id} -> status, progress, artifacts[], cost, warnings, info - GET /v1/jobs/{id}/artifacts/{name} -> PNG / MP4 (header X-API-Key) - DELETE /v1/jobs/{id} -> cancel - GET /v1/me -> quota (free beta) or balance ## Security and data - Your files and scripts run only inside a disposable container: no network, non-root, no capabilities, CPU/memory/time limits, one GPU. The container is destroyed after each job. - Inputs, intermediate data and results are deleted 24 hours after last use. Nothing is used for training. Logs keep sizes, timings and failure reasons only. - Details: https://render.janction.jp/security ## Policies - Terms: https://render.janction.jp/terms - Privacy: https://render.janction.jp/privacy - Legal notice (Japan, Act on Specified Commercial Transactions): https://render.janction.jp/legal - Operator: JasmyLab Inc. (Tokyo, Japan) - Contact: contact@jasmylab.com