Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
AI Character Reference Bank icon

AI Character Reference Bank

Make a consistent AI character reference set. You get portrait, 3/4, full body, side and expression sheets, plus a character-bible prompt.

5 from 2 reviews on Apify 31 runs on Apify $0.15 per character bank ($150 / 1,000)
Run this in the cloudRun on Apify →

YouTube & Creator Tools

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust characters, views, style (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.15 per character bank = $150 per 1,000

You are charged forWhenPrice
Character bankOne character reference bank + bible.$0.15

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-08, and they are what you are actually charged.

Inputs

FieldWhat it doesType
charactersArray of character descriptions, plain strings, or objects { name, description }.array
viewsWhich views/expressions to render: portrait, threequarter, fullbody, side, happy, angry, sad, surprised.array
styleShared art style for the character set.string
aspectRatioImage shape.string
qualitygpt-image-1 quality.string
openaiApiKeyYour OpenAI key (gpt-image-1). Kept private.string
baseUrlOpenAI-compatible base URL. Default https://api.openai.com/v1.string

What you get

A structured dataset — each result includes fields like:

_demo_noticecharacterBibledescriptionnamereferencesslug

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

2 ready-to-run use cases

Character Turnaround Sheet Generator, Anime Style

Front, three-quarter and side views plus happy, angry and surprised, from one line of description. Needs your own OpenAI key with gpt-image-1.

Consistent Character AI Sheets for a Story Cast

Three characters, one locked art style, portrait plus three-quarter plus full body each. Small drift across views is normal - these are references.

Related tools in YouTube & Creator Tools

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

YouTube Channel Scraper iconYouTube & Creator Tools

YouTube Channel Scraper

Scrape videos from any YouTube channel, no login or API key. Rows carry titles, views, dates, duration, thumbnails.

Ready to run — no setup

YouTube Comments Scraper iconYouTube & Creator Tools

YouTube Comments Scraper

Scrape YouTube comments with no login or key. Get text, likes, reply counts, author handle, verified badge and timestamp. $0.40 per 1,000.

Ready to run — no setup

YouTube Playlist Scraper iconYouTube & Creator Tools

YouTube Playlist Scraper

Export every video in a YouTube playlist. Get title, watch URL, views, age, runtime and thumbnail. No API key or OAuth. $0.40 per 1,000 videos.

2 use cases

YouTube Transcript Scraper iconYouTube & Creator Tools

YouTube Transcript Scraper

YouTube transcripts from links or a keyword search: text, timed segments, SRT, VTT and video details. No API key. $0.80 per 1,000.

2 use cases

YouTube Trending Scraper iconYouTube & Creator Tools

YouTube Trending Scraper

Get the most-viewed YouTube videos for any topic, no login or key. Rows carry views, titles, channels, duration, thumbnails. $0.40 per 1,000 videos.

Ready to run — no setup

YouTube Channel Email Scraper iconYouTube & Creator Tools

YouTube Channel Email Scraper

Find the business emails creators publish in their YouTube channel description, plus their linked site's contact pages. $1.50 per 1,000 channels.

Ready to run — no setup

See all YouTube & Creator Tools →

AI Character Reference Bank: one description, a matching set of reference images

Describe a character in a sentence and you get a sheet of them: portrait, three-quarter, full body, side profile and four expressions, all in one art style. You also get a characterBible string, a block of prompt text you paste into later prompts so the same face, hair and outfit keep turning up.

Two things up front. It runs on your own OpenAI key, so the renders land on your OpenAI bill on top of the charge here. And the consistency is written, not locked: there is no reference image behind it, so a character stays recognisable rather than identical.

InputOne or more character descriptions
OutputOne row per character, plus one image per view
CeilingEight views per character, and no cap on how many characters
Account neededYour own OpenAI API key
Price$0.15 per character, flat on every plan

🎭 What AI Character Reference Bank does

You give it a character. It writes a character bible out of your description and your style line, then renders that bible once per view you asked for.

Eight views exist: portrait, threequarter, fullbody, side, happy, angry, sad and surprised. Ask for a name that is not on that list and it is dropped without complaint. Ask for nothing but names that are not on it and you get portrait alone.

Characters run in order and views run in order inside them, so a run of five characters at five views each is forty images made one after another. Expect a wait.

aspectRatio sets the shape: 1:1 is 1024x1024, 9:16 is 1024x1536, 16:9 is 1536x1024.

📥 What you give it

{
  "characters": [
    { "name": "Milo", "description": "a small brave fox cub with a red scarf and bright green eyes, cartoon style" }
  ],
  "views": ["portrait", "threequarter", "fullbody", "happy", "angry"],
  "aspectRatio": "1:1",
  "quality": "high"
}
FieldDefaultWhat it is
charactersnonePlain strings, or objects with name and description. The form opens with a fox cub filled in as an example, which is a starting point rather than a default.
viewsportrait, threequarter, fullbodyWhich of the eight to render. The form suggests five, which is a prefill, not the default: leave the field alone in the API and you get three.
styleconsistent character design, clean studio background, highly detailed, soft even lightingThe art direction folded into every prompt. Change this and the whole set changes together.
aspectRatio1:11:1, 9:16 or 16:9.
qualityhighlow, medium or high. This moves your own OpenAI bill, not the charge here.
openaiApiKeynoneYour own OpenAI key. Marked secret.
baseUrlnoneAdvanced. Any OpenAI-compatible host. Empty means https://api.openai.com/v1.

Give each character a different name. The image keys are built from it, so two characters called the same thing write to the same key and the second one overwrites the first.

Run it with no key and you get a labelled demo record in the key-value store rather than pictures. Run it with a key but no usable character and the run stops with an error, because there is nothing to draw.

📤 What you get back

One dataset row per character, with the images themselves in the run's key-value store under keys like milo-portrait-1786411663909.png.

FieldWhat it is
oktrue. Only characters that produced at least one image reach the dataset.
nameWhat you called them, or null if you passed a plain string.
slugThe tidied name used in the file keys. Unnamed characters get character-1, character-2.
descriptionYour description, unchanged.
characterBibleThe reusable prompt text. This is the part worth keeping.
referencesOne entry per view. A rendered view carries view, imageKey and imageUrl. A view that failed carries view and error instead.

No example row is printed here. No run on record has produced one with a working customer key, and a plausible row typed out by hand is worse than none.

🧾 Reading the output

A character is in the dataset when at least one of its views came back. Everything else goes to the SAMPLE_AND_NOTICES record in the run's key-value store.

RecordWhere it landsBilled
A character with one or more imagesA dataset rowyes
The keyless demoKey-value store, SAMPLE_AND_NOTICESno
A character where every view failedKey-value store, SAMPLE_AND_NOTICES, ok: falseno

Read references before you use a row, because a character with one view out of five still counts as one character and is charged as one. The four that failed are sitting in that array with their reason next to them, and image_gen_failed_<status> is the shape those messages take.

If every view of every character fails, the run still ends green with an empty dataset. Look in SAMPLE_AND_NOTICES and at the run log, where each failed view is warned about by name.

The Overview table shows name, slug, description, characterBible and references. The images are not previewed there, since references renders as raw JSON in a table cell. Open the key-value store to actually look at them.

▶️ How to run it

1. Open AI Character Reference Bank and click Try for free. 2. Paste your key into OpenAI API key (BYO). 3. Write your character into Characters. Be specific about age, hair, clothing and colours: that sentence is doing all the work. 4. Tick the views you want in Reference views. 5. Click Start, then take the images from the run's Storage tab and copy characterBible out of the row.

💰 How much does it cost?

$0.15 per character. Flat on every Apify plan, no volume tiers. The number of views does not change it: three views or eight, the character is one charge.

You pay per character that produced at least one image. The keyless demo and a character whose views all failed are not charged. OpenAI bills your own key separately for each render, and that side does scale with the number of views, so a long view list is the expensive choice on your bill rather than on this one.

💡 What people use it for

  • Keeping a cast straight across a comic or webtoon, where the same four people appear in every

panel.

  • Faceless video series with a recurring narrator or mascot.
  • Game and animation pitches, where a character sheet is the deliverable.
  • Building characterBible strings once and reusing them in other image tools for months.

🚧 What it does not do

  • No reference-image locking. Consistency comes from the written bible, not from a locked face,

so expect family resemblance rather than a clone.

  • No retries. A view that fails once fails for good in that run, including a rate-limit refusal.

Run it again.

  • Every file is saved as PNG, with a PNG content type, whatever came back.
  • No editing, no upscaling, no posing. It renders the eight views it knows and stops.
  • Partial sets bill in full. One view out of five is still a character and still $0.15.
  • Same name, same file key. Two characters with the same name overwrite each other's images.

🧭 Which AI image actor do you need?

If you wantUse
One character in a set of matching viewsThis one
A run of scene images that tell a storyAI Storyboard Generator
A single thumbnail built to be clickedViral Thumbnail Generator
A finished vertical video, script and voice includedAI Faceless Video Generator
Images you already have turned into a videoStoryboard Video Generator

❓ Questions people ask

Do I need my own key? Yes, for the renders. Without one you get the demo record.

Can I run several characters at once? Yes. Put them all in characters and each becomes its own row and its own charge. They render one after another.

What do I actually do with characterBible? Paste it into the prompt of whatever you draw with next. That is the string that carries the look forward.

Why did one of my views come back empty? Its reason is in that entry of references. Usually the key was refused, or the image model is not available on the host you pointed at.

Can I upload a photo of a character instead? No. It works from text only.

Does asking for more views cost more here? No. Views move your own OpenAI bill, not this charge.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and the error text from the references entry that failed, since that message says what the image call actually answered.