Skip to content
Vincent Bui
All cases

AI agent

Node Studio Pro

A browser-based pipeline that turns a raw brief into a finished short ad through connected nodes.

Status
A tool I built and run in the browser.
Node Studio Pro, version 6, redrawn in the site colours. The pipeline runs left to right, one node per stage.

The problem

AI video drifts. A character changes face between shots, models invent text and products, and a single failed shot can stop an entire run.

How it runs

  1. 1Configuration

    Global settings for the whole run: target market, aspect ratio, duration in 4, 6, 8 or 10 second steps, text animation style, voice and music. Saved in the browser so a reload loses nothing.

  2. 2Visual assets

    Up to ten product photos form a reference set that travels through every later node, so the models learn the colour and the identity of the brand.

  3. 3Blueprint scripting

    One click turns a raw script into clean JSON: characters, scenes, notes, character and product actions, and the voice and overlay text for the chosen market. Missing shot durations are estimated.

    Tool or model: Gemini

  4. 4Talent studio

    Casting for a virtual actor. Once a character is generated or imported it can be locked: the system reads face structure, skin tone and hairstyle and stores them as an Identity Lock that the video models must follow.

    Tool or model: Nano Banana Pro

    What it taught: Getting video AI to respect identity was the hardest part. The fix was strict rules plus a lock and unlock state passed between nodes.

  5. 5Voice and localization

    The script is scanned for ready-made translated voice lines in the target language, or translated automatically. No manual recording is needed.

  6. 6Virtual production

    Each shot is directed and rendered with strict prompt rules: no extra product packs unless the script mentions them, and kinetic text that follows the overlay copy instead of plain subtitles. A failed shot gets a safe fallback and never hangs the pipeline.

    Tool or model: Omni 1.1 Flash

  7. 7Master assembly

    All shots are joined into one MP4 master in the browser, with no server doing the work.

    Tool or model: FFmpeg (WASM)

    What it taught: FFmpeg hit a CORS block inside an iframe. A classic worker that loads the WASM as a fallback solved it.

What exists today

  • Seven nodes from global configuration to master assembly.
  • Identity Lock keeps a character face, skin tone and hairstyle fixed across shots.
  • Strict prompt rules forbid invented products and plain subtitles, and kinetic text follows the overlay copy.
  • A failed shot falls back safely and never hangs the pipeline.
  • The final MP4 is assembled in the browser with FFmpeg (WASM), with no server doing the work.

Build note

The hard part was making video AI respect identity and text overlay. Instead of letting the model improvise, I wrote strict prompt rules (locked action, locked language) and built a lock and unlock state passed between nodes. FFmpeg hit a CORS block inside an iframe, which a classic worker fallback solved.

Next caseUPGO

Get in touch

Pick whichever is easiest for you.