Skip to main content
Everything below composes create_media, continuity (source), and creative memory (use). All images here were made through these exact flows.

Pick the aspect from the destination

Campaign

One product reference keeps the bottle identical across every direction.
“I’m launching a sparkling yuzu drink called KIYO — give me 4 campaign directions.”
KIYO campaign direction 1
KIYO campaign direction 2
KIYO campaign direction 3
KIYO campaign direction 4
“The second one. Make it a wide banner.”
KIYO banner cut from the winning direction

Winner → placements. Edit the keeper into 1:1, 9:16, 16:9 — don't regenerate from scratch.

  1. Lock the product: upload_asset or reference_image_urls, “keep packaging unchanged”
  2. Four directions: create_media action: "options" with max_spend_cents
  3. Winner → placements via edits of the keeper
  4. Animate the strongest with image_to_video

Website

Product site with agent-generated visuals

Claude Code built this site. NinjaChat made every visual — hero, features, banner.

  1. Brief → options → user picks a direction
  2. Hero at 16:9, continuing from the pick (source: "2")
  3. Supporting shots via source so the look stays coherent
  4. Files land by filename — the agent downloads and commits

Product photography

KIYO bottle product shot

Save the product once (save_creation_as, type: "product") — it stays identical in every shot.

  1. Reference the exact product → save_creation_as {type: "product"}
  2. Studio / editorial / lifestyle / outdoor variants with use: ["<name>"]

Motion

Reference-locked keyframes first, then film.
Racing shoe master keyframe
Racing shoe keyframe 2 — same shoe, new scene

Same shoe in every shot — keyframes by reference, then image_to_video.

The one rule: generate once, then edit and reference. Continuing from a keeper is cheaper and more consistent than re-prompting from zero.