Skip to content
Marketing
Skill

/render-creator-pip-listicle

Assemble a creator picture-in-picture product-listicle ad from a config. The creator stays full-frame for every beat (voice and lips generated together), and each product beat carries three overlays for the whole beat: a title pill, the product demo in a rounded

From plugin
goose-skills
1.3k181 skills

Claude Code

$ npx -y skills add gooseworks-ai/goose-skills --skill render-creator-pip-listicle --agent claude-code

SKILL.md

render-creator-pip-listicle.SKILL.md
name: render-creator-pip-listicle
description: "Assemble a creator picture-in-picture product-listicle ad from a config. The creator stays full-frame for every beat (voice and lips generated together), and each product beat carries three overlays for the whole beat: a title pill, the product demo in a rounded picture-in-picture window (the brand's muted UGC clip, or its UI still or screen recording), and a product card with thumbnail, number, category and name. Hook and CTA beats show the creator with the title pill only. It builds one overlay image per beat, composites it on the creator clip, concatenates the beats and burns timed captions last. Free, deterministic assembly; the creator anchor and talking clips come from create-image-fal and create-video-fal. Use for the creator-pip-listicle format."
status: active

render-creator-pip-listicle

Assemble a **creator picture-in-picture product listicle** ad from a config: an AI creator counts down N products in the brand's own voice, and **the creator stays FULL-FRAME the whole time — there is NO cut to a full-frame product shot, ever.** On each product beat, three persistent overlays ride on top of the full-frame creator for the WHOLE beat: (1) a **title pill** top-center (persistent, it carries the listicle title), (2) the **DEMO** in a rounded **PiP window top-right** — the brand's real UGC clip (MUTED), or for a no-UGC brand the product's own demo (a real screen-recording, or an autocropped high-res product-UI/dashboard still sized to fill the window), and (3) a **product card** pinned bottom (rounded thumbnail left + "N · CATEGORY" small-caps + product NAME in a serif face like Georgia). Hook + CTA beats are the creator full-frame with the **title pill only** (no PiP/card). The creator's voice + lips are generated **together, natively** per beat — there is no separate voiceover. This capability is the **FREE, deterministic assembly** — build the per-beat overlay PNG, cover-scale the creator clip + composite the overlay, concat all beats, and burn the captions.

Choices

The creative calls are the user's, asked by the format recipe before any paid step; this assembly renders whatever the config holds.

  • **creator** — who counts down the list (gender, age, look, wardrobe) → `creator.descriptor`.

*The demo used a home-cook creator in his thirties.*

  • **setting** — where the creator films → `creator.setting` / the anchor prompt. *The demo used a

home kitchen counter.*

  • **tone** — bubbly, calm and honest, dry and funny, or fast expert → `beats[].dialogue`. *The demo

was chatty and enthusiastic.*

`scripts/config.example.json` is the worked example (Pantrywise Kitchen "5 tools that replaced my whole utensil drawer", ~46s 1080×1920 9:16, a hook + 5 product beats + a CTA) — copy its structure, never its creative values; `scripts/PIPELINE.md` maps every config block to its source step and `scripts/README.md` documents the free assembly.

Run

This is the **FREE, deterministic** assembly stage — it spends nothing beyond the caption burn. The paid inputs are separate capabilities — the creator anchor (`create-image-fal`, **Seedream v5 Pro**, model `bytedance/seedream/v5/pro/text-to-image` with **no `fal-ai/` prefix**) and one native Seedance talking clip per beat (`create-video-fal`, model `bytedance/seedance-2.0/reference-to-video`, `generate_audio=ON`, the SAME seed across beats so the face holds, 720p default). Given those native clips + the brand's real UGC demo clips (or the product's own autocropped UI stills / screen recordings) + the real product photos + the brand palette + the title copy, `render-creator-pip-listicle` builds ONE full-1080×1920 transparent overlay PNG per beat (title pill always; + demo PiP top-right + bottom product card + rank number on product beats), cover-scales the creator clip to 1080×1920 and overlays the beat's overlay PNG for the **whole beat** while keeping the native audio, concats all beats, and burns the captions last → the master. Re-cuts reuse the existing native clips + overlays and spend nothing.

**Anchor gotcha (Seedream v5 Pro, not gpt-image-2/Seedream-v4).** Seedance 2.0's partner-validation gate REJECTS photoreal faces from **gpt-image-2 AND Seedream v4** ("may contain likenesses of real people"); a **Seedream v5 Pro** face passes. Generate a **FRESH** anchor with `create-image-fal`, model `bytedance/seedream/v5/pro/text-to-image` (no `fal-ai/` prefix) — reusing an existing photoreal face from another project also trips the gate.

**Clip gotchas (Seedance 2.0).** A **REJECTED submit STILL bills** via the fal-proxy — **pre-flight ONE test clip (the hook)** and confirm it renders before firing the batch. Presigned anchor URLs expire ~1h → re-host the anchor if a batch runs long (else "Failed to download the file" mid-batch). The intermittent fal "User is locked: Exhausted balance" is the proxy's upstream fal account (not your GooseWorks credits) → retry with backoff.

Contract (the free assembly)

  • **Creator FULL-FRAME the whole beat — NO cut to a full-frame product shot.** Every beat is ONE

continuous full-frame creator clip; the product content lives in overlays, never in a full-frame cutaway. `per_beat_shots = 1`.

  • **Native creator audio carries the reel — no separate VO.** Each beat's voice + lips come from ONE

Seedance take (`generate_audio=ON`); this stage never adds a VO or a lip-sync pass. The creator clip's native audio plays continuous across the whole beat; the demo PiP's audio is **muted** (else the voice doubles).

  • **Three persistent overlays on each product beat.** For the WHOLE beat, on top of the full-frame

creator: (a) the **title pill** top-center (persistent, `title_pill.on=true` — carries the listicle title, kept short to fit one line); (b) the **DEMO PiP** top-right; (c) the **product card** bottom. Hook + CTA carry the **title pill only**.

  • **The DEMO PiP is autocropped to FILL its window.** It's the brand's **REAL UGC clip** (MUT
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-creator-pip-listicle.

Which coding agents can use render-creator-pip-listicle?
render-creator-pip-listicle 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.