Setting Up Leonardo for Actual Production Work
Leonardo is an AI image generation platform that sits between consumer-friendly apps like Midjourney and raw Stable Diffusion. It wraps several fine-tuned models around a Stable Diffusion backbone and adds a control layer that most standalone SD installs lack out of the box. The free tier gives you roughly 150 credits per day, which resets every 24 hours. A single standard image at 1024x1024 with default settings burns about 1 credit. That means if you are iterating on prompts, you will run through your daily allowance by early afternoon unless you start using the workflow tricks below. You need an account on leonardo.ai. Sign up with email or Discord. Once you are in, the main interface has a Generate panel on the left and a canvas area on the right. The critical dropdown you should care about immediately is the model selector. The default model is fine for quick tests, but the default model will produce soft, generic results if you need anything specific. Switch to one of the fine-tuned models like Leonardo Diffusion XL or Phoenix if you want better architectural detail. If you are doing portraits, the PhotoReal model exists but it is slow and expensive on credits. I rarely use PhotoReal anymore. It tends to over-smooth skin textures into plastic territory, especially on non-Western facial features. Here is the part nobody mentions in the onboarding flow: the prompt strength slider. By default it sits around 75 percent. If you leave it there, the model ignores a lot of what you type. Bumping it to 85 or 90 makes the prompt actually matter. The downside is that higher prompt strength increases the chance of visual artifacts at the edges of compositions. I learned that the hard way on a project where I needed consistent character faces across ten generated images. The character drifted in version 6 and 7 because I had pushed prompt strength too high without locking the seed. My workaround was to generate a base image, copy its seed value, and then paste that seed into every subsequent generation while only adjusting the prompt slightly. It is tedious but it keeps the face stable enough for rough assembly.
How the Workflow Actually Functions
The generation pipeline on Leonardo runs through their GPU servers, not locally. You submit a prompt, the system routes it to a selected model, and the output appears in your canvas after anywhere from 10 seconds to two minutes depending on the model and resolution. The queue is usually short during off-peak hours but can stretch to 20 minutes on a Friday evening when everyone is generating. If you need reliability, generate between 9 AM and noon EST on a weekday. There is an image-to-image feature that most people overlook. You upload a reference photo and set the denoising strength somewhere between 0.35 and 0.65. Below 0.35 you get basically the same photo with a filter applied. Above 0.65 you lose any connection to the original composition. The useful range is narrow but it is where the tool becomes genuinely valuable. I use it constantly for turning simple thumbnail sketches into final render passes. A rough layout in Photoshop with basic shape placement takes about four generations with Image Guidance at 0.45 denoising strength to produce something usable. Doing the same thing from pure text prompts would take me twenty or thirty shots and still land worse.
Advanced Tactics and Things That Will Break
ControlNet is available on Leonardo under the Image Guidance section. You upload a depth map or a line drawing and the model respects the structure. This is important because Leonardo does not include OpenPose or Canny ControlNet as native options the way some local installs do. Their ControlNet implementation is limited to depth and composition guidance. If you need skeletal pose control, you have to generate a stick figure externally and use it as a composition reference with Image Guidance turned up. It works okay but it is not as precise as running ControlNet locally through Automatic1111 or ComfyUI. Upscaling is built in. Click on any generated image and select Upscale. The free tier gets you one upscale per day on the standard 4x upscaler. Paid tiers unlock more. The upscaler is decent for small details like fabric texture and hair strands but it invents new details rather than recovering real ones. This is a fundamental limitation of all AI upscalers at this level, not something specific to Leonardo. If you need pixel-perfect fidelity for print, upscale in a dedicated tool like Topaz Gigapixel instead. Using Leonardo's upscaler for editorial work caused me to ship an image with three extra fingers on a hand because the upscaler hallucinated based on the noisy source. The original generation looked fine at low resolution. The upscale made it look wrong at high resolution. Always inspect upscaled images at 100 percent zoom before sending them anywhere. Another thing that catches people off guard: Leonardo's motion feature, Leonardo Motion, generates short video clips from still images. It is impressive for five-second clips but the motion is completely random within the frame. You cannot direct it. If you generate a landscape and want the clouds to move left to right specifically, you cannot. The motion field is unpredictable. I spent an entire morning trying to get a specific camera pan direction and ended up generating 47 versions before finding one that matched. It is faster to just do that in CapCut or DaVinci Resolve with a zoom and pan keyframe. Use Motion only when you need abstract movement or atmospheric effects, not for controlled cinematography.
Get the Full Details

Cost Reality Check
The free tier is viable if you only need a handful of images per week. Once you cross into regular usage, the pricing jumps. The Basic plan is roughly $12 a month for 2,000 credits. The Standard plan at $29 gets you 5,500. The Producer plan at $79 gives you 22,000 and faster generation. For professional use, you are looking at at least the Standard tier if you are generating daily. Compared to running Stable Diffusion locally on your own hardware, the cost difference is negligible if you already own a GPU with 12 GB or more of VRAM. But if you do not have that hardware, Leonardo removes the upfront investment and handles the compute for you. The trade-off is you lose control over fine-tuned LoRAs, custom checkpoints, and local privacy. Your images are processed on their servers. If you are working with client material that should not leave your network, Leonardo is not appropriate. There is no self-hosted option. The data stays on their infrastructure. I had a situation where a client explicitly forbade uploading concept art to any cloud AI service, and I had to drop Leonardo entirely and switch to a local ComfyUI setup on an older RTX 3090 I had lying around. It was slower but it kept everything offline. The 3090 with 24 GB VRAM handled SDXL comfortably at reasonable speeds once I got the workflows sorted. Bottom line: Leonardo is a solid middle ground between ease of use and creative control. It is not the most powerful option available and it is not the simplest either. It occupies the zone where you want more capability than DALL-E offers but you do not want to maintain a local installation. The credit system punishes experimentation, so learn your settings before you start generating. Prompt strength, denoising values, and model selection matter more than tweaking the sampler. Get those three right and you can produce usable work within a fraction of the time most beginners waste on trial and error.