Skip to content

foxpaw2020/script-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฌ ๅ‰งๆœฌๆ‹†่งฃๅคงๅธˆ Script Analyzer

AI-powered script breakdown tool for film/TV production. Extract characters, props, scenes, and storyboard shots from screenplays. Outputs HTML + Word reports with generation-ready AI prompts.

ไธญๆ–‡่ฏดๆ˜Ž | English Guide


English Guide

โš ๏ธโš ๏ธโš ๏ธไธ€ๅฎš่ฆไธ€้›†ไธ€้›†ๆ‹†่งฃ๏ผŒไธ่ฆๆ•ดไธชๅ‰งๆœฌๆ‰”่ฟ›ๅŽป๏ผŒๆจกๅž‹ไธŠไธ‹ๆ–‡ๅค„็†ไธไบ†โš ๏ธโš ๏ธโš ๏ธ โš ๏ธโš ๏ธโš ๏ธไผ˜ๅŒ–ไธป่ฆๆ˜ฏ้’ˆๅฏนๅ‡บๆตท็š„่‹ฑๆ–‡ๅ‰งๆœฌ่ต„ไบงๅ’Œๅˆ†้•œ็š„ๆ‹†่งฃ๏ผŒ็”ตๅฝฑ็”ต่ง†ๅ‰งไธ้€‚็”จๅ“ฆโš ๏ธโš ๏ธโš ๏ธ

What It Does

Paste/Upload Script โ†’ AI Analysis โ†’ Four-Step Breakdown
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  Characters  โ†’   Props    โ†’   Scenes    โ†’   Storyboard
      โ†“            โ†“            โ†“              โ†“
  Profile Card   Info Card    Dual Prompts   6-Module Shots
  AI Prompt      AI Prompt    Wide+Topdown   Timeline Chains

Each step outputs independent HTML and Word files as soon as it completes.

Tech Stack

  • Backend: Python 3.9+ / Flask / SSE real-time progress
  • Frontend: Vanilla JS + CSS / Jinja2 templates
  • AI: DeepSeek API (recommended) or Ollama local models
  • Reports: python-docx (Word) / Jinja2 (HTML)

Quick Start

pip install -r requirements.txt
PORT=5005 python3 app.py
# Open http://localhost:5005

AI Configuration

Provider Required How to Get
DeepSeek API API Key Sign up at platform.deepseek.com
Ollama None Install Ollama and start it locally

Recommended model: deepseek-v4-flash (1M context window, fastest)

Usage

  1. Paste your script text or upload a .txt / .docx / .pdf file
  2. Select AI provider and fill in your API Key (if using DeepSeek)
  3. Click ๅผ€ๅง‹ๅˆ†ๆž (Start Analysis)
  4. Watch the progress bar as it runs through all four steps
  5. Download HTML / Word reports

Output Files

Reports are saved under outputs/<script-name>/:

outputs/ScriptName/
โ”œโ”€โ”€ ่ง’่‰ฒๆๅ–.html         Characters.html
โ”œโ”€โ”€ ้“ๅ…ทๆๅ–.html         Props.html
โ”œโ”€โ”€ ๅœบๆ™ฏๆ‹†่งฃ.html         Scenes.html
โ”œโ”€โ”€ ๅˆ†้•œๆ‹†่งฃ.html         Storyboard.html
โ””โ”€โ”€ *.docx                (Word versions)

Project Structure

script-analyzer/
โ”œโ”€โ”€ app.py                    # Flask routes + four-step generators
โ”œโ”€โ”€ config.py                 # Model / API configuration
โ”œโ”€โ”€ extractors/               # Extractors (prompt + parse logic)
โ”‚   โ”œโ”€โ”€ base.py               # Shared JSON repair base class
โ”‚   โ”œโ”€โ”€ characters.py         # Character extraction
โ”‚   โ”œโ”€โ”€ props.py              # Prop extraction
โ”‚   โ”œโ”€โ”€ scenes.py             # Scene breakdown
โ”‚   โ””โ”€โ”€ shots.py              # Storyboard breakdown
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ ai_service.py         # AI calls (strategy pattern)
โ”‚   โ””โ”€โ”€ file_parser.py        # PDF/Word/TXT parsing
โ”œโ”€โ”€ reports/
โ”‚   โ”œโ”€โ”€ html_report.py        # HTML report generation
โ”‚   โ””โ”€โ”€ word_report.py        # Word report generation
โ”œโ”€โ”€ static/                   # Frontend assets
โ”‚   โ”œโ”€โ”€ index.html
โ”‚   โ”œโ”€โ”€ js/app.js
โ”‚   โ””โ”€โ”€ css/style.css
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ report.html           # Jinja2 report template
โ”œโ”€โ”€ knowledge_base/           # JSON knowledge bases for prompts
โ”œโ”€โ”€ utils/                    # Utilities (SSE / text processing)
โ””โ”€โ”€ requirements.txt

Configuration

Available via the "Advanced Parameters" panel or .env:

Parameter Default Description
PORT 5000 Server port
max_tokens 4000 Max output tokens per AI call
temperature 0 Generation randomness
top_p 0.95 Nucleus sampling

License

MIT


ไธญๆ–‡ไฝฟ็”จ่ฏดๆ˜Ž

ๅŠŸ่ƒฝ

็ฒ˜่ดด/ไธŠไผ ๅ‰งๆœฌ โ†’ AI ๅˆ†ๆž โ†’ ๅ››ๆญฅๆ‹†่งฃ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  ่ง’่‰ฒๆๅ– โ†’ ้“ๅ…ทๆๅ– โ†’ ๅœบๆ™ฏๆ‹†่งฃ โ†’ ๅˆ†้•œๆ‹†่งฃ
      โ†“          โ†“          โ†“          โ†“
  ่ง’่‰ฒไฟกๆฏๅก   ้“ๅ…ทไฟกๆฏๅก   ๅŒ็‰ˆๆ็คบ่ฏ   ๅ…ญๆจกๅ—ๅˆ†้•œ
  ่ง’่‰ฒๆ็คบ่ฏ   ้“ๅ…ทๆ็คบ่ฏ   ๅ…จๆ™ฏ+ไฟฏ่ง†   ็ง’็บงๅŠจไฝœ้“พ

ๆฏไธชๆญฅ้ชคๅฎŒๆˆๅŽๅณๆ—ถ่พ“ๅ‡บ็‹ฌ็ซ‹็š„ HTML ๅ’Œ Word ๆ–‡ไปถใ€‚

ๆŠ€ๆœฏๆ ˆ

  • ๅŽ็ซฏ: Python 3.9+ / Flask / SSE ๅฎžๆ—ถ่ฟ›ๅบฆๆŽจ้€
  • ๅ‰็ซฏ: ๅŽŸ็”Ÿ JS + CSS / Jinja2 ๆจกๆฟ
  • AI: ๆ”ฏๆŒ DeepSeek API ๅ’Œ Ollama ๆœฌๅœฐๆจกๅž‹
  • ๆŠฅๅ‘Š: python-docx (Word) / Jinja2 (HTML)

ๅฟซ้€Ÿๅผ€ๅง‹

pip install -r requirements.txt
PORT=5005 python3 app.py
# ๆต่งˆๅ™จๆ‰“ๅผ€ http://localhost:5005

้…็ฝฎ AI

ๆไพ›ๅ•† ้œ€่ฆๅกซๅ†™ ่ฏดๆ˜Ž
DeepSeek API๏ผˆๆŽจ่๏ผ‰ API Key ๅˆฐ platform.deepseek.com ๅˆ›ๅปบ
Ollama๏ผˆๆœฌๅœฐ๏ผ‰ ๆ—  ้œ€ๅ…ˆๅฎ‰่ฃ…ๅนถๅฏๅŠจ Ollama

ๆŽจ่ๆจกๅž‹: deepseek-v4-flash๏ผˆ1M ไธŠไธ‹ๆ–‡๏ผŒ้€Ÿๅบฆๆœ€ๅฟซ๏ผ‰

ไฝฟ็”จ

  1. ็ฒ˜่ดดๅ‰งๆœฌๆ–‡ๅญ—ๆˆ–ไธŠไผ  .txt / .docx / .pdf ๆ–‡ไปถ
  2. ้€‰ๆ‹ฉ AI ๆไพ›ๅ•†ๅนถๅกซๅ…ฅ API Key๏ผˆDeepSeek๏ผ‰
  3. ็‚นๅ‡ป ๅผ€ๅง‹ๅˆ†ๆž
  4. ็ญ‰ๅพ…่ฟ›ๅบฆๆก่ตฐๅฎŒๅ››ๆญฅๆ‹†่งฃ
  5. ๆŸฅ็œ‹็ป“ๆžœ โ†’ ไธ‹่ฝฝ HTML / Word ๆŠฅๅ‘Š

่พ“ๅ‡บๆ–‡ไปถ

ๅˆ†ๆžๅฎŒๆˆๅŽ๏ผŒๆŠฅๅ‘Šไฟๅญ˜ๅœจ outputs/ๅ‰งๆœฌๅ/ ไธ‹๏ผš

outputs/ๅ‰งๅ/
โ”œโ”€โ”€ ่ง’่‰ฒๆๅ–.html         ่ง’่‰ฒๆๅ–.docx
โ”œโ”€โ”€ ้“ๅ…ทๆๅ–.html         ้“ๅ…ทๆๅ–.docx
โ”œโ”€โ”€ ๅœบๆ™ฏๆ‹†่งฃ.html         ๅœบๆ™ฏๆ‹†่งฃ.docx
โ””โ”€โ”€ ๅˆ†้•œๆ‹†่งฃ.html         ๅˆ†้•œๆ‹†่งฃ.docx

้กน็›ฎ็ป“ๆž„

script-analyzer/
โ”œโ”€โ”€ app.py                    # Flask ไธป่ทฏ็”ฑ + ๅ››ๆญฅ็”Ÿๆˆๅ™จ
โ”œโ”€โ”€ config.py                 # ๆจกๅž‹ / API ้…็ฝฎ
โ”œโ”€โ”€ extractors/               # ๆๅ–ๅ™จ๏ผˆprompt + ่งฃๆž้€ป่พ‘๏ผ‰
โ”‚   โ”œโ”€โ”€ base.py               # ๅ…ฌๅ…ฑ JSON ไฟฎๅคๅŸบ็ฑป
โ”‚   โ”œโ”€โ”€ characters.py         # ่ง’่‰ฒๆๅ–
โ”‚   โ”œโ”€โ”€ props.py              # ้“ๅ…ทๆๅ–
โ”‚   โ”œโ”€โ”€ scenes.py             # ๅœบๆ™ฏๆ‹†่งฃ
โ”‚   โ””โ”€โ”€ shots.py              # ๅˆ†้•œๆ‹†่งฃ
โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ ai_service.py         # AI ่ฐƒ็”จ๏ผˆ็ญ–็•ฅๆจกๅผ๏ผ‰
โ”‚   โ””โ”€โ”€ file_parser.py        # PDF/Word/TXT ่งฃๆž
โ”œโ”€โ”€ reports/
โ”‚   โ”œโ”€โ”€ html_report.py        # HTML ๆŠฅๅ‘Š็”Ÿๆˆ
โ”‚   โ””โ”€โ”€ word_report.py        # Word ๆŠฅๅ‘Š็”Ÿๆˆ
โ”œโ”€โ”€ static/                   # ๅ‰็ซฏ้™ๆ€่ต„ๆบ
โ”‚   โ”œโ”€โ”€ index.html
โ”‚   โ”œโ”€โ”€ js/app.js
โ”‚   โ””โ”€โ”€ css/style.css
โ”œโ”€โ”€ templates/
โ”‚   โ””โ”€โ”€ report.html           # Jinja2 ๆŠฅๅ‘Šๆจกๆฟ
โ”œโ”€โ”€ knowledge_base/           # ็Ÿฅ่ฏ†ๅบ“ JSON
โ”œโ”€โ”€ utils/                    # ๅทฅๅ…ทๅ‡ฝๆ•ฐ๏ผˆSSE / ๆ–‡ๆœฌๅค„็†๏ผ‰
โ””โ”€โ”€ requirements.txt

้…็ฝฎ้กน

้€š่ฟ‡็ฝ‘้กต็•Œ้ข็š„ใ€Œ้ซ˜็บงๅ‚ๆ•ฐใ€ๆˆ–ๅœจ .env ไธญ่ฎพ็ฝฎ๏ผš

ๅ‚ๆ•ฐ ้ป˜่ฎคๅ€ผ ่ฏดๆ˜Ž
PORT 5000 ๆœๅŠก็ซฏๅฃ
max_tokens 4000 AI ๅ•ๆฌก่พ“ๅ‡บไธŠ้™
temperature 0 ็”Ÿๆˆ้šๆœบๆ€ง
top_p 0.95 ๆ ธ้‡‡ๆ ท

License

MIT

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors