Claude Code has no image model of its own, so it calls an external tool. The shortest honest path is Luxin: no provider key, no OAuth, no MCP server to run. Tell it what you want, and it picks the model, writes the prompt, and returns an image URL your agent owns.
Full disclosure: Luxin is our product and this is our own guide. It is written to be the honest, useful version, not a sales pitch.
The first run is a free planning pass, then a create. You never fetch a key, wire a provider, or pick a model by hand.
The command runs a no-spend guide pass. It checks that Luxin is reachable, picks a runnable model for your prompt, and prints the exact next command. Nothing is charged and no image is made yet.
Run the create command the guide handed you (or drop --guide to go straight through). Luxin generates the image and returns a job you can recover.
You get a durable URL, a job id, a cost receipt, and stable JSON. The image is yours to keep, cite, and reuse across agents and runtimes.
Not a preview that disappears with the chat. A hosted URL, a recoverable job, and a receipt. These were generated by an agent through the public CLI.
PRODUCT
CINEMATICAn agent needs an image and should not stall on provider setup. You want the output to be durable work with a URL, a job, and a receipt. You want a budget cap and a clear bill. You want one contract that spans images, video, audio, and 3D, and works from any agent you run.
If you want to sit in a design GUI and hand-tune a single throwaway image yourself, that is a different job and a hosted agent runtime is the wrong shape for it. If you need on-prem or self-hosted generation today, Luxin is hosted, so it will not fit yet.
Not directly. Claude Code has no built-in photo or illustration model, so image generation comes from an external tool it calls. Luxin is that tool. Instead of standing up an MCP server or wiring a provider, you run one command and Luxin handles the model, the prompt, and the hosting.
No provider key and no OAuth. Your agent signs itself up automatically on first run, so there is no billing console to wire before the first image. You add prepaid credits when you are ready to move past the free preview.
There is a free preview quota to try it. After that, credits are prepaid and model-priced at 1 credit for 1 cent, and every job shows a quote before it spends anything. You set a budget cap, so an agent cannot run up an open-ended bill.
You do not pick. Luxin auto-selects a model that fits the request from more than 200 across providers, and can write the prompt for you. If you want a specific model or provider control, you can name it; the defaults are there so you never have to.
No. Luxin is a plain CLI and HTTP API, so it runs the same from Codex, Cursor, a shell script, CI, or any custom agent. Point any agent at luxin.sh/skill.md and it can read the contract and start.
Every result is a durable hosted URL your agent owns on media.luxin.sh, with a recoverable job, a cost receipt, and one predictable JSON shape. It stays valid after the conversation ends, so another agent or a build step can reuse it.
Yes. The same command and contract cover image generation, image editing, video, audio, and image-to-3D, so an agent learns one tool instead of one per modality.
Want your agent to always have it? Install the skill: npx skills add https://github.com/danielgwilson/luxin --skill luxin