AI Storyboard Generator - Story to Scene Images avatar

AI Storyboard Generator - Story to Scene Images

Pricing

Pay per event

Go to Apify Store
AI Storyboard Generator - Story to Scene Images

AI Storyboard Generator - Story to Scene Images

Turn a story or script into storyboard images. Paste a story and it splits it into scenes, or pass your own shot list, up to 20 per run. Every image shares one art style and your character notes, so people stay recognisable. Runs on your own OpenAI key. $50.00 per 1,000 scene images ($0.05 each).

Pricing

Pay per event

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

18

Total users

0

Monthly active users

5 days ago

Last modified

Share

Turn a story into a run of AI storyboard images that look like they belong together: paste a story and it breaks it into scenes, then renders one image per scene with the same art style and the same character notes carried through every prompt. Or skip the splitting and hand it your own scene list.

Two things to know first. It runs on your own OpenAI key, so the renders are billed to you by OpenAI on top of the per-image charge here. And the continuity is prompt-based: characters stay recognisable across shots, they are not pixel-identical.

InputA story in story, or your own list in scenes
OutputOne image per scene, and a row with its link, the scene text and the exact prompt sent
Ceiling20 images per run
Account neededYour own OpenAI API key
Price$50.00 per 1,000 scene images, so $0.05 an image on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 100. OpenAI bills your key separately

🔍 What AI Storyboard Generator does

Give it story and a chat model reads it and writes short visual descriptions, one per shot. Give it scenes instead and that step is skipped entirely, which is the cheaper route when you already know your shot list: no chat call at all.

Either way, every scene description gets the same treatment before it is rendered: your style in front of it, your characters notes after it, and a rule asking for no lettering. That repetition is what keeps the run looking like one piece of work rather than nine unrelated pictures.

Scenes render one at a time. A measured two-scene run at 9:16 took roughly 27 seconds per image.

aspectRatio decides the shape: 9:16 gives 1024x1536, 16:9 gives 1536x1024, 1:1 gives 1024x1024.

📋 What data you get from each scene image

What you getField
The image, saved in the run's key-value store, and a direct link to itimageKey, imageUrl
The scene description, the model's or yoursscene
The full prompt that was sent, style and character notes includedprompt
The scene number, counting from 1index
The shape you asked for and the pixel size that came outaspectRatio, size
The image type as read off the file, and its size in bytescontentType, bytes

▶️ How to turn a story into storyboard images

  1. Open AI Storyboard Generator and click Try for free.
  2. Paste your key into OpenAI API key (BYO).
  3. Put your text in Story / script, or your own shots in Scenes (optional).
  4. Write a line into Art style, and another into Character notes if people recur. These two do most of the work.
  5. Click Start, then take the pictures from the run's Storage tab.

Start it with no key and the free sample lands in DIAGNOSTICS in the key-value store.

💰 How much does it cost to make storyboard images?

$0.05 per scene image on the Free plan, a little less on paid plans. A six-scene storyboard is $0.30, and on the free plan the $5 Apify gives you each month covers about 100 images.

You pay per picture that was rendered and stored. Scenes that failed are not charged, and a run stopped by one of the reasons below delivers no images and charges for none. OpenAI bills your own key separately for the splitting call and the renders, and quality moves that figure, not this one.

📥 What you give it

{
"story": "A lonely lighthouse keeper finds a glowing bottle washed ashore. Inside is a map to an island that should not exist. He sets sail at dawn.",
"numScenes": 6,
"style": "cinematic, highly detailed, dramatic lighting",
"characters": "an old bearded keeper in a yellow raincoat",
"aspectRatio": "9:16",
"quality": "high"
}

Nothing in this schema has a default. The form opens with example values filled in, and those are a starting point, not a setting the actor falls back to.

FieldPrefilled withWhat it is
storya lighthouse exampleThe text to break into scenes. Long input is cut at 6,000 characters before splitting.
scenesnothingYour own scene descriptions, one image each. Supplying this skips the splitting step.
numScenes6How many scenes the split is asked for, between 1 and 20. Read the note below.
stylea cinematic lookThe art direction put in front of every prompt. This is the main lever on how the set looks.
charactersnothingWho keeps appearing, in a sentence. Added to every prompt so faces and clothes stay close.
aspectRatio9:169:16, 16:9 or 1:1.
qualityhighlow, medium or high. This moves your own OpenAI bill, not the charge here.
openaiApiKeynothingYour own OpenAI key, used for both the splitting call and the renders. Marked secret.
baseUrlnothingAdvanced. Any OpenAI-compatible host. Empty means https://api.openai.com/v1.
sceneModelgpt-4o-miniThe chat model that does the splitting. Ignored when you pass scenes.
imageModelgpt-image-2.5-flareThe image model. It has to exist on whatever baseUrl you point at.

numScenes is a request, not a cap. It is what the splitting model is asked for, and the list it returns is used as it comes back, so you can end up with a couple more images than you asked for and pay for those too. The hard ceiling is 20. If you want an exact count, pass scenes yourself.

📤 What you get back

One row per image that was rendered and stored, and the picture itself in the run's key-value store under a key like scene-01-1786411663909.png. Storyboard images are large: a measured two-scene run returned PNGs of 2,257,573 and 1,902,976 bytes.

The only delivered rows on record have expired, so this is the real sample a keyless run wrote on 2 October 2026 inside its DIAGNOSTICS record, with the note cut short. A delivered row has the same scene fields with ok: true, imageKey, imageUrl, contentType and bytes filled in, and no _sample, charged, reason, note or hint.

{
"_sample": true,
"charged": false,
"reason": "missing_api_key",
"note": "No API key supplied, so nothing was generated and no rows were charged. ...",
"hint": "Set \"openaiApiKey\".",
"index": 1,
"scene": "A lighthouse keeper discovers a glowing map at dawn.",
"prompt": "Cinematic storyboard frame of a lighthouse keeper holding a glowing map at dawn. No text, no words, no captions, no watermark, no logos in the image.",
"imageKey": null,
"imageUrl": null,
"aspectRatio": "9:16",
"size": "1024x1536"
}
FieldHow to read it
promptExactly what the image model was given. When a scene comes out wrong, read this first.
imageUrlA direct link to the picture. imageKey is its name in the store.
sizeThe pixel size for the shape you picked.

🧾 Reading the output

The dataset only ever holds finished images. A scene that failed is not in it, and neither is any notice about the run.

Everything else goes to two places: a DIAGNOSTICS record in the run's key-value store, and a separate dataset named storyboard-diagnostics in your account. Both carry a short reason code:

ReasonWhat happened
missing_api_keyNo key was supplied, so nothing was rendered.
no_story_and_no_scenesNeither field had anything in it.
scene_split_failedThe chat model could not produce a usable scene list.
no_usable_scenesThe split came back, but every scene in it was blank.
partial_failureSome images were delivered and some scenes failed. Only the delivered ones are charged.
all_scenes_failedNo image could be made. The record carries the first error.
time_limitThe run reached its time limit. Images made before it are delivered and charged, and the record says which scenes were not made. With none made, the run is marked failed.
unexpected_errorThe run stopped early on a bug. Report the run ID.

The run finishes green unless its time limit came first. That is deliberate, since the dataset is what gets billed, but it does mean an empty dataset here means read DIAGNOSTICS, not that your story was too short.

storyboard-diagnostics is a named dataset, so it stays in your account and grows with every run. Clear it out now and then.

The Overview table shows index, scene, imageUrl and aspectRatio. prompt, bytes and contentType are in the row but not in that table.

💡 What people use it for

  • Shot sequences for faceless video, where a script has to become pictures before anything is cut.
  • Comic and webtoon roughs, working from a scene list rather than a story.
  • Ad and pitch concepts, where the point is showing a client the run of shots, not a finished frame.
  • Laying out a children's book or an explainer, one page at a time, in one style.

From a story to a narrated slideshow, in three runs:

  1. Run this on your story and copy the imageUrl values in index order.
  2. Read the same story out with AI Text to Speech Voiceover and copy audioUrl.
  3. Give both to Storyboard Video Generator as Image URLs and Audio URL, and you get the MP4.

🚧 What it does not do

  • It does not lock a face. Continuity comes from repeating your characters notes in every prompt, so people stay close but shift a little shot to shot. If you need a locked character, the reference bank below is the better tool.
  • No video. Still images only, no motion, no assembly.
  • No editing or upscaling. It renders once. There is no retouch pass and no second attempt on a picture you dislike.
  • 20 images per run, whatever numScenes says.
  • No text in the images. Prompts ask for none, because rendered lettering usually comes out wrong.
  • It will not work without your key, and the key has to be valid for both the chat model and the image model you name.
  • It is not an official tool of any platform or company named on this page. Dami's Studio is independent and is not affiliated with or endorsed by any of them.

🧭 Which AI image actor do you need?

If you wantUse
A run of scene images from a storyThis one
One character in many poses, from a fixed reference setAI Character Reference Bank
A finished vertical video, script and voice includedAI Faceless Video Generator
Images you already have turned into a videoStoryboard Video Generator
A single thumbnail rather than a sequenceAI Thumbnail Generator
A story rewritten into a short spoken script firstStory to Script Rewriter

❓ Questions people ask

Do I need my own OpenAI key for the storyboard?

Yes, for the renders. There is no shared key behind this.

Why did my run finish with nothing in it?

One of the reasons above. Open DIAGNOSTICS in the run's key-value store and it will say which.

Will the same character look the same in every shot?

Close, not identical. Write the characters note like a casting brief, with hair, age and clothing in it, and it holds up better.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/ai-storyboard-generator. Either way the run happens on your Apify account at the same price, and OpenAI bills your key as usual.

🆘 If something breaks

Open the Issues tab on the actor page. Include the run ID and the reason code from DIAGNOSTICS, since it already carries the exact message and a suggested fix.