Fredy Acuna
  • Posts
  • Projects
  • Tools
  • Contact
LinkedInXGitHubMedium

© 2026 Fredy Acuna

Back to posts
An AI Music Video on a (Nearly) $0 Budget: The NOVALYX Pipeline and Its Six Checkpoints

An AI Music Video on a (Nearly) $0 Budget: The NOVALYX Pipeline and Its Six Checkpoints

Fredy Acuna / October 30, 2026 / 11 min read

Two Music Videos, One Synthetic Singer

In October I released two lyric videos for NOVALYX, a fully synthetic AI pop idol:

  • Slop Aipocalypse (2:58, released 2026-10-14): an AI slopcore idol reports, like weather, that the models now train on their own output, and the film degrades with him, generation by generation.
  • Regenérame (2:41, released 2026-10-26): a Spanglish melodic trap reggaeton song where he sings to the user who stopped prompting him, drawn as a chat history.

Both live at novalyxcash.com, together with a public wiki of how they were made.

Credit first. This is not my method. I copied, on purpose, the published method of claudia.gallery by anabology, to learn it by practising it. The folder layout, the checkpoints and many of the rules come from there. What I add here is what happened when I ran it on my own.


What You'll Learn

  1. The stack and what each tool does
  2. The six checkpoints where a human decides
  3. The character as data, not as a vibe
  4. The local tools that do the boring, checkable work
  5. What it actually cost (spoiler: not exactly $0)
  6. The failures that taught me the most

The Stack

JobTool
SongSuno
Stills ("plates")Nano Banana Pro (Gemini 3 Pro Image)
Motion clipsVeo 3.1, through Google Flow (and Vertex AI on the first film)
Lyrics scoring, stems, word timing, beats, board audit, renderLocal Python tools on CPU
Agent (writing, tools, edit)Claude Code
SiteAstro, served by Cloudflare Pages

The output is 24 fps, 1920x1080, plus a 9:16 vertical cut. Only two steps cost generation credits: the stills and the clips. Everything else runs locally.


The Six Checkpoints

The core idea of the method: an agent does the work, but a human (the director) decides at six fixed points. Nothing moves past a checkpoint without an explicit answer. In this project I was the director and Claude Code was the agent.

#CheckpointWhat the director decides
1ConceptWhich pitch becomes the film
2Lyrics and Suno takesWhich lyrics and which take become the song
3Face testWhich test stills are the character
4StoryboardThe board, approved with an explicit yes
5Clip prompts and credit costThe prompts and the cost, approved before any generation
6Review cutThe first full cut, approved before the master

Checkpoint 5 is the one that saves money. Before a single clip is generated, the agent writes a cost forecast: how many stills, how many clips, how many seconds, and what each costs, with every number labelled measured, assumed or unknown. For Regenérame that forecast recommended a pilot first (6 stills and 1 clip) before the full run, so the identity and the cost could be tested cheaply.

Every decision goes into a DECISIONS.md file, dated, with the director's words quoted verbatim. When something goes wrong later, you can see exactly what was agreed and why.


The Character Is Data

Image and video models keep no memory between calls. Every prompt starts from nothing, so consistency is something you carry by hand.

NOVALYX lives in a canon.json file and a character page. The canon fixes his constants:

  • A close dark buzz cut with one lime-green stripe above his left ear. Never two.
  • Thin round wire-rimmed glasses with pale lime-tinted lenses.
  • A thin scar through his left eyebrow and a clear in-ear monitor with a lime cable.
  • Age 32, written as a number. Never "young", "boy" or "teen" in a prompt.
  • Lime is the only accent. Photographic film stills, never illustrated.

From those constants comes one identity text, pasted verbatim at the start of every still prompt. There is a long form for close shots and a short form for wide shots, because the full text makes the model crop in to the face. His name never appears in the text, so a rename touches nothing.

The same text travels down the chain: still prompt, then a reference image once a face is approved, then the still becomes the first frame of a clip, then the video prompt says "as in the start frame". When a clip has no start frame, the tool writes the full identity text into the video prompt, read straight from canon.json.

One more rule that saved me a lot of retakes: no text in generated images. Every word on screen, every lyric, chat bubble and counter, is drawn in code on top.


The Local Tools

This is the part I enjoyed most, because it turns "looks fine to me" into checks that pass or fail.

  • Lyric scorer. Predicts how Suno will deliver a lyric sheet: scansion and assonance from 0 to 100 per section, syllables per line, and the lines that do not ring.
  • Listening tools. Separate the stems, force-align every word of the sheet to the vocal, find beats and hits, and write a report.
  • Whisper cross-check. Forced alignment places every word of the sheet, even a word that was never sung, so "342 of 342 words aligned" proves nothing by itself. A Whisper transcript of the vocal stem is compared with the sheet line by line, and the suspects go to an ear check.
  • Storyboard as data. The board is a shots.json file, not a document. An audit checks it against the song: cuts on beats or hits, every sung word typed on screen, motion budget, clip windows, the lead's share of screen time.
  • Clip windows. For each sung clip, a clean cut of the vocal stem, with a time range per phrase that goes into the video prompt so the mouth forms the right words.
  • Renderer and gates. The edit is rendered frame by frame, and two gates run on every cut: a lyric gate (every word on time) and a flash check (at most one flash per second).
  • Ledger. One append-only JSON line per paid generation: what was made, with which model, how long it took and what it used.

The first film's final files passed 342 of 342 lyric tokens on time with a flash maximum of 1 per second, in the 16:9 master and in the vertical cut.


What It Actually Cost

The original brief said: budget $0, free tiers only. That held for the plan, not for the result. Here is the honest version, from the project's own records.

Slop Aipocalypse

  • Song: Suno's free plan. That means the song is non-commercial and stays owned by Suno.
  • Stills and first clips: the approved stack already included a Google AI Pro subscription, for Nano Banana Pro and the Flow credits that made the first four face clips (20 credits each).
  • Vertex AI: when the planned free video tier (Dreamina) turned out to have no free credits, I authorised Vertex AI, paid from Google Developer Program credits under a spend cap. The ledger and notes show about $1.80 for 14 extra still candidates and about $18 for 18 Veo calls. The cost of the first 23 stills was recorded in seconds and tokens, not dollars.

Regenérame

  • Song: a Suno Pro plan, a paid subscription, which allows commercial use.
  • Stills: Vertex AI paid from the monthly Cloud credit included in a Google AI Pro plan, another paid subscription. The forecast was about $1.50 for the pilot and about $6 for the first batch.
  • Clips: Veo 3.1 Fast in Google Flow, 20 credits per 8-second clip, from the Pro plan's 1,000 monthly credits.

So the fair framing is: free tiers plus subscriptions, plus about $20 of credits. Google AI Pro was on both films, Suno Pro on the second, and the first film used about $20 of Developer Program credits on Vertex. No extra cash beyond that. If you have none of those, budget for them.


What Broke, and What I Do Now

These come from the project's failure log and decision files. I picked the ones that changed how I work.

1. Vertex filtered every start frame with his face. The first image-to-video probe came back filtered: a photoreal face in an input image trips a safety category. No spend, but no clip either. The finding that unblocked the film: Vertex filters the face only in input images. So the sung clips became text-to-video, with his identity written in words. The trade-off, accepted on record: his face drifts slightly between clips.

2. A vague prompt lets the model choose. Of 14 sung takes, two came back shirtless and two with film-strip borders. The text-only prompt described his head and nothing he wore, so the model chose. And "photographic film still with grain" was read literally as a film frame with sprocket holes. The rule now names a plain black crew-neck t-shirt and asks for a full-frame image with no border.

3. Quoted lyrics leak onto the screen. The video prompt quotes the sung words so the mouth forms them, and Veo sometimes renders quoted words as on-screen text, even with "no on-screen text" in the prompt. There is no strong guard yet. Any take with readable text is retaken.

4. Veo invents the side of his head it cannot see. On Regenérame, when he turned to face the lens, Veo drew a second lime stripe. Rule: keep sung clips in the start frame's angle. And judge each clip only over the span the edit actually uses, not the full 8 seconds.

5. Do not ask a human to run a tool by hand when a script can. The plan was for me to make 14 clips in Flow from a follow-along book, eight steps each. I didn't understand the routine, so I told the agent the clips could not be made that way. A script on Vertex made them instead.

6. An audit score is not a pair of eyes. One bed still had two lime stripes and the automatic audit scored it 1.0 anyway. Another came back as an illustrated elderly man. Now I read the audit notes, look at the picture, and write each pick in a verdicts file, keeping the rejected candidates.

7. A style can read as a bug. Slop Aipocalypse degrades on purpose, into blocks and dithering. After the second render I saw "a lot of pixel" and expected it to look more real, but I accepted it as a version 1. Because the degradation is one curve in the render plan, the fix is a dial, not a re-shoot. Regenérame dropped the pixel degradation entirely.

8. Lip sync by prompt timing is not lip sync. The mouth follows the words only because the prompt gives a time range per phrase, and the film audio replaces the clip audio. Nothing measures it. On Regenérame I approved the cut but named real lip sync as the goal for the next song.


What I'd Tell You If You Want to Try It

  • Copy a published method first. Learning by repeating someone's method, and crediting it, taught me more than inventing my own.
  • Put a human decision at fixed points, and make the cost a checkpoint before generation, not a surprise after it.
  • Treat the character as data. One identity text, pasted verbatim, everywhere.
  • Draw all text in code. Never ask an image or video model to write.
  • Check with tools, then with your eyes. The gates catch timing; only you catch a second stripe.
  • Write the budget down honestly. "Free tiers only" is a plan. The ledger is the truth.

The full method, failures included, is on the NOVALYX wiki. And the original method is at claudia.gallery, by anabology.

Subscribe to my newsletter

Get notified when I publish new posts.

We care about your data. Read our privacy policy.