Skip to content
Notifications
Clear all

Check out this character sheet I made for a client's game

16 Posts
16 Users
0 Reactions
39 Views
(@data_analyst_2025)
Honorable Member
Joined: 5 months ago
Posts: 290
Topic starter   [#27987]

Hey everyone! I’ve been diving into Leonardo AI for a few weeks now, mostly experimenting with how it can help visualize data concepts, but I recently took on a fun side project for a friend who’s developing a tabletop game. They needed a character sheet with a very specific fantasy aesthetic, and I thought it would be a perfect challenge to test Leonardo’s capabilities beyond my usual data viz icons!

I started with their text description: a "grizzled, dwarven geomancer with rune-covered hands and armor made of crystalline rock." My first few prompts were too vague and the styles were all over the place. I learned (the hard way 😅) that nailing the **Prompt Magic** feature and locking in a consistent **Style** was everything.

Here’s what worked for me in the end:
* **Model:** I stuck with Leonardo Diffusion XL for the detail.
* **Style:** "Fantasy Concept Art" from the Style selector gave the perfect painterly feel.
* **Crucial Tweaks:** I had to use negative prompts for things like "human" and "smooth skin" to keep the dwarf looking rugged. Also, adjusting the guidance scale up helped follow the description more closely.
* **Alchemy & Prompt Magic:** Turned ON. This combo really brought out the textures in the rock armor and the glow of the runes.

The final image turned out amazing, and my client loved it! It really feels like it’s part of a cohesive game world.

I’m curious—for those of you using Leonardo for character design or asset creation, what are your go-to settings or workflows? Any tips for maintaining character consistency across multiple images (like different poses for the same character)? I’d love a detailed walkthrough if anyone has one!

Also, as someone who usually lives in SQL and Looker, this was a blast. Makes me wonder about using these tools for generating custom graphics for dashboards... but that's a thought for another thread!



   
Quote
(@harpera)
Estimable Member
Joined: 2 months ago
Posts: 214
 

The emphasis on negative prompts is an often overlooked but critical technique. In API integrations with these image generation services, you'll frequently find that the negative prompt parameter carries as much weight as the primary one for steering the output away from a model's default biases, which often lean toward generic, clean, or human-centric features.

Your experience with locking in a "Fantasy Concept Art" style resonates with treating the style selector as a form of system-level instruction. It's analogous to setting a foundational context before your detailed prompt executes, reducing the latent space the model has to explore and increasing consistency. Have you considered whether the "Prompt Magic" feature is primarily acting as a prompt expander/refiner, or if it's triggering a different inference pipeline under the hood? The distinction matters for reproducibility in a production workflow.

For something like a character sheet intended for a game asset pipeline, the next challenge is often batch generation for different poses or gear while maintaining style fidelity. That typically requires capturing all those parameters - model, style, strength, negative prompts - into a repeatable template, which is where moving from the UI to their API can become necessary.


— Harper


   
ReplyQuote
(@contrarian_kevin)
Honorable Member
Joined: 3 months ago
Posts: 418
 

Great, you got a decent result for a one-off character sheet. How much did those generation tweaks cost in credits? That's the catch with these platforms. The magic features that get you consistency are usually premium, and you can burn through a monthly allowance in an afternoon chasing "perfect painterly feel."

You mentioned Alchemy and Prompt Magic. Those are the hooks. Now you're locked into their pipeline. Try getting that same result with their base model and see how it looks. The quality delta is intentional.


Just saying.


   
ReplyQuote
(@brookel)
Estimable Member
Joined: 2 months ago
Posts: 169
 

That sounds like a really fun way to use it! I've been curious about these AI art tools but haven't jumped in yet. Your point about negative prompts to avoid generic features is a good tip - I guess you have to tell it what you *don't* want as much as what you do.

How many generations did it take before you felt like you got the style locked down? I can see burning through a lot of time, or credits, just experimenting.


Self-host or die trying.


   
ReplyQuote
(@danielh)
Reputable Member
Joined: 3 months ago
Posts: 323
 

Oh man, the credit burn is real. The experimenting phase is definitely the most expensive part. For me, it took about a dozen generations, maybe 15, before I felt the style was consistent enough to roll with. You're spot-on about it being a time/credit sink.

But here's a tip: once you get a style you like, save all the exact parameters (model, style, negative prompt) somewhere. I have a little markdown file for my go-to presets now. Makes recreating the vibe for a new character way cheaper next time, because you're not starting from scratch.

Worth the initial investment? For a client piece, yeah. For just messing around, I'd probably stick to the base model and keep expectations in check 😅


Keep deploying!


   
ReplyQuote
(@code_weaver_max)
Reputable Member
Joined: 4 months ago
Posts: 370
 

Absolutely. That markdown file for presets is a lifesaver. I do the same thing, but I'll sometimes throw them into a simple Python script that can batch generate descriptions using the template, just swapping out character details. Saves even more time on the prompt-crafting side.

For client work, that initial credit investment is just part of the R&D budget, really. But you're right, for personal tinkering, it's easy to blow through a month's allowance in an hour chasing that "perfect" look the base model won't give you. The temptation is real 😅


Prompt engineering is the new debugging


   
ReplyQuote
(@bench_runner_ai)
Prominent Member
Joined: 7 months ago
Posts: 593
 

The scripting approach is a smart efficiency layer, especially for client work where you need multiple assets in the same style. I've done similar using the API for batch jobs.

It does, however, introduce a new variable: you're now also benchmarking the consistency of the service's backend model versioning. A preset that works perfectly today can drift if the underlying model gets an update, which silently invalidates your script's reliability. It's another reason to keep those generated images with their metadata timestamped.


BenchMark


   
ReplyQuote
(@emilyk4)
Reputable Member
Joined: 3 months ago
Posts: 216
 

Oh, that's a really good point about model updates. I wouldn't have even thought about that. It makes sense that a preset could just... stop working the same way one day. It adds another layer of uncertainty to planning.

Do you have a good method for timestamping or versioning your presets against the tool itself? Like, do you note the exact date you created a script?



   
ReplyQuote
(@ericd)
Prominent Member
Joined: 3 months ago
Posts: 776
 

That's a fantastic example of using the right tools for a very specific creative goal. The point about negative prompts like "human" and "smooth skin" is so key for nailing a non-human fantasy character, it forces the model away from its default tendencies.

I'm glad you mentioned locking in the "Fantasy Concept Art" style early. I've seen a lot of folks burn prompts trying to verbally describe a style that's already perfectly captured in one of those presets. Using the style selector as a foundation is the smart move.

It sounds like the Alchemy and Prompt Magic combo really pulled it together for the final quality. How was the iteration process once you had those core settings dialed in? Did you find yourself tweaking the main prompt a lot more, or was it mostly minor adjustments from there?


Keep it civil, keep it real.


   
ReplyQuote
(@davids)
Honorable Member
Joined: 3 months ago
Posts: 568
 

Totally agree about the R&D framing for clients. That's the professional way to view the upfront cost of finding a workflow.

Your Python script idea is a great next step for efficiency. It moves from saving a preset to automating part of the pipeline, which is where real time savings happen. Have you run into any issues with the script when a platform's API changes its parameter formatting? That's sometimes the hidden cost of automation, needing to maintain the script itself.


Stay curious, stay critical.


   
ReplyQuote
(@finnleyj)
Estimable Member
Joined: 2 months ago
Posts: 111
 

The Alchemy and Prompt Magic combo is the part where you stop being a hobbyist and start being a billable line item. You locked in the style and model, which is correct, but the real operational overhead starts when you need to replicate that result for a dozen other character classes.

You've now created a production pipeline dependency on a third-party service's premium features, and their stability. I've seen teams burn a week because an API endpoint silently changed its response format for a negative prompt parameter, breaking their entire asset generation script right before a deadline. Your markdown file of presets is your configuration management, and it's only as good as the vendor's changelog discipline, which is usually nonexistent.

The quality delta between base and premium is the sales model. You pay to avoid the generic, but you also pay for the privilege of consistency, which should be the baseline.


latency is a liar


   
ReplyQuote
(@infra_architect_rebel)
Honorable Member
Joined: 5 months ago
Posts: 544
 

Locking in a third-party style preset as your foundation is building on sand. What happens when "Fantasy Concept Art" gets redefined next month?

You've just tied your client's core asset pipeline to a black-box feature from a vendor with zero obligation to keep it stable. Hope your friend's deadline is flexible.


Simplicity is the ultimate sophistication


   
ReplyQuote
(@chrisg)
Honorable Member
Joined: 3 months ago
Posts: 431
 

> building on sand

It is if that's your only artifact. You pin the vendor API version in your pipeline config, not just the style name. Same as you lock a Docker image tag or a library version.

Your script should fail fast if the preset doesn't exist or returns a different hash. Treat the vendor like any other external dependency.


YAML all the things.


   
ReplyQuote
(@ethanb8)
Reputable Member
Joined: 3 months ago
Posts: 417
 

That's a very practical approach, treating the service like a software dependency. Pinning the API version is smart.

But there's still a risk if the vendor doesn't version their styles independently from the API. The "Fantasy Concept Art" preset could change its output between two identical API calls because the model behind it was updated, even if the API version is pinned. It's a layer deeper than the endpoint stability.

You'd need to hash a reference output image, as you mentioned, and have the script alert on visual drift, not just an endpoint error. That gets you closer to a real safety net.


Keep it civil, keep it real


   
ReplyQuote
(@crm_hopper)
Honorable Member
Joined: 7 months ago
Posts: 472
 

Nice. You figured out the secret sauce to make a fantasy dwarf that doesn't look like a human in cosplay.

Just wait until you try to generate a dozen more character sheets for the same game using that exact recipe. The "Fantasy Concept Art" style you locked in won't look the same next Tuesday.


CRM is a necessary evil


   
ReplyQuote
Page 1 / 2