Choose the deliverable before the model
A website hero, a poster with exact lettering, and a recurring character are different production problems. One convincing sample does not establish that a model can solve all three. This comparison separates documented capabilities from the checks needed before an image belongs in a product.
This is a documentation-based review, not a measured leaderboard. The earlier version included unsupported Stable Diffusion 4 APIs, Ideogram vector exports, performance figures, and personal testing stories. Those passages have been replaced. The local example deliberately uses documented Stable Diffusion 3.5; it is not an SD4 implementation.
Stable Diffusion: a documented local workflow
Record the model repository and library version together. Diffusers 0.31 supports Stable Diffusion 3.5 through StableDiffusion3Pipeline. Model access and license conditions still apply. Diffusers 0.31 documentation.
This example needs a compatible PyTorch/CUDA environment, Transformers, Accelerate, and access to the model. It was checked against the documented API but not executed on a GPU for this article.
import torch
from diffusers import StableDiffusion3Pipeline
pipeline = StableDiffusion3Pipeline.from_pretrained(
"stabilityai/stable-diffusion-3.5-large",
torch_dtype=torch.float16,
)
pipeline.enable_model_cpu_offload()
result = pipeline(
prompt="A quiet architectural studio, concrete and wood, morning light",
height=1024,
width=1024,
num_inference_steps=28,
guidance_scale=3.5,
generator=torch.Generator("cpu").manual_seed(42),
)
result.images[0].save("studio.png")
Save the model revision, seed, package versions, resolution, and hardware with the result. A seed alone does not promise identical pixels across different environments. Measure memory and elapsed time on the intended machine; do not budget around an unsourced VRAM or speed claim.
Local inference offers deployment control, but also leaves capacity, queueing, dependencies, and failed jobs with your team. The useful question is whether that control justifies the operational work.
Ideogram: raster artwork is not editable typography
Ideogram's FAQ says SVG downloads are unsupported. Its downloadable formats include JPEG, PNG, and WebP. Generated lettering inside a bitmap is not an editable text object or an exported vector path. Ideogram download FAQ.
For a poster, inspect every character at delivery size. For a website, place important text in HTML over the image so it remains selectable, translatable, and responsive. For a logo requiring vector delivery, create and inspect the vector artwork separately. Tracing pixels is another production step, not native vector output.
Correct spelling is only one approval criterion. Spacing, line breaks, contrast, and consistency with the brand matter too. Reject an image if those details fail, even when the requested words are technically present.
FLUX1.1 pro Ultra: define what consistency means
Black Forest Labs introduced FLUX1.1 pro Ultra with output up to four megapixels and a Raw mode intended for a more photographic aesthetic. Those documented features do not establish a universal identity lock or guaranteed continuity between shots. Black Forest Labs' Ultra announcement.
For a recurring character, specify the attributes that must remain stable: face shape, clothing, age, and proportions. Review a sequence rather than a single successful sample. Record any reference-image or training steps separately. An unchanged prompt is not evidence that two generated people have the same identity.
An approval sheet for production assets
| Deliverable | Evidence to collect | Reason to reject |
|---|---|---|
| Website hero | Desktop and mobile crops with the real page copy | Subject is cut off or text is unreadable |
| Poster | Spelling and inspection at print size | Letter errors or insufficient detail |
| Product illustration | Comparison with approved product references | Invented controls or structural details |
| Character sequence | Side-by-side review across several scenes | Identity changes between images |
Give each candidate the same brief and count rejected attempts. Calculate cost per accepted asset, including editing time, rather than cost per generation. Keep a vendor's benchmark conditions attached to its claims instead of presenting them as your measurements.
In a portfolio, an actual screenshot should show a delivered website. Generated artwork can illustrate an idea but cannot prove that a product was built. Once the asset is approved, export suitable sizes, reserve its dimensions in the page, and inspect the crop alongside the real content.

Sardar Mukhshaf
Full-Stack & DevOps Engineer
I build scalable web applications, secure backend systems, and production-ready cloud infrastructure. My engineering focus spans interface design, API architecture, deployment pipelines, and observability. Follow for more deep dives into system architecture, performance engineering, and emerging technologies.
More from the practice
Keep the useful ideas close.
Follow new articles with your preferred RSS reader.
Open the RSS feed ↗


