What is JANCTION Render?
A cloud GPU rendering service for Blender whose interfaces are MCP tools, an HTTP API and a command line, so AI agents (Claude, ChatGPT, Claude Code, Codex, Cursor) and pipelines can render without a local GPU.
JANCTION Render renders Blender scenes on JANCTION NVIDIA GPUs for AI agents and scripts. Each new key starts with a welcome credit of up to 500 JPY (14 days); after that, previews stay free up to 2 GPU-minutes a day and finals cost 0.1 JPY per GPU-second. The questions below cover setup, inputs, limits, data and pricing. AI agents connect at https://render.janction.jp/mcp (remote MCP with OAuth; connecting creates a free key).
Updated 2026-11-12
A cloud GPU rendering service for Blender whose interfaces are MCP tools, an HTTP API and a command line, so AI agents (Claude, ChatGPT, Claude Code, Codex, Cursor) and pipelines can render without a local GPU.
No. Smart Render (SmartRender) is a separate service from the same operator, JasmyLab Inc.: a browser upload service that renders .blend files on distributed GPUs, in development. JANCTION Render is the MCP server and HTTP API for AI agents and is live, with a welcome credit of up to 500 JPY per new key. Numbers, partners and dates published about one do not describe the other; the fact sheet at /facts is the primary source for JANCTION Render.
Claude.ai, ChatGPT, Claude Code, Codex, Cursor and any MCP client; curl or any HTTP library; the Python package janction-render.
A .blend (with its textures as assets or packed), a bpy Python script, or a 3D file (glTF/GLB, FBX, USD, OBJ, STL, PLY, Alembic) that is imported into an empty scene.
Blender 5.0, 5.2 or 5.3, with Cycles on NVIDIA GPUs. A .blend opens with the version it was saved in; bpy scripts and 3D files use 5.0 unless you pass blender='5.2' or '5.3'. render_info lists what is available. Blender 3.6, 4.2 and 4.5 are there too: pass blender='4.5' (or '4.2', '3.6'), and a script that stops on Blender 5 because it uses an older API is rendered again on 4.5, 4.2 or 3.6 automatically.
Mostly. The scene's own color management (view transform such as AgX or Filmic, look, exposure), cameras, lights and materials are kept as they are. What the service sets: resolution and samples (previews up to 32 samples, finals 128 by default), denoising on by default (denoise=false turns it off), Cycles on an NVIDIA GPU unless you pass engine='eevee', and the Blender version (a .blend opens with the version it was saved in, 5.0, 5.2 or 5.3; scripts and 3D files use 5.0 unless you pass blender='5.2' or '5.3'). So a .blend saved in another version, a different sample count, denoising and GPU instead of CPU can change noise and fine detail; an environment preset replaces the world only when you pass one.
Yes, to start. Each new key gets 100 JPY of GPU time free with no card (1,000 GPU-seconds, 14 days) for previews and finals, and 400 JPY more once a card is saved on a Stripe page that charges nothing (once per card): up to 500 JPY in all. After it is used up or expires, previews are free up to 2 GPU-minutes per key per day and final renders are paid from prepaid credit at 0.1 JPY per GPU-second. One full welcome credit per network every 30 days (later keys on the same network share what is left of it). Final renders go up to 3,000 frames per instruction (automatically split internally under one job id), 1080p (1920x1080) on free time and up to 4K (3840x2160) on prepaid credit. The free preview time resets at 00:00 UTC.
A 4-frame 720p preview about 4 GPU seconds; 24 frames at 720p/64 samples about one GPU minute; a 1080p frame at 128 samples about 11 GPU seconds for a simple scene. render_estimate tells you before you start.
They run only inside an isolated, disposable environment with no network access and are deleted 24 hours after last use (7 days, normally, for keys that have paid 500 JPY or more in total), along with the results. Nothing is used for training.
No. Connecting creates a temporary key; the HTTP API gets one from POST /v1/keys.
Yes, without signing up. In the browser you used before, the connection page offers to continue with that account. Anywhere else, open render.janction.jp/connect/code in the browser where you connected first, get a one-time connect code (10 minutes) and enter it on the other AI app's connection page (I have a connect code) or on the same page in another browser. Your credit, free time left and renders stay in one account, and a payment link your AI app gives you always adds to that app's account.
Partly. Each new key starts with 100 JPY of free GPU time (no card) and 400 JPY more after saving a card that is not charged, up to 500 JPY (14 days); after that, previews stay free up to 2 GPU-minutes a day and finals cost 0.1 JPY per GPU-second. Since 2026-10-08, paid GPU time comes from prepaid credit bought by card. Top-ups (paid) start at 100 JPY. The first top-up during the 14-day welcome period counts 1.5x, with the bonus capped at 500 JPY (100 JPY buys 150 JPY of credit). Top-ups of 2,000 JPY or more get 10 to 20% extra (not combined with the first-top-up bonus; the larger one applies). Top-up bonuses are separate from the welcome credit and the card-saving credit.
environment='studio' | 'sunset' | 'overcast' | 'night' replaces the scene's world with a bundled HDRI (CC0, Poly Haven). environment_visible=False keeps the lighting but shows a flat gray backdrop.
Textures were missing. Send them as assets (the Python package does this automatically for files next to the .blend) or pack them into the .blend (File > External Data > Pack Resources).
No. A GPU can be shared with other work, so when every available GPU is busy, jobs wait in the queue and resume. render_info shows whether a worker is online, and /v1/health shows how many GPUs are available right now.
Yes, through a connector. ChatGPT itself has no GPU; add https://render.janction.jp/mcp as a plugin (Plugins → Add → Create plugin) and ChatGPT can inspect, preview and render a .blend, a bpy script or a 3D file on a JANCTION GPU. See ChatGPT + Blender.
Yes. Claude.ai, Claude Desktop and Claude Code can all add the remote MCP server; Claude writes the scene as a bpy script, previews it in a few GPU seconds and renders the final frames or an MP4. See Claude + Blender.
Codex cannot run Blender, but with codex mcp add janction-render --url https://render.janction.jp/mcp it can write bpy scripts and have them rendered on a JANCTION GPU. See Codex + Blender.
Local Blender MCP servers (which drive a Blender you run) render with whatever your machine has; Cycles works on CPU but slowly. JANCTION Render is the remote kind: the GPU is on our side, so no local GPU or Blender is needed. See the comparison.
Yes, within the welcome credit of JANCTION Render's HTTP API: Each new key starts with 100 JPY of free GPU time (no card) and 400 JPY more after saving a card that is not charged, up to 500 JPY (14 days); after that, previews stay free up to 2 GPU-minutes a day and finals cost 0.1 JPY per GPU-second. Up to 3,000 frames per instruction (automatically split internally), 1080p on free time and 4K on prepaid credit; a key from one POST. See pricing.
Yes. Give the remote tools an https URL to the .blend (textures packed or sent as assets), or use the stdio server or CLI to upload a local file. The agent gets a preview image first, then frames or an MP4.
MCP is the protocol; JANCTION Render is an MCP server whose tools run Blender 5.0, 5.2 or 5.3 on NVIDIA GPUs in a disposable container. Any MCP client (Claude, ChatGPT, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Grok, Perplexity, Le Chat, Notion, Cline, Goose) can call it.
Yes, inside Blender in an isolated environment with no network access and strict limits, created for that job and destroyed afterwards; scripts that try things rendering never needs are refused (error script_blocked). Details on security.
Files are readable only by the key that uploaded them, processed in a container destroyed after the job, never used for training, and deleted 24 hours after last use (7 days, normally, for keys that have paid 500 JPY or more in total). Share pages exist only when you call render_share.
Inputs, intermediate data and results are deleted 24 hours after last use (7 days, normally, for keys that have paid 500 JPY or more in total). Download links last 24 hours; ask again for fresh ones while the files are kept. Logs keep sizes, timings and failure reasons only.
Blender 5.0, 5.2 and 5.3 (Cycles on GPU by default; engine='eevee' switches a job to EEVEE). A .blend opens with the version it was saved in (5.0, 5.2 or 5.3); bpy scripts and 3D files use 5.0 unless you pass blender='5.2' or '5.3'. blender='5.0', '5.2' or '5.3' chooses for any input, and render_info lists what is available. bpy scripts are the safest input. Blender 3.6, 4.2 and 4.5 are there too: pass blender='4.5' (or '4.2', '3.6'), and a script that stops on Blender 5 because it uses an older API is rendered again on 4.5, 4.2 or 3.6 automatically.
POST https://render.janction.jp/v1/keys with a JSON body {"label": "my-agent"} returns a key immediately; no account, email or card. MCP clients get one automatically through the OAuth consent page.
Yes. render_estimate (or POST /v1/estimate) returns GPU seconds, a human sentence, whether it fits the free GPU time left (the welcome credit while it lasts, then up to 2 preview GPU-minutes a day), the amount that would be charged (cost.estimated_yen) and list_price_yen (the whole job without the free time), with currency JPY and an expiry time.
API errors carry a machine-readable code (payment_required, beta_limit, script_blocked, scene_path, unsupported_input...), a possible_fix sentence, a docs_url and a retryable flag, so an agent can split a job or correct the script without a human, and knows when to show the user a top-up link (payment_required).
Yes. Each key can set a per-request and a per-day spending cap (none by default: prepaid credit is the limit), and a request can carry max_yen. A job that would reserve more than the cap, or push today's total over it, is refused with 403 spend_cap_exceeded before anything is reserved, even if the balance would cover it. The per-job cap applies to the whole render request: when the service splits a long final into parts internally, the cap is checked against the request's total hold, so splitting never increases it, and paying more does not lift it. Read the caps in GET /v1/me (limits) and change them with POST /v1/me/limits; agents are told to ask the user before raising one.
Yes, for outcomes. POST /v1/outcomes/turntable and POST /v1/outcomes/product-shot quote a price_yen before running (GET /v1/outcomes lists the options). The price is a ceiling: the job reserves exactly that amount, the actual GPU seconds are charged and the rest is released, never more than the quote. Nothing is charged when the job fits in the welcome credit left.
Send an Idempotency-Key header (or idempotency_key in the body) with POST /v1/jobs or /v1/outcomes. A retry with the same key within 24 hours returns the first job instead of queuing a second one; the response carries idempotent_replayed: true and the header Idempotent-Replayed: true. 429 responses carry Retry-After.
Connectors cannot read your disk. Drop the file at /upload (no sign-up); you get a link that lasts 12 hours. Tell the AI "Render this file: " and it passes the link as scene_url. From Blender use the add-on; from a terminal, the CLI uploads directly.
| from | how |
|---|---|
| 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) | Plugins (older menu: Customize → Connectors) → Add custom connector → https://render.janction.jp/mcp. "Connect" opens a page that creates a free key |
| Claude Team / Enterprise | An owner adds https://render.janction.jp/mcp under Organization settings → Connectors; each member then presses Connect with their own account. In organizations that turn Skills off, Claude Desktop also blocks plugins from November 30 (use the connector URL, or ask the admin to turn Skills on) |
| ChatGPT | Plugins (left sidebar) → Add → Create plugin → https://render.janction.jp/mcp (OAuth). Attach your .blend to the chat. On Business workspaces an admin adds it and shares it |
| Claude Code | claude mcp add --transport http janction-render https://render.janction.jp/mcp, then /mcp to authenticate |
| Claude Code on the web (claude.ai/code) | The same connector as Claude.ai: Plugins (older menu: Customize → Connectors) → Add custom connector → https://render.janction.jp/mcp. Works without changing the session's network settings (guide) |
| Codex | codex mcp add janction-render --url https://render.janction.jp/mcp (the sign-in page opens right away; if Codex later says the server needs login, run codex mcp login janction-render; with a key, add --bearer-token-env-var JANCTION_RENDER_API_KEY) |
| Cursor / VS Code | Add to Cursor Add to VS Code Add to LM Studio The button opens the editor; confirm and it is added. Manual: Streamable HTTP at https://render.janction.jp/mcp |
| Antigravity CLI / Gemini CLI | agy plugin install https://github.com/JasmyLab-JANCTION/janction-render or gemini extensions install https://github.com/JasmyLab-JANCTION/janction-render (the MCP server and the workflow skill) |
| Kimi Code (Kimi K3 and other models) | /plugins install https://github.com/JasmyLab-JANCTION/janction-render (the MCP server and the workflow skill), or add https://render.janction.jp/mcp as a url entry under mcpServers in ~/.kimi-code/mcp.json and run /mcp-config login janction-render (OAuth). Guide |
| OpenCode | Add https://render.janction.jp/mcp under mcp in ~/.config/opencode/opencode.json with "type": "remote", then opencode mcp auth janction-render (OAuth). Guide |
| Qwen Code | qwen extensions install https://github.com/JasmyLab-JANCTION/janction-render (the MCP server and the workflow skill), or qwen mcp add --transport http janction-render with https://render.janction.jp/mcp (stored as httpUrl). Guide |
| GitHub Copilot CLI | copilot mcp add --transport http janction-render with https://render.janction.jp/mcp, then /mcp auth janction-render in copilot (OAuth). With the skill: copilot plugin marketplace add JasmyLab-JANCTION/janction-render, then copilot plugin install janction-render@janction-render. Guide |
| DeepSeek Harness (dsh) | One @deepseek-ai/dsh-mcp-client entry: transport: streamable-http, url: https://render.janction.jp/mcp, headers Authorization: Bearer with a key from POST /v1/keys (no OAuth). DeepSeek guide (API function calling too) |
| Grok / Perplexity / Le Chat | Add a custom (remote MCP) connector with https://render.janction.jp/mcp in each app's Connectors settings (Grok: Plugins → New connector → Custom, guide; Perplexity: Settings → Connectors → Custom → Remote, Pro / Max / Enterprise, OAuth; Le Chat: workspace admin, OAuth or a Bearer key) |
| Gemini app (gemini.google.com) | On the web: Settings → Connected Apps → Custom apps, add the MCP URL https://render.janction.jp/mcp (web only, English interface, with activity saving on). Sign-in is the OAuth consent page |
| Manus | Connectors → Create → Add MCP by URL with https://render.janction.jp/mcp (remote MCP only; OAuth or a Bearer key) |
| MiniMax (MiniMax Code) | One streamable-http entry in the MCP settings: url https://render.janction.jp/mcp, and Authorization: Bearer jr_… in headers |
| Notion (Notion Agent) | Business / Enterprise: Settings → Connections → Discover → Add Custom MCP → https://render.janction.jp/mcp, then sign in (the button shows when a workspace admin allows custom MCP servers) |
| JetBrains (AI Assistant, Junie) | AI Assistant: Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add → connect over HTTP with {"mcpServers": {"janction-render": {"url": "https://render.janction.jp/mcp"}}}. Junie: the same url in ~/.junie/mcp/mcp.json (Authorize opens the browser), or "headers": {"Authorization": "Bearer jr_…"} |
| Kiro (IDE, CLI) / Amazon Q Developer CLI | Kiro: "url": "https://render.janction.jp/mcp" under mcpServers in ~/.kiro/settings/mcp.json (in the IDE, open a folder: MCP SERVERS appears in the Kiro panel and the authorization page opens; in the CLI, /mcp auth janction-render). With a key: "headers": {"Authorization": "Bearer ${JANCTION_RENDER_API_KEY}"} (add the variable to Mcp Approved Env Vars). Amazon Q Developer CLI: "type": "http" and the same url in the agent configuration, then /mcp to sign in |
| Microsoft Copilot Studio | Tools → Add a tool → New tool → Model Context Protocol → Server URL https://render.janction.jp/mcp. Authentication: OAuth 2.0 with Dynamic discovery, or API key (Header, name X-API-Key, value jr_…). Set the agent's Settings → Generative AI → Orchestration to Yes (generative orchestration), or it will not use the tool |
| LM Studio (0.3.17 or later) | Program tab → Install → Edit mcp.json: {"mcpServers": {"janction-render": {"url": "https://render.janction.jp/mcp", "headers": {"Authorization": "Bearer jr_…"}}}} |
| Cherry Studio | Settings → MCP Servers → Add → Import from JSON: {"mcpServers": {"janction-render": {"type": "streamableHttp", "baseUrl": "https://render.janction.jp/mcp"}}}. Turn it on and press "Sign-in required." to open the consent page in the default browser. If no tools show after signing in, turn the server off and on again (with a key: "headers": {"Authorization": "Bearer jr_…"}) |
| Windsurf, Cline, Goose, Amp, Auggie, Warp, Zed, Roo Code, Continue and other MCP clients | Streamable HTTP at https://render.janction.jp/mcp; OAuth or Authorization: Bearer <api key> |
| Claude Desktop and other stdio-only clients (npm) | npx -y janction-render (in the client's mcpServers: {"command": "npx", "args": ["-y", "janction-render"]}). The npm package janction-render bridges stdio to https://render.janction.jp/mcp with OAuth; --key jr_… for a key you have, --local for the Python stdio server through uv |
| 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 |
Using JANCTION Render, build a glossy red cube rotating on a gray floor and show me a 4-frame preview. If it looks right, render 24 frames at 1280x720 as an MP4.
To render a .blend or 3D file that is on your computer, drop it at /upload to get a 12-hour link (no sign-up) and tell the AI "Render this file: <link>". To test the connection first: "Render a preview of https://render.janction.jp/samples/cube_scene.py".
See the support page (email, GitHub issues) or read llms.txt, the guide agents read first.