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.
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).
the 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
output
what you get
use it for
mp4
H.264, fps as given
sharing, chat, X
webm
VP9 (alpha with transparent=true)
web, overlays
prores
ProRes 422 HQ .mov
editing
gif / webp
animated, at most 960 px wide
chat and README embeds
png / exr
one 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
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)
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
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
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.