Skip to content
Marketing
Skill

/render-food-product-sizzle

Assemble a wordless macro-tabletop food-product sizzle ad from a config — normalize fps and SAR across ~4 photorealistic macro clips (hands tearing, flat lay, bite, box hero), concat them, apply a global anti-AI grain pass (eq plus hqdn3d plus noise), composite the audio (a

From plugin
goose-skills
1.3k181 skills

Claude Code

$ npx -y skills add gooseworks-ai/goose-skills --skill render-food-product-sizzle --agent claude-code

SKILL.md

render-food-product-sizzle.SKILL.md
name: render-food-product-sizzle
description: Assemble a wordless macro-tabletop food-product sizzle ad from a config — normalize fps and SAR across ~4 photorealistic macro clips (hands tearing, flat lay, bite, box hero), concat them, apply a global anti-AI grain pass (eq plus hqdn3d plus noise), composite the audio (a non-diegetic instrumental music bed plus a couple of short diegetic SFX like a snap and a tear placed at measured cue points, loudnorm), composite a STATIC end card entirely in PIL (real logo PNG plus real product PNG plus a serif heritage headline plus a CTA — never AI-rendered text), and burn optional serif stat-callout pills at beats. This is the FREE deterministic assembly stage (normalized concat plus grain plus music and SFX mix plus PIL end card plus callouts); the macro keyframes, i2v clips, and music bed come from create-image-fal, create-video-fal, and create-music-elevenlabs. Use for the food-product-sizzle format.
status: active

render-food-product-sizzle

Assemble a **food-product sizzle** ad from a config: a wordless macro-tabletop photorealistic sizzle for a physical food / CPG product — tactile tabletop photography in ONE look pack (setting + light chosen per brand; the demo's is a warm tungsten pantry), ~4 dynamic macro scenes (hands tearing, a flat lay, a partial-face bite, a box / pack hero) flowing into a static end card, carried by a non-diegetic instrumental music bed + a few diegetic SFX with NO voiceover. This capability is the **FREE, deterministic assembly** — normalized concat, the anti-AI grain pass, the audio (music bed + SFX) composite, the PIL end card, and the optional serif stat-callout pills.

`scripts/config.example.json` is the worked example (Fernhollow Cacao "Dark Bar Sizzle", ~14s 1080×1920 9:16, ~4 macro scenes + a static end card); `scripts/PIPELINE.md` maps every config block to its source step and `scripts/README.md` documents the free assembly.

Choices

The recipe asks these before any paid step; this capability only assembles what they produced. The demo's value is an example, never a default:

  • **`setting`** — surface + room → `look_pack.style_descriptor`, `scenes[].keyframe_prompt`,

`end_card.background`. Demo: warm pantry (parchment, walnut board, marble slab, linen).

  • **`light`** → `look_pack.style_descriptor` + `palette_anchors`. Demo: warm tungsten window light.
  • **`hands`** — whose hands / mouth appear, or product-only → `scenes[].keyframe_prompt` +

`motion_hint`. Demo: a baker's flour-dusted hands, a woman's jaw.

  • **`music`** → `music.prompt`. Demo: upbeat acoustic jazz (felt piano, upright bass, brushed snare).

Run

This is the **FREE, deterministic** assembly stage — it spends nothing. The paid inputs are separate capabilities: ~4 photographic macro keyframes (`create-image-fal`, Nano Banana; the box / pack hero grounds on the real product PNG); one locked-off, anti-shake i2v clip per keyframe (`create-video-fal`, Seedance); and a non-diegetic instrumental bed in the `music` choice (`create-music-elevenlabs`). Given the ~4 clips + the music bed + the diegetic SFX + the real logo PNG + the real product PNG, `render-food-product-sizzle` normalizes fps / SAR, concats the body clips, applies the anti-AI grain pass, composites the audio (bed + SFX at their cue points), composites the static PIL end card, burns the optional serif callout pills, and muxes → the master. Re-cuts reuse the existing keyframes / clips / music and spend nothing.

Contract (the free assembly)

  • **Wordless — the music bed is the audio, no VO.** A non-diegetic instrumental bed (no vocals) IS the

bed; do not add a spoken voiceover. The brand name + claim land on the STATIC end card, never in the body.

  • **~4 macro scenes, concat in order.** Normalize fps / SAR across the body clips and concat them in

their scene order (snap / tear → flat-lay → bite → box-hero by default); the box / pack hero shows the REAL label (grounded on the product PNG upstream — the assembly must not re-render it).

  • **Anti-AI grain pass, applied globally.** Apply `eq=contrast=1.06:saturation=0.93,hqdn3d=1.5:1.5:3:3,noise=alls=8:allf=t+u`

across the whole video — the noise on a food macro is load-bearing for the tactile / photographic read, otherwise the sizzle looks AI-smooth.

  • **Diegetic SFX on the tactile beats.** Mix a crisp ~120ms snap on the break / tear and a ~180ms tear

on the box-open at their measured cue points — a couple of short hits, not a wall of sound. Time each to its beat, not a round number.

  • **Music bed with no sparse intro.** The supplied / generated bed opens sparse — the upstream step

trims the ~2.5s intro so it kicks in from frame 0; the assembly loudnorms + fades in / out to the master length.

  • **Static end card via PIL from the real logo + product PNG — never AI-render brand text.** Solid /

ivory bg + the real logo PNG (upper third) + the real product PNG (centered, soft shadow) + a serif heritage headline + a CTA, held ~3s WITH the music still playing under it (fade the tail — no silent tail). A diffusion model garbles a wordmark and the packaging. On macOS pick a serif with the middle-dot glyph (use ` · `).

  • **Optional serif stat-callout pills at beats.** Ivory-or-brand-color pill + serif type at

choreographed windows. Write any `%` string to a textfile and use ffmpeg `drawtext` `textfile=` + `expansion=none` — a raw `%` is read as a strftime spec and renders garbage.

  • **FFmpeg composite, deterministic, FREE.** Concat the body clips, grain-pass, composite the audio

(bed + SFX), append the PIL end card, burn the callouts, mux with a fade tail, `loudnorm` → a 1080×1920 h264+aac master (~14s). No paid calls, no keys.

Read more
@gooseworks-ai
Ships withgoose-skills

Put your AI agent on the growth team. Research customers and competitors, analyze what is working, create the next campaign, and learn from the result.

1.3k181 skills
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.3k
Star history of gooseworks-ai/goose-skills on GitHub, a chart by star-history.com

Other skills on goose-skills.

goose-ads

goose-ads

Edit, resize, animate and study image ads with GooseWorks in this chat. New static or image ads go to the make-static-ads skill…

goose-video

goose-video

Make a video ad in this chat from a real reference ad, found or theirs; styles are the fallback. Follow every answer's next_step.

gooseworks

gooseworks

GooseWorks growth coworker and router for markets, competitors, audiences, creators, campaigns, ads, photos, graphics, video,…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about render-food-product-sizzle.

Which coding agents can use render-food-product-sizzle?
render-food-product-sizzle installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.