AI Character Reference Bank
Turn a text description into a consistent character reference set (portrait, 3/4, full-body, expressions) plus a reusable character-bible prompt. No code.
How it works
- 1Open it on Apify
Hit Run on Apify — it opens the tool in the cloud, no install.
- 2Set the inputs
Adjust
characters,views,style(sensible defaults are pre-filled). - 3Click Run
The tool runs on Apify’s cloud and collects the data for you.
- 4Export the results
Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.
Inputs
| Field | What it does | Type |
|---|---|---|
characters | Array of character descriptions — plain strings, or objects { name, description }. | array |
views | Which views/expressions to render: portrait, threequarter, fullbody, side, happy, angry, sad, surprised. | array |
style | Shared art style for the character set. | string |
aspectRatio | Image shape. | string |
quality | gpt-image-1 quality. | string |
openaiApiKey | Your OpenAI key (gpt-image-1). Kept private. | string |
baseUrl | OpenAI-compatible base URL. Default https://api.openai.com/v1. | string |
What you get
A structured dataset — each result includes fields like:
_demo_noticecharacterBibledescriptionnamereferencesslugExport 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
AI Anime Character Turnaround Sheet: Front, 3/4, Side
Anime model sheet with front, 3/4, and side views plus a row of expressions, generated in one consistent style for animators and visual novel artists.
Generate a Full Character Cast in One Shared Art Style
Need a whole story cast that matches? Pass three characters and get a reference sheet for each, all locked to one art style for comics, games, and VNs.
AI Character Reference Bank
Give it a one-line character description and it generates a matching set of reference images (portrait, three-quarter, full body, side profile, and expression sheets) plus a reusable "character bible" prompt you can paste into later jobs. It's built for people who need the same character to show up identically across many shots: comics, faceless videos, game concepts, storyboards.
How it works
For each character it writes a character-bible prompt from your description and shared style, then sends that same bible to OpenAI's gpt-image-1 once per requested view, appending the view instruction (front portrait, 3/4 angle, full body, side, or an expression). Reusing one locked description per view is what keeps the face, hair, clothing, and colors consistent across the set.
Input
You bring your own OpenAI key. Nothing is strictly required by the schema, but in practice you need characters and openaiApiKey or the run errors out.
| Field | Required | Notes |
|---|---|---|
characters | yes (in practice) | Array of descriptions. Plain strings, or objects { name, description }. The name becomes the file slug. |
views | no | Which views/expressions to render. Any of portrait, threequarter, fullbody, side, happy, angry, sad, surprised. Defaults to portrait, threequarter, fullbody. |
style | no | Shared art style applied to every character so the whole set matches. Defaults to a clean studio-portrait style. |
aspectRatio | no | 1:1, 9:16, or 16:9. Defaults to 1:1. |
quality | no | gpt-image-1 quality: low, medium, high. Lower is cheaper and faster. Defaults to high. |
openaiApiKey | yes (in practice) | Your OpenAI key with gpt-image-1 access. Stored as a secret. |
baseUrl | no | Override for an OpenAI-compatible endpoint. Defaults to https://api.openai.com/v1. |
Output
Each character is one dataset record. The PNG files land in the run's key-value store, and the record links to them. Key fields per record: name, slug, description, characterBible (the reusable prompt), and references, an array of { view, imageKey, imageUrl }. If a particular view fails, that entry carries an error instead of an image and the rest still run.
Example
{
"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"],
"style": "consistent character design, clean studio background, soft even lighting",
"aspectRatio": "1:1",
"quality": "high",
"openaiApiKey": "sk-..."
}
Pricing
$0.15 per character, pay per result, no subscription. OpenAI image costs are billed separately to your own key.
Notes
The character bible reduces drift but doesn't eliminate it. Across many views you'll still see small inconsistencies, so treat the set as strong references rather than a guarantee, and reuse the characterBible string verbatim in downstream prompts to stay on model.