Generate Designs for Free with the Pluck Desktop App and Codex

Hosted generation in Pluck Studio spends credits. That's fair for the models we run on our servers, but it means a Free account can't generate anything until it upgrades. We didn't like that, so the desktop app has a second path: a prompt set to Local runs through the Codex CLI on your own computer, and it costs nothing. Not a trial, not a cap. Free on every plan, for as long as you want to use it.
This post walks through the setup and explains what local generation is good at, where it falls short, and how we use it alongside the hosted models.
What you need
- Pluck Studio for desktop. It's the same Studio as studio.pluck.so, packaged for macOS, Windows and Linux, with the local runner built in. Grab it from /download. It auto-updates.
- The Codex CLI. Install it with
npm i -g @openai/codexorbrew install codex, then runcodexonce in a terminal to sign in with your OpenAI account. - A board with at least one prompt card. If you've never made one, read Introducing Pluck Studio first.
That's the whole list. There's no API key to paste into Pluck, no extra account, and nothing to configure inside Studio. If the desktop app can't find Codex, it tells you so with the install commands above, and you restart the app after installing.
Setting it up
- Install the desktop app and sign in with the same account you use in the extension.
- Install Codex and sign in:
npm i -g @openai/codex
codex
- Open Pluck Studio and open the board you want to work on. Local runs only happen while the board is open in the desktop app, because the app is the thing doing the work.
- Click a prompt card and change its model from Auto to Local.
- Write the brief, connect your references, and run it.
The generation card appears to the right of the prompt, like any hosted run. The difference is that nothing was sent to our generation queue and no credits moved. The cost preview on the card reads zero.
What's actually happening
When you run a Local prompt, the desktop app hands Codex the brief, the connected references (plucks, uploaded images and earlier generations) and the same composed instructions a hosted run would get, including your chosen prompt template. Codex produces the image on your machine using your own OpenAI access, and the app saves the result back to the board so it shows up everywhere, including the web version of Studio and any agent connected over MCP.
Because the heavy lifting happens locally, the only things that leave your machine are the requests Codex itself makes to OpenAI. Pluck's servers only see the finished image when the app uploads it to your board.
When Local is the right choice
You're on Free. This is the obvious one. The Free plan gives you 50 plucks a month, as prompts or to Figma, plus the full Studio library and boards, and with the desktop app it also gives you generation. That's enough to try a real workflow end to end before paying for anything.
You're iterating a lot. Early in a project we'll run a brief ten or fifteen times just to find the direction. Doing that on hosted models at 20 to 40 credits a run adds up. Doing it locally is free, so we run more variations and judge later.
You already pay for Codex. If you have an OpenAI subscription for coding, local generation is included in what you're already paying for. There's no reason to spend Pluck credits on exploratory runs.
You want everything on your machine. Some teams prefer that references and briefs don't pass through a third-party generation queue. Local keeps the loop between your laptop and OpenAI.
When hosted is better
Local generation goes through one model. The hosted path gives you seven, picked for you by Auto or chosen by hand: Nano Banana 2, Nano Banana Pro, GPT Image 2, Seedream 5 Pro, Seedream 5 Lite, Ideogram V4 and Recraft V4.1. If you want a specific look, a specific model's handling of UI text, or a quick comparison of two models on the same brief, hosted is the way.
Hosted runs also give you the full aspect ratio and quality controls. You can ask for a 21:9 hero at Max quality and get exactly that. Local runs follow the template's shape and don't expose the quality tiers.
And hosted runs happen even when you walk away. Close the desktop app mid-Local-run and the run stops. A hosted run on Starter, Pro or Studio keeps going on our side and the result is waiting when you come back, and Pro and Studio jump the queue.
Our own pattern: explore locally, then spend credits on the two or three directions worth polishing.
A worked example
Say you're redesigning a settings page and you've plucked three reference layouts from products you admire. In the desktop app:
- Create a board and add the three plucks from your library.
- Add a prompt card: "A settings page for a project management app. Left sidebar of sections, main column of grouped form fields, same density and spacing as the references. Light theme."
- Connect the three plucks into the prompt. Set the model to Local. Run it.
- Not quite right? Edit the brief ("tighter spacing, add a sticky save bar at the bottom") and run again. Still free.
- Once a direction clicks, duplicate the prompt, switch the copy to Auto or a specific hosted model, set 16:9 and High, and run that for the version you'll show someone.
Ten exploratory runs, zero credits, one or two hosted runs for the finish.
Troubleshooting
- "Codex CLI not found." Install it with one of the commands above, sign in by running
codexin a terminal, then quit and reopen Pluck Studio. - The run never starts. Make sure the board is open in the desktop app, not only in the browser. Local runs are claimed by the desktop window that has the board open.
- The result ignores a reference. Connect it to the prompt explicitly. Cards sitting on the board but not connected aren't sent along.
- Your OpenAI plan rejects the request. Codex uses your own account, so rate limits and plan restrictions there apply here too.
Try it
Install Pluck Studio for desktop, install Codex, flip a prompt to Local and run it. If you later want the hosted models and the extra controls, the plans start at $10 a month, and local generation stays free on all of them.