Renpai Studio · by Hoplet

Ship the scene,
not the retry.

A production cockpit for Ren'Py visual novels. It sits on top of the tools you already run, keeps a cast consistent across a hundred images, prices every generation, and assembles the result into a project that builds.

macOS · local first · no account · your own keys

01 · Prompt only

The model invents the shot. About five tries per usable still.

02 · Sheet and library

The face holds. Framing and staging are still guessed.

03 · Proxy shot

You pose and frame it. The model styles what you already specified. You keep the vision; it does the rendering.

Built while shipping with it

Every surface here exists because a game in production needed it. The tool and the game are made in the same week by the same two people.

the six surfaces a scene passes through

Renpai Studio Lore Graph capture
The lore graph on the story lens: twenty-five entities from the Margins script, with the chapter chain running from one point one Open through to the ending
01 · Lore graph

A scene knows who is in it.

Characters, places, outfits and continuity are data rather than notes. When a scene calls for someone, the tool already knows what they look like, what they wore last, and which version of them is current.

In the app: Lore Graph

Renpai Studio Proxy Shot Composer capture
The proxy shot composer: two grey mannequins blocked in a library set, with camera lens and framing controls beside them
02 · Proxy shot

Angle and scale stop being adjectives.

A real 3D stage with posable figures and a camera. You block the shot, so framing, proportion, eye line and occlusion are specified rather than described in a prompt and hoped for.

In the app: Proxy Shot Composer

Renpai Studio Generate capture
The generate surface: the written shot on the left, its input images attached, and the finished illustration in the job stream on the right
03 · Reference handoff

The model styles a composition instead of inventing one.

The blocked render leaves as the input image with the cast sheet attached. This is the step that changes the arithmetic, because the hard part is no longer being guessed at.

In the app: Generate

Renpai Studio Production Queue capture
The production queue: every target the script needs, grouped by chapter and scene, each row showing its kind, its source line and whether it is ready to export
04 · Production queue

Every generation is a job with a price and a verdict.

Requests queue with their provider, their cost and their outcome. Spend per accepted asset becomes a number you can read, which is the number nobody in this field publishes.

In the app: Production Queue

Extraction Studio capture pending

not shipped as a picture yetone finished plate being cut into the expressions a scene needs

05 · Extraction studio

One plate becomes the sprites the scene asked for.

Cut expressions, poses and backgrounds out of a finished image, and file each piece where the project expects to find it. Layered characters come out the other end, not a folder of exports.

In the app: Extraction Studio

Renpai Studio Project capture
Margins running in Ren'Py: the library CG with Maelle pulling Mira up, and the say window over it
06 · Ren'Py build

Out the other end is a project that runs.

Assets land at the paths the script references, and the script references paths that exist. No export dance, no hand-written asset strings, no discovering at build time that a sprite was never made.

In the app: Project

On screenshots

Five of the six are real, taken from the running application while a scene was being made, and the last one says so plainly until they are. None of them are drawn. A page of captions under invented interfaces is how software gets sold before it works, and it is not how this one will be. One thing the numbering above understates: there is no required order. Anything that produces an image can feed anything that consumes one, and outputs loop back in as new inputs.

what it refuses to be

Not a generator

It does not write your game or invent your art. It is a production accelerator for work you are directing, and it is never the artist of record.

Not a credit reseller

Generation runs on your provider keys at their cost. We never hold a balance, mark up a token or bundle credits into the price.

Not a service

No account, no sync, no server holding your project. It is a desktop application, and it works with the network off.

Where it is

In daily use on our own game, and not yet available. There is nothing to buy on this page and no date on it either, because the only honest signal is a finished game made with it. That work is what the devlog is about.

How it is checked

155 frontend tests and 87 Rust tests run on the parts where being wrong costs a re-render or a corrupted project. The number is here because it is checkable, not because it is impressive.