Script AI tools

Generate scripts & stories with AI

Visual overview of AI script and story generation

Generate scripts from scratch. Pick main and sub-genres, era, keywords, character attributes, and more—AI delivers story, cast, scene premise, art direction, and extras together in one package. With billions of possible combinations, you get an original story that’s uniquely yours.

Reference (estimate)

How many story-setting combinations?

Illustration for story-setting combination estimates

Rough stack-up of options in the generator: one main genre, two sub-genres, era, setting/area, and keywords. Up to 67 keyword chips can be combined; the total swings widely depending on how many you pick.

FactorWays
Main genre (incl. “Other”)19
Two sub-genres from 53 chips (Romance 24 + Gang 16 + Comedy 13)1,378
Era (fixed list, excl. free-text “Other”)14
Setting / area23
Ways to pick 1–3 keywords (sum of combos from 67)≈ 50,183

Multiply all rows: on the order of 4.23×10¹¹ combinations — hundreds of billions.

19 × 1,378 × 14 × 23 × 50,183

Total combinations by keyword usage (estimate)

KeywordsTotal (approx.)
Exactly 1~560 million
1 or 2~19.2 billion
1 to 3~400+ billion
Unrestricted (over 2⁶⁷ in theory)Astronomical (10²⁰+ scale)

You always have hundreds of millions of paths at minimum; with a few keywords, totals reach hundreds of billions. Figures are illustrative from current UI counts and may change with product updates.

How to Use

1

Click the "Generate Story" button

Click the button at the top of the script area to open the generation modal.

2

Set your conditions

In the modal, select genre, era, setting, keywords, perspective, protagonist attributes, story development, tempo, and volume (character count / cut-count guidance). You can pick multiple genres and mark one as Main if you like. Use the free text field for extra notes.

3

Click "Generate"

AI writes the script from your settings in a few seconds. Credits charged: 1–4 depending on volume (Short 1, Standard 2, Long 3, Extensive 4).

4

Script is auto-inserted

The script body and character details are automatically inserted into the text area. You can use them as-is or edit manually.

🎬 Movie Mode

Set genre, perspective, protagonist, and story development to generate scripts for movies or short films.

In development. (Beta)

📺 CM Mode

Set product name, category, visual style, and target audience to generate scripts for commercials.

Choosing genres (Movie tab)

  • You can select multiple genres at once, and add sub-themes from panels such as Romance, Gang, or Comedy.
  • Click a selected genre chip to mark it as Main (click again to clear). If you leave Main unset, the model treats chosen genres as peers in the story.
  • The output always includes a “Main genre:” line and a “Sub-genre:” line. A Main chip nudges the primary label; without it, the model still splits peer elements across those two lines.

What the generated script looks like (movie sample)

Visual for the structure of AI-generated movie scripts (sample)

Wording varies by project. The overall shape looks like this (headings are fixed as shown).

Visual showing the overall shape of generated script output
Show sample script block and heading explanations (click to expand)
----------------

Episode 1 "The Gilded Trap"

Main genre: Mystery
Sub-genre: Suspense, social drama

Character Details
[Protagonist: Emily] … (one sentence, appearance only, ~300 chars guideline)

[Script Body]

🚩[Scene 1 — situational premise]
(Era, context, agendas — not directly on screen; do not invent facts absent from the script)

[Scene 1 — ART, LIGHTING, BACKGROUND & EXTRAS]
(Space, props, lighting, background extras — no named character looks)

[Characters — this scene]
No change.

(stage directions & dialogue)

🚩[Scene 2 — situational premise]
(Each new location/time still starts with premise)

[Scene 2 — ART, LIGHTING, BACKGROUND & EXTRAS]
(Next scene space, lighting, etc.)

[Characters — this scene]

[New characters]

[Suspect — new]
… (first-appearance look in full detail)

(stage directions & dialogue)

🚩[Scene 3 — situational premise]

[Scene 3 — ART, LIGHTING, BACKGROUND & EXTRAS]
(Another scene)

[Characters — this scene]

[Returning characters — wardrobe, makeup, or appearance change]

[Emily — look change #1 | date night | skin · makeup · wardrobe]
… (full post-change look, ~300 chars guideline)

(stage directions & dialogue)

----------------

Long fence lines

They wrap the whole document. Bulk cut generation uses this span as the script document. The “Section X / Y” badge in the movie editor reflects fence-delimited block order (position).

Episode heading (optional)

A single line like “Episode 1 …” may appear. If omitted, the main-genre line comes right after the opening fence. Missing headings can desync the badge’s section index from “Episode N” text in the script.

Main genre: / Sub-genre:

Reflects selected genres and any Main chip. Sub-genre may be “none” if there is nothing to list.

Character Details (heading)

A cast list before the script body. Each character is one sentence: commas inside, a single period at the end. It specifies job, age, ethnicity, height, build, hair, eyes, clothing, accessories — about 300 characters as a guideline (no personality or mannerisms).

[Script Body]

After this heading, the screenplay continues scene by scene.

🚩[Scene N — situational premise]

Placed **first** in each scene. **Only** this premise heading line starts with **🚩**; **N** matches the paired art heading. Off-screen context that shapes how the scene reads (era, narrative flow, agendas). **Do not invent facts** absent from the script; keep spatial enumeration in the art block that follows.

[Scene N — ART, LIGHTING, BACKGROUND & EXTRAS]

**Right after** **🚩[Scene N — situational premise]**, once per scene: **[Scene N — ART, LIGHTING, BACKGROUND & EXTRAS]** with **no** leading 🚩 on this line. **N** is sequential across the script (restarts at 1 within a continuation). Describes space, props, materials, lighting — everything on screen except named character looks. Not repeated mid-scene.

[Characters — this scene]

It follows the **[Scene N — ART…]** block. Character looks go here, not inside the art block. Add sub-headings only when there are new faces or look changes (no empty sub-sections).

  • No change. — when no new faces and no look changes, but people are on screen: **only this line** under **[Characters — this scene]** (no sub-headings).
  • None. — when no characters appear: **only this line** under the heading.
  • [New characters] — use **only** when someone appears for the first time; under it, **[Name — new]** plus the next line’s full look (not in opening Character Details).
  • [Returning characters — wardrobe, makeup, or appearance change] — use **only** when a returning character’s look changes; under it, one **look-change** line (two full-width |) and the next line’s full post-change look.

Compared to “Continue your script”

Continuations use the same per-scene order: **🚩[Scene N — situational premise]** → **[Scene N — ART, LIGHTING, BACKGROUND & EXTRAS]** → **[Characters — this scene]** (**N restarts at 1 within the continuation**; **only** the premise line has 🚩). Add **[New characters]** and/or **[Returning characters — wardrobe, makeup, or appearance change]** only when needed; otherwise a single **No change.** or **None.** line. Continuations still omit the upfront Character Details block and main/sub genre lines.

CM tab order

CM output order differs: after the script body come **Product Visual Details** or **Product/Service Details**, then **Character Details** (each product block is also one sentence, ~300 characters as a guideline).

💡 Character Details plus per-scene **[Characters — this scene]** blocks keep looks structured, so bulk cut generation can keep subjects consistent.

AI bulk rewrite of the full script

Visual overview of full-script AI bulk rewrite

AI rewrites your entire script document from natural-language edits aligned with your directorial intent, plus optional quick instructions (preset text chips). It targets only the script in the text area — independent of timeline cuts. Compare before and after in a preview, then replace the full script in one step.

How to Use

1

Click “📝 Rewrite” / 台本修正

In the left column, click 📝 Rewrite (台本修正) in the lower row of the script toolbar. (Polish anything that bothers you in the script here — cut generation later is driven from this text.)

2

Enter rewrite instructions

In the modal, type freeform rewrite notes. You don’t need a perfect prompt — just say what you want changed, straight.

e.g. shift the story to a happy ending, or make the boss look scarier — AI rewrites the full script to match your intent as director.

Pro tip
Visual for the pro tip callout

Once the script feels right, use the default quick instructions to add depth — situational explanation, world-building, art direction — so the next cut-generation step tends to track your story more accurately.

3

Run to generate the full rewrite

Run sends the job; AI returns the rewritten full script. This action consumes 2 prompt credits (per the app’s credit settings).

4

Review preview and Apply

Compare before and after side by side. Apply replaces the entire script text. Cancel keeps your original script, but credits are still consumed because the API already ran.

Quick chips

More stage directionsIntensify actionRefine dialogueAdd situational premiseEnhance art, lighting & extrasDeepen emotionsSpeed up pacingDetailed appearance

Compared to inline script AI edit

✏️ Inline edit rewrites only your selection (1 prompt). 📝 Bulk rewrite targets the full script document with a before/after preview and uses 2 prompts.

Refine any part of the script with AI

Select part of your script by dragging, then send editing instructions to AI via a floating panel. Only the selected portion is rewritten.

How to Use

1

Switch to text editing mode

Hide the timeline to make the text area editable.

2

Drag-select the part to rewrite

On the script text, drag with your mouse to select the range you want to edit.

3

Enter instructions in the floating panel

In the panel that appears when you select text, enter instructions in natural language.

4

Click "Generate" to rewrite the selection

AI rewrites only the selected portion while considering the full script context. Consistency with surrounding context and character settings is maintained.

⚠️ Note

This feature is unavailable while the timeline is visible, as the text area becomes read-only. Please hide the timeline first.