Vol. 1 · No. 303Blender 3.6 / 4.2 / 4.5 / 5.0 / 5.2 / 5.3Cycles · EEVEE
JANCTION
Render · Blender on RTX PRO 6000 · Tokyo
0.1 JPYper GPU-secondFirst 100 JPYfree, no card
Front page / Render a Blender animation online and get an MP4 back

Render a Blender animation online and get an MP4 back

Send the scene (a .blend, a bpy script or a 3D file) with a frame range and you get the frames rendered on an NVIDIA RTX PRO 6000 and joined into a video: janction-render render scene.blend --frames 1-96 --size 1280x720 --samples 64 --wait, or render_final(frame_start=1, frame_end=96, output='mp4') from an agent. Measured: about 2.4 GPU seconds per 720p frame at 64 samples on Cycles for a simple scene (24 frames = 59 s); EEVEE costs about two-thirds of Cycles per frame for a few dozen frames or more (same scene, 720p, 120 frames: 142 vs 223 GPU-seconds, 2026-11-06). A final goes up to 3,000 frames per instruction (automatically split internally under one job id), 1080p on free time and 4K on prepaid credit; outputs are mp4 (H.264), webm (VP9), prores (422 HQ), gif, webp or png / exr frames. Preview 4 frames first to check camera and motion. AI agents connect at https://render.janction.jp/mcp (remote MCP with OAuth; connecting creates a free key).

Updated 2026-11-12

What it does Render a Blender animation and get it back as an MP4 (up to 3,000 frames per instruction, rendered as automatic internal parts; 1080p on free time, 4K on prepaid credit).
What it does not do No simulation baking (bake and pack locally first). The viewport does not get faster.

Try your animationBuild it with an AI and try

Browser only; no connector or CLI needed. A 100 JPY welcome credit for a new key (14 days, no card; one per network every 30 days, further keys on the same network share what is left), and 400 JPY more for saving a card that is not charged (once per card); after that, previews stay free up to 2 GPU-minutes a day and finals cost 0.1 JPY per GPU-second.

Commands

janction-render preview scene.blend --frames 1-96               # 4 frames spread over the range, one sheet
janction-render render scene.blend --frames 1-96 --size 1280x720 --samples 64 --wait            # output.mp4
janction-render render scene.blend --frames 1-96 --engine eevee --output webm --wait            # cheaper per frame
janction-render render scene.blend --frames 1-96 --output prores --wait                         # for editing
janction-render render model.glb --frames 1-48 --orbit --environment studio --wait              # turntable of a model

From an agent the same is render_preview(frames='1-96') then render_final(frame_start=1, frame_end=96, width=1280, height=720, samples=64, output='mp4'); render_estimate first tells you the time and whether it fits the free GPU time left (the welcome credit while it lasts, then up to 2 preview GPU-minutes a day).

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.

Frames are split into chunks and rendered in order; while a job runs, render_status shows frames done and the ETA. The benchmarks page has the per-frame table for several resolutions and sample counts.

Cycles or EEVEE

Cycles (default) is the path tracer: accurate light, slower. engine='eevee' is Blender's real-time rasterizer: about two-thirds of the Cycles cost per frame (same scene, 720p, 120 frames: 142 vs 223 GPU-seconds, 2026-11-06), but every job pays about 7 seconds of shader compilation, so it only pays off for a few dozen frames or more; previews stay on Cycles. HDRI presets work on both.

Outputs

outputwhat you getuse it for
mp4H.264, fps as givensharing, chat, X
webmVP9 (alpha with transparent=true)web, overlays
proresProRes 422 HQ .movediting
gif / webpanimated, at most 960 px widechat and README embeds
png / exrone file per frame (exr = 16-bit linear)compositing, your own encode
A 48-frame turntable rendered with orbit=true (GPU 76 seconds).

Pricing (since 2026-10-08): 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. 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. Payment is on a Stripe Checkout page. One full welcome credit per network every 30 days; further keys from the same network use what is left of that network's credit. A job without enough credit gets HTTP 402 payment_required with a checkout_url. 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 (09:00 JST). No sign-up: connecting creates a key. Inputs and results are deleted 24 hours after last use (normally 7 days for keys that have paid 500 JPY or more in total) and never used for training.

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)Plugins (older menu: Customize → Connectors) → Add custom connector → https://render.janction.jp/mcp. "Connect" opens a page that creates a free key
Claude Team / EnterpriseAn 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)
ChatGPTPlugins (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 Codeclaude 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)
Codexcodex 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 CodeAdd 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 CLIagy 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
OpenCodeAdd https://render.janction.jp/mcp under mcp in ~/.config/opencode/opencode.json with "type": "remote", then opencode mcp auth janction-render (OAuth). Guide
Qwen Codeqwen 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 CLIcopilot 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 ChatAdd 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
ManusConnectors → 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 CLIKiro: "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 StudioTools → 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 StudioSettings → 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 clientsStreamable 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

FAQ

My animation is longer than one internal part

Send it as one instruction of up to 3,000 frames: the service splits it internally under one job id and joins the parts into one video when every part is done. You do not split it yourself. Longer than 3,000 frames, use several instructions and join the videos, or request png frames and encode once.

Can I change the frame rate?

Yes: fps (default 24) is used when the frames are joined into mp4 / webm / prores.

Why preview first?

A preview renders 4 frames spread over the range in a few seconds, so camera, motion and lighting mistakes cost seconds instead of minutes.

Does motion blur or the compositor work?

Everything in the .blend that Blender renders in the background works, including motion blur and compositor nodes; the service only sets resolution, samples, denoising and the output format.

Related

Overview · All guides · llms.txt