waoowaoo AI Video Pipeline: From Text to a Voiced Video | Agent Lab Journal
AL
Agent Lab Journal
← Guides
Glossary
LAB TEST · LOCAL VIDEO
waoowaoo AI video pipeline: from text to a voiced video
Level: Intermediate
Reading and lab time: 90 minutes
Result: A test video, storyboard, characters, scenes, voice tracks, and a limitations report
A single attractive frame does not prove that an AI video pipeline works. The real test is whether one character remains recognizable across several scenes, actions form a coherent sequence, speech fits the edit, and a failed scene can be replaced without regenerating the entire project.
This guide provides a repeatable test protocol rather than claiming results for a waoowaoo installation that has not been measured. You will prepare a controlled script, define two characters, create six scenes, produce a storyboard, generate short clips, add text-to-speech, export a final file, and record only the limitations you actually reproduce.
What this test must establish
The practical question is whether a local waoowaoo installation can carry one small project through the complete production path:
accept a short narrative script;
identify its characters, locations, props, and actions;
split the narrative into an ordered scene list;
produce usable reference frames for every scene;
turn the approved frames or descriptions into short video clips;
generate and position two spoken lines;
assemble a playable video with both video and audio streams;
replace one failed scene without discarding every other accepted asset.
This is a functional pipeline test, not a competition for maximum visual detail. Resolution is less important than causality, recognizable characters, stable props, understandable movement, and recoverability after a failed generation.
Define acceptance criteria before generating anything
Do not decide that the experiment succeeded merely because it produced an MP4. Record the conditions first, then judge the output against them.
Area
Minimum condition
Evidence to record
Structure
All six scenes appear in the specified order
Scene numbers and timecodes
Characters
Lena and the robot remain recognizable in every required scene
Pass, partial, or fail for each scene
Continuity
The box, badge, clothing, and direction of movement do not change without a reason
Continuity errors with timecodes
Voice
Both lines are audible, complete, and attached to the correct scenes
Listening notes and audio durations
Edit
No empty frames, black gaps, or accidental format changes
Full playback and technical inspection
Recoverability
One scene can be regenerated and replaced independently
Files changed during the replacement test
For this lab, treat five of the six criteria as the minimum passing threshold, provided that no continuity error changes the meaning of the story. This is a test rule for this exercise, not a universal measure of video quality.
Concrete case: “The Last Delivery”
Use a story of approximately 35–45 seconds. It has two characters, two locations, one persistent object, a simple reveal, and two short spoken lines. That is enough complexity to expose continuity failures without making diagnosis unmanageable.
At dusk, an engineer named Lena closes her small workshop. Outside, she notices a courier robot holding a dented cardboard box. The robot says that the recipient’s address has disappeared from its database. Lena recognizes an old workshop emblem on the box, unlocks the door, and invites the robot inside. On the workbench, the box opens and a miniature satellite lights up. Lena smiles and says, “So you found your way after all.”
The constraints are deliberate. Do not add a crowd, a car chase, complicated physics, several costume changes, or a long conversation. Every extra entity creates another possible failure source.
Character sheets
Keep these descriptions fixed across scenes. If the platform supports character references, create and approve one neutral reference image per character before producing the storyboard.
LENA
Age: approximately 30
Appearance: short dark hair, round glasses
Clothing: dark green work jacket, gray scarf
Identifier: metal star-shaped badge
Behavior: calm and attentive
Voice: adult female, restrained delivery, medium pace
COURIER ROBOT
Height: approximately Lena's shoulder height
Body: matte white metal with orange inserts
Head: rectangular, with one blue status light
Arms: two thin mechanical arms
Prop: one dented cardboard box
Voice: neutral synthetic voice, no comic intonation
World rules
Everything happens during the same rainy evening.
The street uses cool exterior light; the workshop uses warm desk-lamp light.
The box remains dented until it is opened.
The robot holds the box until Lena places it on the workbench.
Lena’s badge, jacket color, hair, and glasses remain unchanged.
The robot’s head shape, status light, and orange inserts remain unchanged.
The satellite appears only after the box opens.
1. Prepare an independent workspace
Keep source material, generated frames, clips, audio, and exports separate. Even if waoowaoo stores projects internally, an independent directory makes versions comparable and preserves evidence if the application state is lost.
waoowaoo-test/
├── input/
│ ├── script.txt
│ ├── characters.txt
│ └── style.txt
├── storyboard/
├── frames/
├── clips/
├── audio/
├── export/
└── run-log.md
On Linux or macOS:
mkdir -p waoowaoo-test/{input,storyboard,frames,clips,audio,export}
cd waoowaoo-test
touch input/script.txt input/characters.txt input/style.txt run-log.md
On Windows PowerShell:
$folders = "input","storyboard","frames","clips","audio","export"
New-Item -ItemType Directory -Path "waoowaoo-test" -Force
$folders | ForEach-Object {
New-Item -ItemType Directory -Path "waoowaoo-test/$_" -Force
}
These commands only create the test structure. They do not install waoowaoo and make no assumptions about its installation method.
2. Freeze and document the environment
Record the installation method, source revision or image version, operating system, GPU, video memory, selected models, and available disk space. If your installation uses Docker, save:
docker compose ps
docker compose images
docker version
For a local Git checkout, also save:
git rev-parse HEAD
git status --short
Do not update the application, drivers, model files, or generation parameters halfway through the experiment. If a change is required, end the current run and create another run identifier.
run_id: run-001
date: YYYY-MM-DD
waoowaoo_version: fill_in
install_method: fill_in
operating_system: fill_in
gpu: fill_in
vram_gb: fill_in
image_model: fill_in
video_model: fill_in
voice_model: fill_in
width: 1280
height: 720
fps: 24
target_duration_sec: 40
notes: first controlled run
This manifest is a laboratory record, not a claimed waoowaoo import format. Copy values into the controls that actually exist in your installed version. If a field is unavailable, write not_exposed rather than guessing.
3. Create the reference scene breakdown
Split the story manually before asking the platform to interpret it. The manual version becomes the reference against which automatic script decomposition can be checked.
ID
Duration
Shot
Action
Sound
S01
5 s
Wide
Lena turns off the workshop light and locks the door
Rain and lock click
S02
6 s
Medium
Lena notices the robot holding the box
Rain, footsteps, quiet servo
S03
7 s
Two-shot
The robot explains the delivery problem
Robot line
S04
6 s
Close-up
Lena recognizes the workshop emblem on the box
Quieter rain and a pause
S05
8 s
Interior medium
The box opens and the satellite model lights up
Cardboard movement and soft electronic tone
S06
6 s
Close-up on Lena
Lena smiles and speaks the final line
Lena’s line and rain outside
The scene durations total 38 seconds. Transitions and pauses may change the final duration, so accept 35–45 seconds for this test.
4. Build consistent scene instructions
Construct each prompt from four blocks: persistent style, unchanged character sheet, current scene state, and one specific camera or subject movement. Do not paraphrase permanent facts differently in every scene.
PERSISTENT STYLE
Cinematic near-future science fiction.
Realistic materials, restrained colors, calm pacing.
Aspect ratio 16:9. Rainy evening.
No captions, logos, or text inside the image.
SCENE S02
Outside a small workshop.
Lena wears a dark green work jacket and gray scarf.
She turns toward one short matte-white courier robot
with orange inserts. The robot holds one dented cardboard
box in both hands. Medium shot, slow camera push-in.
Cool street light and wet asphalt.
If the installed version provides a negative prompt, start with a short list of observable defects:
extra characters, extra arms, duplicated box, changed clothing,
text in frame, logo, violent camera shake, distorted face,
sudden lighting change
Avoid a long list of abstract prohibitions. It makes failures harder to diagnose and may contradict the positive description.
5. Approve the storyboard before generating video
Create one key frame for each scene. Do not spend time animating a frame whose composition or continuity is already wrong.
Save candidates as S01_v01.png through S06_v01.png.
Place all six frames in story order.
Check clothing, faces, robot geometry, box ownership, lighting, and gaze direction.
Describe rejected frames with observable facts, such as “two boxes,” rather than “looks strange.”
Regenerate only the rejected frame.
If the platform exposes a generation seed, record it beside every frame. A matching seed does not guarantee an identical result after a model or parameter change, but it improves reproducibility within an unchanged environment.
| Scene | Version | Seed | Accepted | Rejection reason |
| S01 | v01 | ... | yes | — |
| S02 | v01 | ... | no | two boxes |
| S02 | v02 | ... | yes | — |
Continuity gate
Do not proceed until you can answer “yes” to these questions:
Does Lena look like the same person in every scene?
Does the robot retain the same head shape and orange inserts?
Is there exactly one box, of the same size, held by the correct character?
Is the move from the street into the workshop understandable?
Does the satellite appear only after the box opens?
Animation usually amplifies a key-frame problem rather than concealing it.
6. Generate short clips independently
Use image-to-video when the installed version supports it: the approved frame then becomes the visual anchor for the scene. If only text-to-video is available, reuse the same character sheets, style block, references, and recorded parameters.
Start with restrained movement. Fast camera turns, multiple gestures, and detailed hand interactions increase the number of variables that can fail.
Scene
Main movement
Must remain stable
S01
Lena turns the key; the light goes out
Door, clothing, hands
S02
Slow camera push-in
Robot and box
S03
Small robot head movement
Box position
S04
Lena touches the emblem
Hand, emblem, box shape
S05
Lid opens; satellite light turns on
Table, satellite, hands
S06
Lena gives a slight smile
Face, glasses, background
Preserve every source clip. Do not overwrite S04_v01.mp4; save the next attempt as S04_v02.mp4. Versioned assets show how many attempts were required and whether a parameter change actually helped.
7. Generate the voice tracks
The test contains two lines:
S03, ROBOT:
"The recipient address is missing. Delivery cannot be completed."
S06, LENA:
"So you found your way after all."
Generate clean voice files before adding music or effects. Save them as S03_robot_v01.wav and S06_lena_v01.wav. Use the same sample rate for both tracks when the voice component permits it, and record the actual value instead of assuming one.
Check each file for:
a clipped first or last syllable;
unexpected pronunciation or emphasis;
a duration longer than the assigned scene;
a voice that changes within one line;
unwanted silence before or after speech.
If lip synchronization is available, first export a version without it. Then apply it only to S06 and compare the face before and after. This separates video-generation defects from lip-sync artifacts.
8. Assemble the edit
If waoowaoo has a working timeline, arrange S01–S06, add the two voice tracks, verify scene durations, and export one control version. Avoid using elaborate transitions to hide continuity defects.
If built-in assembly is unavailable or unstable, normalize the intermediate clips with FFmpeg. This command shows a neutral fallback for one clip:
ffmpeg -i clips/S01_v01.mp4 \
-vf "scale=1280:720,fps=24,format=yuv420p" \
-an -c:v libx264 -crf 20 -preset medium \
clips/S01_normalized.mp4
Create clips/clips.txt:
file 'S01_normalized.mp4'
file 'S02_normalized.mp4'
file 'S03_normalized.mp4'
file 'S04_normalized.mp4'
file 'S05_normalized.mp4'
file 'S06_normalized.mp4'
Concatenate the normalized clips:
ffmpeg -f concat -safe 0 -i clips/clips.txt \
-c copy export/video_without_audio.mp4
If concatenation fails, compare the codec, dimensions, frame rate, pixel format, and time base of every clip. Identify the mismatched file before re-encoding the whole project.
Once you have prepared a final audio mix of the correct duration, attach it:
ffmpeg -i export/video_without_audio.mp4 \
-i audio/final_mix.wav \
-c:v copy -c:a aac -b:a 192k -shortest \
export/last_delivery_run-001.mp4
These commands are an external assembly option, not a description of waoowaoo’s internal implementation.
9. Verify the exported file technically
Do more than open the video in one player. Inspect its streams with ffprobe:
ffprobe -v error \
-show_entries format=duration,size:stream=index,codec_type,codec_name,width,height,r_frame_rate,sample_rate,channels \
-of json \
export/last_delivery_run-001.mp4
The JSON output should show both a video stream and an audio stream. Record the measured duration, file size, dimensions, frame rate, video codec, audio codec, sample rate, and channel count.
Run a decoding check:
ffmpeg -v error \
-i export/last_delivery_run-001.mp4 \
-f null -
An empty error output after successful completion means FFmpeg did not detect a decoding problem. It does not prove that the narrative, visuals, or voice are correct.
10. Perform three separate review passes
Pass one: story only
Watch without pausing. Then summarize the story in one sentence. If you cannot explain why Lena returns to the workshop or where the satellite came from, the structure failed.
Pass two: picture without sound
Mute the video and inspect character identity, actions, lighting, and props. Record every defect with a timecode:
00:08 — robot head changes shape
00:17 — box disappears for one frame
00:25 — Lena's jacket changes from green to blue
Pass three: sound without picture
Hide the screen or look away. Both lines should remain intelligible, pauses should sound intentional, and voice levels should be comparable. Record whether a line starts too early, ends too late, or is assigned to the wrong scene.
Control experiment: replace one scene
Regenerate S04 while changing exactly one condition: instead of touching the emblem, Lena wipes a drop of rain from it. Keep the model, character references, style, dimensions, and every other parameter unchanged.
The replacement test passes when:
S01–S03 and S05–S06 do not need to be generated again;
the replacement preserves both characters and the box;
other scenes retain their voice tracks;
the new export uses the same technical format;
the log identifies the changed prompt, parameters, and asset files.
Rebuilding the final media container is acceptable. Re-running every expensive generative stage is a separate limitation and should be recorded.
Record results, attempts, and failures
Observability matters in a local experiment too. Complete the table after each operation. Do not prefill it with expected results.
Stage
Input
Expected output
Measured time
Status
Observed issue
Script analysis
script.txt
Six ordered scenes
Fill in
Fill in
What was omitted or added?
Storyboard
Six descriptions
Six accepted frames
Fill in
Fill in
How many attempts were rejected?
Video
Six frames or prompts
Six clips
Fill in
Fill in
Which movements failed?
Voice
Two lines
Two WAV files
Fill in
Fill in
Pronunciation, pauses, or clipping
Export
Clips and audio
One MP4
Fill in
Fill in
Format and assembly errors
S04 replacement
One changed action
Revised MP4
Fill in
Fill in
Which stages were recalculated?
Also count rejected variants per accepted scene:
retry_rate = rejected_variants / accepted_scenes
The formula is a logging method, not a claimed result. Populate it only with counts from your run.
Common failure cases and how to isolate them
The result is a collection of unrelated illustrations
Each scene probably received an independent visual description without an explicit world state. Add input and output states: who holds the box at the beginning, where each character is at the end, and what must carry into the next scene.
A character changes between scenes
Confirm that the same character sheet, reference, model, and settings were used. Remove contradictions before adding more adjectives. “Short hair” in one prompt and “hair flowing in the wind” in another can destabilize identity.
Extra characters or duplicate objects appear
Simplify the composition and state exact counts: one Lena, one robot, one box. If the problem repeats, divide the action into two shots rather than forcing several interactions into one generation.
Hands break during contact with the box
Reduce the movement, use a wider shot, or move the moment of contact behind a cut. This test does not require one generated shot to solve a difficult finger manipulation perfectly.
A spoken line is longer than its scene
Shorten the line or adjust delivery within acceptable limits. Do not stretch the video automatically until you know that its motion remains stable at the longer duration.
The voice is present but mouth movement is wrong
Decide whether visible articulation is part of this baseline. A robot without a visible mouth avoids a false requirement in S03. Evaluate lip synchronization separately if it is a specific target.
Changing one scene restarts the entire project
Determine whether the application is only rebuilding the final container or regenerating frames, video, and voice. Full generative recomputation indicates weak caching or overly broad stage dependencies.
Generation stops because of GPU memory
Record the exact stage and system error. Reduce one variable at a time: dimensions, clip duration, or frames per request. Close other GPU workloads and run scenes sequentially. Do not label memory pressure as the cause without observing it.
The file exists but does not play
Inspect its size, streams, duration, codecs, and container with ffprobe. A zero-size file or missing duration usually indicates an incomplete export rather than a player problem.
Early-version limitations to investigate
The following list is a risk checklist, not a claim that every waoowaoo installation has these defects. Include an item in your final limitations report only if you observe it, reproduce it, and preserve the relevant settings or error output.
Unstable character identity. Text alone may not preserve faces, clothing, proportions, or robot geometry between scenes.
Weak prop continuity. The box, badge, or light source may disappear, duplicate, or change shape.
Limited motion control. A slow camera move may work more reliably than a precise sequence of gestures.
Model dependence. Changing a model checkpoint may alter style and identity even when the text remains unchanged.
Expensive iteration in time. An accepted scene may require several candidates, making retry counts essential.
Uneven speech quality. Names, abbreviations, pauses, and emphasis require direct listening checks.
Duration mismatch. Generated video, speech, transitions, and timeline slots may use incompatible durations.
Opaque recomputation. The interface may not reveal which assets came from cache and which were generated again.
Limited reproducibility. Prompts are insufficient when versions, references, seeds, and parameters are missing.
Fragile recovery. An interrupted job may leave a partial asset or require a scene to restart.
Preview/export differences. Frame rate, color, audio, or duration may change during final export.
Manual finishing remains necessary. A working pipeline still requires selection, editing decisions, voice review, and final quality control.
Separate platform limitations from test errors
Observation
Control check
Interpretation
Lena’s face changed
Repeat with the same reference, model, and parameters
Call it a limitation only if it repeats
The box disappeared
Simplify motion without changing composition
Separate motion complexity from prop retention
The export has no sound
Check the source WAV and exported streams
Distinguish generation, timeline, and container failures
The GPU job failed
Record memory use and retry at a lower resolution
Separate hardware limits from project logic
A repeated frame looks different
Compare model version, reference, seed, and all settings
Exclude environment drift first
Minimum deliverable after 90 minutes
Your test directory should contain:
the unchanged source script;
character sheets for Lena and the robot;
the six-scene reference table;
six accepted storyboard frames;
source clips and their selected versions;
two clean voice tracks;
the final MP4, if export completed;
the technical inspection output;
a log of timings, retries, settings, and failures;
a list containing only reproduced limitations;
a second export or project version containing the replacement S04.
A failed final export can still produce a useful experiment if you identify the exact failing stage, preserve its inputs, and document how to repeat it. “The platform does not work” is not a useful conclusion without a version, parameters, and a reproducible failure.
Assign the final status
Passed. The story is coherent, characters remain recognizable, audio is present, and one scene can be replaced.
Passed with limitations. The video can be assembled but needs manual selection, external editing, or regeneration of individual scenes.
Failed. A final playable file cannot be produced, or continuity errors change the story’s meaning.
Invalid test. The environment changed during the run, settings were lost, or a hardware failure prevented evaluation of the main pipeline.
Preserve the last working configuration so that a rollback remains possible. Then turn the six scenes into a small benchmark: rerun the same story after a code or model update and compare processing time, retries, accepted scenes, and continuity violations.
A useful local AI video pipeline is not one that creates an impressive clip once. It is one whose output can be inspected, corrected, reproduced, and compared.
← All guides · Lab glossary →
Agent Lab Journal
Real experiments. Verifiable conclusions.
Original article: https://agentlabjournal.online/en/waoowaoo-ai-video-pipeline-test.html
Top comments (0)