ChatGPT Can Now Keep a Character On-Model

Two more free skills. On-brand icons from a hex code, and one character that never drifts.

Beginner10 minIllustration

ChatGPT generating a maroon and orange sell-car icon from a prompt with two hex codes The result
A new brand's colors, same material and lighting, from one line of text.Prompt“Generate a Sell car icon. Primary #9E1F5C, Accent #E76220”
The problem

Same character, a different animal every time.

Done this kind of thing before? Trying it yourself.

Try it yourself

Make one icon and one character, your way

Here's the goal and the kit. Hand it to ChatGPT or any AI and work it out. The steps below open on a hint if you get stuck.

The goal
A 3D icon in your two brand colors, and an otter that looks identical in two different activities.
Time
About 10 minutes if it goes well
Premium 3D ClaymorphismSKILL.md · prompt-library.md · references/
Soft 3D OtterSKILL.md · prompt-library.md · references/
Starter prompt · any AI
Here are two illustration skills from the madebychip-illustration-skills repo: Premium 3D Claymorphism and Soft 3D Otter. Each has a SKILL.md, a prompt-library.md and a references folder. Set up one ChatGPT Project for each. Then tell me exactly what to type to (1) make a gift icon in my brand colors, primary #______ and accent #______, and (2) make the otter jump rope in an orange outfit, with the hero reference attached to the message.

Check your result

  • The icon uses your two colors, with the same soft matte material and studio lighting
  • The otter has the same face and proportions in every image
  • You attached the hero reference to the message, not just to Sources

Step 1

Grab the two skill folders

Premium 3D Claymorphism makes on-brand product icons. Soft 3D Otter makes one fixed character doing anything you describe. Each folder holds the same three things.

InstructionsSKILL.md
Prompt libraryprompt-library.md
Reference imagesreferences/
Claymorphism folder Otter folder

Step 2

Set up the icon skill and generate one

Make a ChatGPT Project. Paste SKILL.md into its Instructions, then add prompt-library.md and the reference images to Sources. It locks the rounded geometry, soft matte material and studio lighting, so you never describe them again.

Reference set of four claymorphism icons in Carro's blue and orange brand colors: a car with key and coin, a calendar, an umbrella, and a gift box
The reference set: four icons in one family.

Now type “generate a gift icon” and nothing else. You get the two default brand colors baked into the instructions, teal and orange.

ChatGPT generating a teal and orange gift icon from the prompt 'Generate a gift icon' with no other instructions given

Step 3

Reskin it with two hex codes

The instructions lock geometry, material and lighting, but treat color as a variable. Put a primary and an accent hex code in the same line and the icon comes back in your palette.

ChatGPT prompt
Generate a Sell car icon. Primary #9E1F5C, Accent #E76220
ChatGPT generating a maroon and orange sell-car icon from the prompt 'Generate a Sell car icon. Primary #9E1F5C, Accent #E76220', showing the exact hex codes applied
Maroon on the body, orange on the price tag. Same material, same lighting.

One instructions file, any subject, and your brand colors travel with it.

Step 4

Set up the otter skill

Make a second Project. SKILL.md goes into Instructions. prompt-library.md and the four reference images go into Sources. The otter is inspired by the one from the TraceTogether app, referenced for inspiration only.

Dragging prompt-library.md and the references folder into the Soft 3D Otter ChatGPT Project's Sources tab

Step 5

Attach the hero reference to every message

Ask for “an otter jumping rope wearing orange” with the references only in Sources, and you get a different otter back every time. ChatGPT knows the file is there but doesn't reliably use it.

Side-by-side comparison of a generated otter playing tennis next to the expected reference otter, showing mismatched face and proportions
Reference only in Sources. A different face and proportions each time.

The fix: attach the hero reference image directly to the message, every single generation, even though it's already in Sources. Same prompt, and the character locks in right away.

Step 6

Change the activity and outfit

Once the character is locked, push it. A different activity and a different outfit color, and it's still unmistakably the same otter.

The same otter character drinking bubble tea, wearing a green outfit
The same otter character baking cookies, wearing a yellow outfit

Re-attach the reference each time. This is a standing habit, not a one-time setup step.

Gut check

Your otter looks different on every generation. What fixes it?

Honest verdict

When to use it, and when not to

Use it for
On-brand 3D icons for a whole team, and one character that keeps its face and proportions across any pose.
Skip it for
Passing off the Carro example or the TraceTogether-inspired otter as your own brand. Both are shown for demonstration only and aren't affiliated with this project.
Careful with
ChatGPT still won't reliably read images from Sources. Attach the hero reference to every message, forever, not just at setup.

Take it to work

Your Monday checklist

On your laptop 0 of 5 done

“Email this to myself” opens your own email app with a link back to this cheat sheet. Nothing is sent from this site.

Workflow done.

No streaks and no guilt. Come back whenever you have ten minutes.

What's in each folder

Each skill is three things. The workflow is free and open source.

SKILL.md

The instructions, and the brain. It goes into the Project's Instructions and locks the style so you never have to describe it again.

prompt-library.md

The same visual language spelled out in more depth. It goes into Sources.

references/

The reference images that give ChatGPT a concrete look to hold. They go into Sources too.

Get it

Everything is free to clone at github.com/madebychip/madebychip-illustration-skills.

Have more questions? Ask Chip in the YouTube comments

About the Carro example

Carro is a car buying and selling marketplace, used here as a case study.

Why Carro

Picture a design team refreshing its brand and wanting a new icon set across the app. Normally that's designer-only work. This shows the PMs and marketers on the same team generating on-brand icons too.

Carro out-of-home billboard ad featuring a claymorphism-style car, key, and coin icon on the brand's orange background

Not affiliated

Carro is a real company, referenced for educational and demonstration purposes only. It is not affiliated with or endorsed by this project.

Have more questions? Ask Chip in the YouTube comments

About the TraceTogether otter

If you're in Singapore, you may remember this swimming otter.

Where it comes from

The otter that appeared in the TraceTogether app during COVID inspired this skill. It's referenced here for inspiration only. Original TraceTogether otter design credit: Joycelyn Chua.

TraceTogether app screenshot showing the original swimming otter mascot design on a check-in confirmation screen

Not affiliated

TraceTogether is Singapore's GovTech contact-tracing app. This project is not affiliated with or endorsed by GovTech Singapore.

Have more questions? Ask Chip in the YouTube comments

Why Sources loses your character

ChatGPT knows the file is in the Project. It just doesn't reliably use it when it renders.

What goes wrong

The reference sat in Sources only, so ChatGPT invented a different-looking otter. Trying again with a different prompt gave the same problem: a new face and new proportions each time. It's the same failure the logo hit in part 1.

The fix

Attach the hero reference image directly to the message on every generation, even though it is already in Sources.

The hero reference image of the otter character from the Soft 3D Otter skill

A standing habit

This isn't a one-time setup step. Treat it as a standing limitation of how ChatGPT behaves, not a bug that will get patched under you.

Have more questions? Ask Chip in the YouTube comments