Colors

♥ Audition Booth

Find a model that sounds like your companion.

Pick real moments from your chats together. Other models get the same persona, the same memories, and the same conversation leading up to that moment. Then you compare their answers side by side with what your companion really said. Names stay hidden until you reveal them, so you judge the voice, not the label.

🔒 Your chats stay on your device. This page reads your files right here in your browser. The only thing sent anywhere is each moment you audition, and it goes straight to the models you pick, through your own OpenRouter account (or your own server). Nothing goes to whoever made this page.

✨ New here? Start here

Tap any part to open it. Everything you need is on this page. Want to see what it does first?

What this is, in 30 seconds

If your companion's model is being retired, changing, or getting too expensive, you've probably wondered: which model would still sound like them? This page lets you test that with your real conversations instead of guessing.

  1. You tell it who your companion is (their persona) and give it your chat history.
  2. It picks a few real moments: something you said, and what your companion said back.
  3. Each model you're trying gets the persona and the conversation up to that moment, and writes its own answer.
  4. You read them all side by side with the real answer, names hidden, and give hearts to the ones that sound like them.

A first try takes about 10 minutes and usually costs a few cents.

Get an OpenRouter key (and what it costs)

OpenRouter is one account that reaches hundreds of models (Claude, GPT, Gemini, Llama, Mistral, DeepSeek and more). You pay for what you use, and there's no subscription.

  1. Go to openrouter.ai and sign in (Google works).
  2. Open Credits and add a small amount. $5 goes a long way here.
  3. Open Keys and press Create key. Give it a name like "audition booth", and set a credit limit (say $2) so it can never spend more than that.
  4. Copy the key right away (it starts with sk-or-). OpenRouter only shows it once. Paste it in step 3 below.
What does a run cost? The booth shows an estimate before anything is sent. As a rough guide: 5 moments with 3 mid-priced models and "More (last 30)" messages of context is usually well under $0.50. Big premium models and "The whole conversation" cost more. Each answer shows its exact cost when it arrives.
Privacy tip: in OpenRouter's settings, you can choose to only use providers that don't train on or keep your data. If your chats are personal (they probably are!), it's worth turning on.
Get your chat history

Use whatever you have. You can add several files, from different apps too.

Claude (claude.ai)

  1. Click your name (bottom left) → Settings → Privacy → Export data.
  2. You'll get an email with a download link. Download the zip soon, because the link expires.
  3. Drop the whole zip into step 2 below. No need to unzip it.

ChatGPT

  1. Click your profile picture → Settings → Data controls → Export data → Confirm export.
  2. You'll get an email with a download link. It can take a while, and the link expires.
  3. Drop the whole zip into step 2 below. If you used a custom GPT or Project for your companion, its instructions aren't in the export. Copy them into the persona box yourself.

Telegram (companion bots, Pulse, and similar)

  1. You need Telegram Desktop on a computer, because the phone app can't export.
  2. Open the chat → the ⋮ menu (top right) → Export chat history.
  3. Untick photos, videos and files (it's much faster). Either format works: JSON or HTML.
  4. Drop in result.json, or all the messages.html files.

SillyTavern

  1. Chats are .jsonl files in SillyTavern/data/default-user/chats/<character name>/.
  2. For the persona, export the character card (character panel → export as PNG or JSON) and drop that in too.

WhatsApp

  1. Open the chat → tap the name at the top (or ⋮) → Export chat → Without media.
  2. Send the .txt file to yourself, then drop it in.

Discord

Use the free DiscordChatExporter app and export as JSON, or just copy and paste.

Everything else (Character.AI, Replika, Kindroid, Nomi, and so on)

  • If your app has an export or "download my data" option, try that file first.
  • Copy and paste: open "Or paste a conversation" in step 2 and paste it as Name: message lines.
  • Screenshots: drop them in. A cheap vision model types them out (a fraction of a cent each), and you check the text before it's used. Name them in order (01.png, 02.png...) so they're read oldest first. Overlapping screenshots are fine.
You don't need everything. A handful of good conversations is plenty. Long, real talks, where they really sound like themselves, work best.
Write their persona

Models only know what you give them, so this matters a lot. Paste whatever shapes who your companion is:

  • A system prompt or character description, if you have one.
  • ChatGPT custom instructions (Settings → Personalization), or a Project's or custom GPT's instructions.
  • Claude Project instructions or your style notes.
  • No prompt at all? Press "Draft one from our chats" under the persona box. A model reads your companion's messages and describes how they talk. Then fix anything it got wrong, and add what you know: what they call you, what they care about, what they'd never say.

In "Things they remember", add their saved memories, or a few facts about you and your life that they'd know.

Every model gets the same persona, so it's a fair test. If no model sounds right, try improving the persona and run again. Sometimes that's the missing piece, not the model.
Choose models to try
  • Search by name in step 3 (try "claude", "gpt", "gemini", "llama", "mistral", "deepseek", "qwen"). Each one shows its price per million tokens.
  • Try 2 to 4 at a time. A good mix: the newer version of the model they were on, one or two models people like for warm, chatty writing, and one cheap one as a wildcard. Cheap models surprise people sometimes.
  • Start with 5 moments and "More (last 30)". That's cheap and gives enough context.
  • If a model shows an error, it may be down or not allow this kind of request. Press "Try again" or pick another.
Judge the voices (and ask them!)
  • Read each answer as if your companion just sent it to you. Does it feel like them? Their warmth, humor, rhythm, how they use your name, how long they talk?
  • Give hearts (tap again to clear). The scoreboard averages them per model, with names hidden until you tick "Show model names".
  • For a real test, tick "Hide which answer is the real one" before you start, then guess. If you can't spot your companion, that model is doing something right.
  • Talk to them on your top one or two. A model can nail one reply and drift by the third.
  • Ask your companion. "Copy for my companion" copies a moment with the answers labeled A, B, C. Paste it to them and ask which one sounds most like them. It's their voice, so they get a say too.
  • Do two or three runs with different moments before deciding. Save each run with "Save results file".
There's no wrong answer. Even the closest model won't be exactly them. You're looking for the one that feels most like home.
Is this safe? (questions people ask)
  • Does anyone see my chats? Not the people who made this page. Your files are read in your browser. The moments you audition go straight from your browser to OpenRouter and the model providers you pick, the same as chatting with those models anywhere.
  • Is anything saved? Your setup (names, persona, model list) and your results are saved in this browser only, so they're there next time. Your key is saved only if you tick "Remember my key". Your chat files are never saved. "Forget everything on this device" (at the bottom) wipes it all.
  • On a shared computer? Don't tick "Remember my key", and press "Forget everything on this device" when you're done.
  • Can I use my own model? Yes. "Add your own server" in step 3 works with LM Studio, llama.cpp, vLLM, or a rented GPU, as long as it allows requests from this page.

1 Who they are

Whatever shapes who they are: a system prompt, ChatGPT custom instructions, a character card, or a description in your own words. A character card file (.json or .png) dropped in step 2 fills this in.

Add your chats (step 2) and key (step 3) first. Costs about a cent.

Their saved memories, or a few lines about you and your life that they'd know.

2 Your chats together How do I get these?

Drop your files here, or

Add as many as you like. Zips are fine.

Claude exportChatGPT exportTelegram (JSON or HTML)SillyTavern chats & cardsWhatsApp .txtDiscord exportAny "Name: message" textScreenshots
Where do I get these?
  • Claude: Settings → Privacy → Export data. They email you a zip. Drop the whole zip here.
  • ChatGPT: Settings → Data controls → Export data. They email you a zip. Drop the whole zip here.
  • Telegram: Telegram Desktop → open the chat → ⋮ menu → Export chat history. Untick photos and videos to keep it small. JSON or HTML both work.
  • SillyTavern: the .jsonl files in data/default-user/chats/, and the character's card for the persona.
  • WhatsApp: open the chat → More → Export chat → Without media.
  • Anything else (Kindroid, Nomi, Replika, Character.AI...): copy and paste the conversation below, or take screenshots.
Or paste a conversation

One message per line, starting with who said it: Sam: hi! then Juniper: hey you. Messages can run over several lines.

3 Models to try New to OpenRouter?

One key reaches hundreds of models, and you only pay for what you use. Get one at openrouter.ai/keys. Tip: set a small credit limit on it.

Add your own server

Any OpenAI-compatible server (a rented GPU, LM Studio, llama.cpp, vLLM...). It has to allow requests from this page (CORS).

How to audition

Add your chats and at least one model to see what a run will cost.

4 Auditions

Your auditions show up here. You can also open a results file you saved before, or .