How hardikagarwal23/kuku_promo_studio works
Kuku PS1 turns screenplay text into ranked, event-boundary promo recommendations; it does not edit video. The CLI pipeline parses episodes, builds a show profile, generates and filters candidates, scores them with an LLM, optionally extends strong candidates, validates and ranks them, then exports results. A Streamlit review UI and studio operations provide a separate editorial workflow. The README documents the stages; source-index references and excerpts support the internal links shown here, while unsampled implementation details are not assumed.
Main entry points: run.py CLI Runner · llm_client.py LLM Client · app.py Review Dashboard · scoring.py Candidate Scorers
Components 20
Recommendation Pipeline
- CLI Runner
src/run.py - Screenplay Parser
src/parser.py - Parsed Events
src/schemas.py - Window Generator
src/candidates.py - Recall Prefilter
src/prefilter.py - Validation and Ranking
src/validation_ranking.py - Result Exporter
src/exporter.py
Narrative Analysis
- Show Profiler
src/show_profile.py - Candidate Scorers
src/scoring.py - Start Extension
src/extension.py - LLM Client
src/llm_client.py
Run Operations
- App Configuration
src/config.py - Run Reliability
src/reliability.py - Run Outputs
Editorial Review
- Review Dashboard
app.py - Dashboard Data
dashboard_data.py - Studio Operations
studio_ops.py
Other components
- Screenplay Editor
- LLM Provider
- Human Editor
Connections 22
- Screenplay Editor → CLI Runner: provides scripts
README.md - CLI Runner → Screenplay Parser: parses episodes
src/run.py - Screenplay Parser → Parsed Events: creates events
src/parser.py - CLI Runner → Window Generator: generates windows
src/run.py - CLI Runner → Recall Prefilter: filters candidates
src/run.py - CLI Runner → Show Profiler: builds profile
src/run.py - Show Profiler → LLM Client: requests profile
src/show_profile.py - CLI Runner → Candidate Scorers: scores candidates
src/run.py - Candidate Scorers → LLM Client: requests evaluations
src/scoring.py - LLM Client → LLM Provider: sends prompts
src/llm_client.py - CLI Runner → Start Extension: may extend
src/run.py - Start Extension → Candidate Scorers: rescores extension
src/extension.py - CLI Runner → Validation and Ranking: validates and ranks
src/run.py - CLI Runner → Result Exporter: exports results
README.md - CLI Runner → Run Outputs: writes run files
README.md - CLI Runner → Run Reliability: records checkpoints
src/run.py - LLM Client → App Configuration: loads settings
src/llm_client.py - Review Dashboard → Dashboard Data: loads dashboard data
app.py - Review Dashboard → Studio Operations: uses studio operations
app.py - Human Editor → Review Dashboard: reviews promos
README.md - Dashboard Data → Run Outputs: reads run data
- Studio Operations → CLI Runner: starts pipeline
studio_ops.py