Nodes/DiffusionGemma Prompt Builder/DiffusionGemma Advertisement Cutdown Renderer
ComfyUI Node

DiffusionGemma Advertisement Cutdown Renderer

Real 15- and 6-Second Cuts From the Finished Master — Not Re-Renders

By exportAnything·Created 2 months ago·Updated a day ago· 44
DiffusionGemma Advertisement Cutdown Renderer
  • finished_master
  • finished_audio
  • cutdown_15_images
  • cutdown_15_audio
  • cutdown_6_images
  • cutdown_6_audio
  • delivery_manifest_json
  • status
  • ready
advertisement_contract_json
cutdown_15_start_seconds0.0000
cutdown_6_start_seconds24.0000
adaptation_status_json

DiffusionGemmaAdvertisementCutdownRenderer is where a 30-second ad actually becomes the 15- and 6-second spots most ad buys are built around. The honest part of its job, emphasized in its description, is that these are real cuts: it slices actual master frames and exact waveform samples, so the shorter deliverables are temporally real subsequences of your finished master rather than separate generations pretending to be the same ad. In a 30-second campaign that requests the governed [15, 6] cutdowns, this node is what proves they exist.

Mechanics: required inputs are finished_master and finished_audio (from the Master Finisher), advertisement_contract_json, and the two start-time controls - cutdown_15_start_seconds (default 0, so the 15-second cut opens the ad) and cutdown_6_start_seconds (default 24, so the 6-second cut is the tail of the finished master, which by then contains the end card). It verifies the master holds exactly the contracted frame count, checks the audio's exact duration, confirms the requested cutdowns really are the governed [15, 6], and enforces that your start times align exactly to a 24 fps master frame - no rounding drift. Each cut then slices seconds × 24 frames and the matching waveform samples, and emits per-cut reports with pixel and audio SHA-256 hashes.

Outputs: cutdown_15_images + cutdown_15_audio and cutdown_6_images + cutdown_6_audio, a delivery_manifest_json that records both cuts (and, if you feed it adaptation_status_json, cross-checks that the manifest agrees with the Adaptation Status report), and the status/ready pair. The runtime-proven numbers from the pack's own end-to-end test: the 15-second cut is exactly 360 frames, the 6-second is exactly 144, with audio clocks matching to 15.000 and 6.000 seconds.

Where this node earns its keep versus an easy hack: cutdown start selection. Because the 6-second cut defaults to the master's tail, it inherits the deterministic end card - which is exactly what you want from a 6-second ad (brand, product, CTA, legal, all legible). A naive "render the whole thing again shorter" approach can't do that. And the frame-exact alignment rule means you can't pick a start time that lands mid-frame; if you want the 6-second cut to open elsewhere, your start must be frame-aligned.

The failure modes are all contract-driven and all informative: wrong frame count in the master, audio that doesn't match the exact duration, a cutdown window that runs past the master's end, or an adaptation_status_json that disagrees with the contract. Each raises rather than producing a subtly wrong deliverable - which is the entire philosophy of this finishing chain. If you see an error, fix the upstream contract or the start times, not the error.

Install is pack-wide: ComfyUI Manager search "DiffusionGemma Prompt Builder", or git clone https://github.com/exportAnything/ComfyUI-DiffusionGemmaPromptBuilder into custom_nodes and restart. The ad workflow wants ComfyUI 0.33.1+ and the H3 model files; this node is frame slicing and waveform cutting - near-instant, no GPU sampling. Feed it a properly finished master and the three deliverables your media plan asked for are real files, not promises.

Categoryprompt/diffusiongemma/advertising

Inputs (6)

NameTypeDefaultDescription
finished_masterIMAGE
finished_audioAUDIO
advertisement_contract_jsonSTRING
cutdown_15_start_secondsFLOAT0.0000
cutdown_6_start_secondsFLOAT24.0000
adaptation_status_jsonoptSTRING

Outputs (7)

NameTypeDescription
cutdown_15_imagesIMAGE
cutdown_15_audioAUDIO
cutdown_6_imagesIMAGE
cutdown_6_audioAUDIO
delivery_manifest_jsonSTRING
statusSTRING
readyBOOLEAN