---
name: logo-sting
description: Animated logo reveal / sting for intros, outros and ad end cards - six styles (pop with ring burst, light sweep, glitch, bar reveal, zoom-blur, tile assemble) over a colour, gradient, image or Kenerate clip, with a tagline, an optional fade out and an optional transparent .mov for any editor. Shows all styles on one sheet first. Silent unless the user asks for sound. Use when the user wants a logo animation, logo intro, end card, brand sting, YouTube intro or outro, or an animated logo for an ad.
compatibility: Python 3.9+ with Pillow and ffmpeg. The Kenerate MCP server for logos, cut-outs, backgrounds and optional sound.
metadata:
  author: kenerate
  version: "1.1"
  kenerate-tools: "generate_image remove_background generate_video generate_music wait_for_generation estimate_cost"
---

# Logo sting

`scripts/sting.py` animates the logo frame by frame (Pillow) and encodes with ffmpeg. Rules:
[references/KENERATE.md](references/KENERATE.md).

## Ask the user
Logo file (transparent PNG best), tagline, brand colour (accent), background, format (16:9 intro, 9:16 end card),
length (2-4 s), and sound: none by default - ask whether they want a sound or music at all.

## 1. Assets (Kenerate, optional)
- No logo yet: `generate_image(prompt='Logo for "<name>": <idea>, flat vector, plain white background', model="kenerate/gpt-image-2.5-sunburst", aspect_ratio="1:1", count=3)`
  (see [references/MODELS.md](references/MODELS.md)), then `remove_background(image_url=<pick>, mode="cutout")`.
- Logo on a white box: `remove_background(mode="cutout")` first (the script warns when the logo has no transparency).
- Moving background: `generate_video(prompt="<abstract brand motion>, slow, no text", model="kenerate/wan-3.0", audio=false, resolution="720p", duration=5)`
  after `estimate_cost`. Or free: `--bg "gradient:#0F172A,#1E293B"`.
- Sound only on a yes: a short `generate_music(prompt="<2-3 s logo sting, whoosh into a chime>", engine="elevenlabs-music-v2.5", seconds=3)`
  or a file the user supplies → `--audio`.

## 2. Pick a style (free)
`python <skill-dir>/scripts/sting.py --logo "<logo url>" --tagline "<site>" --showcase` → `styles_showcase.jpg`
(three moments of each style). Show it and ask.

## 3. Render
```
python <skill-dir>/scripts/sting.py --logo "<logo url>" --style sweep --tagline "brewandbloom.com" \
  --bg "gradient:#0F172A,#1E293B" --accent "#FF5A1F" --aspect 16:9 --duration 3 --alpha \
  --font-family "Inter" --out kenerate-out/logo-sting/<brand>_sting.mp4
```
`--alpha` also writes `<name>.mov` with transparency (PNG codec) to drop over any footage; `--outro fade` fades to
black; `--scale` resizes the logo. Show `*_preview.jpg`.

## Progress and output
Steps: fetch → layout → render frames (percent) → preview. `RESULT_JSON` has `output`, `alpha_mov`, `preview`.

## If something fails
Blurry logo → give a bigger PNG (or `upscale_image`). Busy video background hides the logo → use a gradient or
add `--bg` with a darker clip.

## Limits
2-D animation only (no 3-D extrusion; `generate_3d` + another tool for that). 1080p renders at about 10-20 fps.
