levchyk / next WORKING NOTE 01 07 SEP 2026 Shape it with me

A clean start, with the lessons kept

Less machinery.
More finished films.

Your references. Your product. Your story.
That should be enough to start.

My honest take: a new repo makes sense if we simplify the decisions and the execution. Copying the current factory into an empty folder will recreate the same problem.

01 / What I actually found

The friction is real.
The useful work is real, too.

Based on commit history, both requested worktrees, preserved outcomes and your feedback. This is a snapshot at ; those sessions are still moving.

14h 56melapsed for the Sept 6 rebuild
204generation requests
251review requests
21takes for scene 18 alone

One completed historical film, not a benchmark for every video. Counts exclude earlier retired versions and some ancillary calls. Stage windows overlap. Original timing report ↗

WORLD 10 Partial result

The reference route made progress. Persona did not.

The records show an accepted 3:01 complete soundtrack, fresh cast/product references and boards in progress. Persona returned 422: Music does not exist from both the completed cover and the authorized Extend-derived source. No completed new film was proven at the snapshot.

My read: keep actual references. Treat Persona compatibility as a separate, explicit capability test.

Worktree 4ae2edc324 · PR #24 ↗
WORLD 09 / v04 Quality unresolved

We spent too long diagnosing the listener.

The current record lists 22 generated takes, no accepted master. Controlled checks found working full-song review through native audio in an M4A container, with complete decoded-sample equality. The remaining blocker was song quality. A blanket provider-outage diagnosis had been too strong.

My read: prove the review path works before entering a paid creative loop.

Worktree 4d3bc1a052 · PR #23 ↗
THE REPO Design debt

Individual fixes became a growing operating manual.

The history includes source-specific music rules, transport diagnostics, motion-input repairs and repeated pose revisions. World 10's status file even contains older “not started” / “awaiting acceptance” fields alongside newer approved-audio fields.

My read: the error history is valuable. Duplicated instructions and competing status records are expensive.

Read the evidence trail ↓

02 / The experience I would build

References in.
One clear brief. Then production.

Music and visual references are independent inputs. Use either, or both. Every run explicitly declares its audio mode and its generation route.

Let each reference do its own job.

The music reference defines the musical character. The trend video defines the visual language and story mechanisms. Your product passport and editable ad brief define the adaptation. Neither reference gets to overwrite those decisions.

  1. 01

    Reference pack

    Upload once. Keep originals, source timestamps and a compact account of the music, visuals, roles and story. Reuse a verified analysis when the source and analysis version match.

  2. 02

    Adaptation brief

    One place for product truth, characters, concern states, story beats, language, length, offer, audio route and budget. Show what transfers and what changes.

  3. 03

    Approve the audio

    For songs, Suno makes the integrated vocal and music track. Check every returned take, the actual words, phrasing and musical fit. Lock the complete master and its real timing.

  4. 04

    Make the pictures

    Bind passports and short source-video references to each scene. Review boards before motion. Direct one readable dramatic event, including listener reactions. Repair failed scenes only.

  5. 05

    Deliver the film

    Assemble on the approved audio clock. Add readable captions. Review the complete encoded result, then publish that exact version. Keep preview and full film separate.

A / Suno reality check

Persona is useful. It is not a training pipeline.

Suno describes Personas as reusing a song's vocals and style in new songs. It does not promise exact melody, language accuracy or full lyric preservation. Suno documentation ↗

Kie's Persona endpoint needs a completed taskId and audioId; its guide lists Generate and Extend. The current failures are evidence that our tested path is unresolved—not proof that all Suno Personas fail. Kie contract ↗

Recommendation: first prove creation and reuse in a new song. Keep cover and Persona as named routes. If Persona is required and fails, stop that route visibly. Cover is never an automatic substitute.

B / Video reality check

A reference steers a scene. It does not guarantee a film.

Seedance documents video, image and audio reference inputs. It distinguishes multimodal reference mode from strict first/last-frame modes. Provider contract ↗

Recommendation: use relevant, explicitly selected original-video excerpts alongside the adapted identity and state references. Specify “copy this acting/camera language; use these people and this product.” Test for source-identity leakage.

A video pasted into the planning chat is not evidence that the renderer received it. The actual submitted request must record the selected clip and its hash.

03 / Be selective about what survives

Keep the protections.
Cut the ceremony.

I would preserve the lessons in a compact contract and working code, with details available when a run fails.

Keep

  • Original references and approved, versioned passports.
  • Product facts, role-specific concern states and elapsed story time.
  • Music DNA: intelligibility, musical fit, pacing and full-master listening.
  • Actual board and moving-face evidence, including listeners.
  • Paid history, exact errors, budgets and selective repair.
  • A complete-film gate and an unmistakable published version.

Leave out of v1

  • A universal trend taxonomy or hardcoded GoPure plot.
  • Mandatory three-concept rounds for an already clear brief.
  • Duplicated Markdown/JSON status files edited by agents.
  • A new coding-agent session for each mechanical step.
  • Deep spectral research on every ordinary generation.
  • Multi-provider routing, a plugin framework, team billing and a full timeline editor.

Change

  • Many plans → one brief, compiled into explicit requests.
  • Global rules → stable invariants plus source-specific choices.
  • One bad shot → repair that shot and its affected descendants.
  • Vague rejection → time, character, observed failure, concrete correction.
  • Repeated status claims → one state derived from recorded events.
  • Repeated approvals → an upfront authority contract, with escalation only outside it.

These are proposed changes for the new repo. Existing Music DNA, problem-passport, facial-performance and spending rules remain in force; this page does not relax active production gates.

04 / Get to a result sooner

The biggest speed gain
is fewer wasted loops.

The historical median motion request took 2m 46s at the provider. Scene 18 still needed 21 takes over a 4h 48m generation window. More parallelism helps; preventing repeated failures matters more.

01

Prove provider capabilities first

Before a production batch, verify the chosen media format, actual listening and Persona route with a known reference. Classify delivery failure separately from bad creative output. Never regenerate a song because the reviewer could not hear it.

02

Reuse accepted work deliberately

Carry forward source analysis, identities, states and audio only when their hashes and acceptance criteria still match. This is verified reuse, never a cached substitute for a failed new request. Predeclare permissible edge edits before paying.

03

Run independent scenes concurrently

Use a provider-sized pool after shared prerequisites pass. An accepted board can release its own motion job while other boards are reviewed. Preserve each scene's dependency order and review every required asset.

04

Make difficult scenes simpler to execute

One emotional turn per shot. Test the hardest identity/use/result interaction early, then reuse the accepted direction. Keep the complete story; fewer gratuitous cuts can mean fewer failure opportunities.

05

Automate the mechanical middle

Durable jobs, uploads, media validation, timing, captions, assembly and publication verification belong in code. One planner handles creative decisions and specific repairs. Warm dependencies and small, stable prompts avoid repeated setup.

The target I would test

For a roughly three-minute film with approved reusable references: 45–90 minutes to a complete reviewable candidate, then measured selective revisions. This is a proposed experiment, not a measured promise of an accepted film. Track p50/p90 time, cost per accepted minute, first-pass acceptance and human waiting separately.

The current worker already supports parallel jobs across variants. The opportunity is controlled concurrency inside one production, not simply “add a queue.” It needs an explicit new concurrency/spending contract; the existing one-submission revision policy still applies today.

05 / A repo small enough to understand

Build one useful vertical slice.

First prove one reference + one product → one complete film. Then prove a different trend works without changing the engine.

My starting architecture

A small Cloudflare Pages frontend, a Python API and worker on one host, SQLite for durable run state, and R2 for media. Keep provider credentials in the worker. Use FFmpeg for media operations and assembly.

This fits a small owner-operated studio. SQLite limits us to one database host; use Postgres when actual multi-host concurrency requires it. Do not move long-running rendering into the webpage.

Pages UIAPI + run stateWorkerProviders / R2

One authority record per run: required provider/model/route, accepted inputs, editable scope, maximum spend, concurrency, retry authority and allowed edits. Unknown billing stays unknown. An ambiguous submission must be reconciled before another charge.

One honest state model: queued → running → awaiting review → accepted, with explicit failed, quality-rejected and blocked states. Keep “latest attempt,” “latest accepted” and “published” as separate pointers. A paid success is not quality acceptance.

levchyk-next / proposed
web/             brief, review, film
app/
  api.py         runs + review actions
  worker.py      durable job execution
  planner.py     brief + targeted repairs
  providers/     explicit, pinned routes
  media.py       verify, trim, assemble
  quality.py     evidence + acceptance
contracts/       brief, passport, run
tests/           failures + resume + QA
examples/        two different trends
README.md        one way to run it

Media and raw paid receipts live in object storage. Git holds code, compact contracts, examples and reproducible tests.

What I would port, and what I would rewrite

Port selectively: validated provider payload construction, complete-audio identity checks, media probing, caption timing, native assembly fixes and the selective-revision invariants. Audit the functions and their meaningful tests; do not import the old workflow's entire dependency tree.

Rewrite: orchestration and status projection around a small durable job table, immutable asset versions and a dependency list. Database transactions prevent double claims; idempotent callbacks and restart recovery reconcile existing task IDs. One read model drives the page.

Test the failures that cost money: a crash after submission, duplicate callbacks, unknown billing, stale acceptance, wrong media hash, an inaccessible reviewer, accidental regeneration of accepted siblings and publishing the wrong full-film version.

Condense the documentation: a short operating contract for no substitutions, audio, product state and facial evidence, plus provider-specific references. Keep source measurements in source records. Do not turn one experiment's genre, numbers or plot into system policy.

FIRST / prove the routes

One capability check

Show a real Persona ID reused in generation, and a source-video-conditioned test scene with the correct identity. Report each route's success or exact failure independently. On a song run, the scene test still follows audio acceptance.

THEN / prove delivery

One full film

One brief, accepted complete audio, reviewed pictures, encoded-film QA and a working versioned link. Measure time and spend. No platform expansion yet.

FINALLY / prove reuse

A different trend

Different story and musical character, same engine. If this needs new core logic for its plot, the abstraction is still too tied to GoPure.

06 / Let's shape it together

These choices shape
what we build next.

My recommendations are starting points. Pick what fits, add the constraints I missed, then copy or download your answers for our next conversation.

0 of 8 choices answeredAnswers stay in this browser. Nothing is sent.

Especially: typical film length, acceptable wait, maximum spend per film, an example of “good enough,” and what I have misunderstood.

Discussion draft · no generation or spending

Evidence & boundaries

What this proposal is based on.

I inspected the requested worktrees read-only, their owner-authored feedback, relevant commits and current records. I did not generate new media or independently certify the films. Active status files contain inconsistencies, so the specific accepted assets and failed provider receipts carry more weight than summary prose.

Repository evidence

How to read the claims

Observed: preserved provider outcomes, commit changes and the historical request counts. Inferred: which design decisions are causing avoidable work. Proposed: the repo, workflow changes and speed target.

The 45–90-minute target is unproven. The pasted cloning study belongs to a different song. Kie's API and Suno's own product are distinct contracts. Existing worktrees can advance after this snapshot.

Download the curated evidence snapshot ↓

Source paths, hashes, snapshot status and selected feedback only. No credentials, raw session logs or private media links. GitHub sources may require repository access.