lasagnastack.reel_pipeline¶
lasagnastack.reel_pipeline
¶
ReelPipeline
¶
ReelPipeline(
ingest_max_workers: int = 2,
analyse_max_workers: int = 4,
analyse_client: LLMClient | None = None,
direct_client: LLMClient | None = None,
critique_client: LLMClient | None = None,
enhance_client: LLMClient | None = None,
post_caption_client: LLMClient | None = None,
)
Bases: Pipeline
The seven-stage raw video clips → CapCut draft + post caption pipeline.
Initialise the pipeline with optional per-stage LLM clients.
Each LLM-backed stage accepts its own client. When None, the stage
constructs a fresh GeminiClient internally.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ingest_max_workers
|
int
|
Parallel worker processes for Stage 1. |
2
|
analyse_max_workers
|
int
|
Concurrent LLM calls for Stage 2. |
4
|
analyse_client
|
LLMClient | None
|
LLM client for Stage 2 (analyse). |
None
|
direct_client
|
LLMClient | None
|
LLM client for Stage 3 (direct). |
None
|
critique_client
|
LLMClient | None
|
LLM client for Stage 4 (critique). |
None
|
enhance_client
|
LLMClient | None
|
LLM client for Stage 5 (enhance). |
None
|
post_caption_client
|
LLMClient | None
|
LLM client for Stage 7 (post caption). |
None
|
Source code in src/lasagnastack/reel_pipeline.py
stages
property
¶
stages: list[Stage]
Return the seven pipeline stages in execution order.
Returns:
| Type | Description |
|---|---|
list[Stage]
|
Ordered list of |
run
¶
run(
state: ReelPipelineState, auto_confirm: bool = False
) -> ReelPipelineState
Run all seven stages, then log and print the completion summary.
Delegates the core orchestration to Pipeline.run() and appends a
structured log entry plus human-readable output paths once all stages
have completed.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
ReelPipelineState
|
Initial pipeline state. |
required |
auto_confirm
|
bool
|
When |
False
|
Returns:
| Type | Description |
|---|---|
ReelPipelineState
|
Final pipeline state after all stages complete. |
Source code in src/lasagnastack/reel_pipeline.py
find_brief
¶
Find the single .txt brief file in input_dir.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_dir
|
Path
|
Directory expected to contain exactly one |
required |
Returns:
| Type | Description |
|---|---|
Path
|
Path to the brief file. |
Raises:
| Type | Description |
|---|---|
ValueError
|
If there is not exactly one |