К основному содержанию
скилл CX Codex

scenario-fan-cam — скилл для Claude Code: фанатская камера из фото

Скилл собирает кадр с фанатской камеры: вставляет человека с фото в толпу на стадионе, а потом оживляет кадр в видео.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add scenario-labs/skills --skill scenario-fan-cam -a claude-code
Открыть на GitHub

Что делает scenario-fan-cam

Работа идёт в два этапа. Сначала редактирование изображения кладёт человека с фотографии в кадр 16:9 — так, как это выглядит в телетрансляции. Потом готовый кадр уходит в image-to-video и превращается в реакцию. Загруженное фото служит только образцом личности, а не стартовым кадром: если отдать его видео-модели напрямую, оживёт портрет, а не эфирная картинка.

Первый этап дешёвый, второй — нет, поэтому все решения стоит принять на статичном кадре. Скилл советует прописывать язык трансляции на обоих этапах: длиннофокусное сжатие, толпа в расфокусе спереди и сзади, жёсткий свет стадиона, лёгкий смаз, камера ищет человека и перестраивает кадр. Реакцию лучше задавать дугой, а не одним состоянием: сначала не замечает камеру, потом замечает, потом реагирует.

Брать можно только фото пользователя или людей, которые дали согласие. Вставка знаменитостей и посторонних не поддерживается. Реальные лица чаще упираются в фильтры провайдера, и при блокировке скилл отправляет к scenario-moderation. Смежные скиллы вроде scenario-image, scenario-kling и scenario-asset-analysis живут в том же репозитории: если их нет, скилл попросит поставить их отдельно.

Какие задачи решает

  • вставить человека с фото в кадр толпы на стадионе
  • сделать момент с экрана-джамботрона или kiss-cam
  • оживить одобренный кадр в реакцию на 8 секунд
  • проверить схожесть лица до траты денег на видео
  • наложить табло счёта и плашку канала поверх клипа

Примеры запросов агенту

  • сделай фанатскую камеру: этот человек на трибуне стадиона, 16:9, реакция — удивление
  • поставь его в первый ряд у корта, потом оживи кадр в видео
  • проверь схожесть лица на кадре перед тем, как запускать видео

Как установить scenario-fan-cam

1Через Skills CLI (Vercel)

npx skills add scenario-labs/skills --skill scenario-fan-cam -a claude-code

2Вручную: положить файлы

~/.claude/skills/scenario-fan-cam/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scenario-fan-cam/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scenario-fan-cam

Как установить scenario-fan-cam в Claude?

Выполните npx skills add scenario-labs/skills --skill scenario-fan-cam -a claude-code. Скилл окажется в ~/.claude/skills/scenario-fan-cam/SKILL.md.

Что делает scenario-fan-cam?

Собирает кадр с фанатской камеры в два этапа: сначала вставляет человека с фото в эфирный кадр 16:9, затем анимирует одобренный кадр в реакцию.

Чьи фото можно использовать?

Только свои или людей, которые дали согласие. Вставку знаменитостей и посторонних скилл не делает, а реальные лица чаще срабатывают на фильтрах провайдера.

Исходный текст

SKILL.md · MIT
---
name: scenario-fan-cam
description: "Use when putting a person from a photo into live-broadcast crowd footage with Scenario: a stadium or arena fan-cam reaction, a jumbotron or kiss-cam moment, a spectator cutaway at a match or concert, a courtside or front-row sighting, or a personalized sports-TV still that then animates into video. Keywords: fan cam, crowd reaction, jumbotron, stadium screen, kiss cam, broadcast cutaway, spectator, crowd shot, sports TV, courtside, arena."
license: MIT
---

# Scenario Fan Cam

## Overview

A fan cam is a two-stage build: an identity-preserving image edit places the person into a 16:9
broadcast still, and image-to-video animates the approved still into a reaction. The uploaded photo
is an identity reference, never a start frame: feeding it straight to a video model animates a
portrait, not a broadcast. Stage one is cheap and stage two is not, so the still carries every
decision worth approving.

Use only photos of the user or of people who gave them permission; refuse celebrity or stranger
insertions. Real faces also trip provider filters more than most subjects: on a block, see
`scenario-moderation`. Connection and the core loop: see the `scenario` skill in this repo. If a
sibling skill named here is missing from your available skills, ask the user to install it
(`npx skills add scenario-labs/skills --skill <name>`); unattended, proceed from tool schemas and
flag the gap.

## Quick reference

Discover members with `recommend`, passing the stage's capability and the user's own words: it ranks
by measured cost and latency and names the purpose-built pick, where a capability-worded `search`
returns hundreds of keyword hits with nothing to choose between them. Read `next_step` before taking
a pick, per the `scenario` skill. Keep `search` for a member you can already name. Never assert a
generative model's id as a constant. Scenario's own single-purpose tool models are named outright
below: there is exactly one of each, so discovering them would only re-derive a constant.

| Stage             | What happens                                                                     | Detail                                             |
| ----------------- | -------------------------------------------------------------------------------- | -------------------------------------------------- |
| 1. Identity still | Image-edit member (`img2img`) composites the person into a 16:9 crowd frame      | `scenario-image`, `scenario-consistency`           |
| 2. Still gate     | Likeness checked against the photo before any video money is spent               | `scenario-asset-analysis`                          |
| 3. Animate        | Image-to-video from the approved still, reaction beats, one camera move          | `scenario-kling`, `scenario-video`                 |
| 4. Identity gate  | Frames extracted from the clip, compared to the approved still                   | `scenario-asset-analysis`                          |
| 5. Overlays       | Score strip, channel bug, lower third composited as post layers, never generated | `scenario-text-overlay`, `scenario-video-assembly` |
| 6. Derivatives    | 9:16 and 1:1 social cuts off the 16:9 master                                     | `scenario-formats`                                 |

Broadcast grammar is what sells the shot, so prompt it explicitly at both stages: long-lens
compression with the crowd defocused in front and behind, harsh stadium floodlight or arena strobe,
slight motion blur, the camera hunting and reframing as it finds the subject. Keep the person
mid-ground among other fans, off-center, at broadcast camera height. A centered, well-lit, eye-level
subject reads as a photoshoot in a stadium, not a cutaway.

Give the reaction an arc rather than a state: oblivious, then noticing the camera or the screen,
then the reaction the user asked for (cheering, laughing, disbelief, heartbreak). Multi-beat
prompting per the video family's contract keeps the turn inside one clip.

## Worked example: caught on the stadium screen, 8 seconds

1. Collect the photo, the sport or event, venue mood, wardrobe, and the wanted reaction.
   `upload_asset` the photo once and reuse the returned asset id.
2. Create this run's collection before the first generation (`collection_create`, catalog write
   lane, `name` only), then `collection_add_assets` each keeper as it lands; its returned
   `itemCount` is the receipt.
3. `recommend` with `capability="img2img"` and the placement described in words; prefer a ranked
   entry that takes several reference images, and read `model_schema_get` for those inputs
   (`scenario-image` for the lane, `scenario-consistency` for reference discipline).
4. Edit prompt: "the person from the reference image seated mid-crowd at a floodlit football
   stadium, 16:9 television cutaway, long-lens crowd compression, no text, logos, or graphics in
   frame". Keep the plate text-free: overlays come later.
5. Gate the still: `asset_display` it for approval, and inventory the likeness features that must
   hold (face geometry, hairline, skin tone, wardrobe) with the analysis lane from
   `scenario-asset-analysis`; a change in any inventoried feature fails. Unattended, that inventory
   stands in for the user's sign-off.
6. `recommend` with `capability="img2video"` and the reaction described in words, then check the
   pick against `scenario-kling` or `scenario-video`. The brief's length filters members: `duration`
   is usually a fixed enum a member either reaches or does not, and the tiers that reach it sit far
   apart on price, so `model_schema_get` each candidate and compare with `model_run` `dry_run=true`.
7. Run with the approved still as the start image and two beats: "she chats, unaware" then "she
   spots herself on the stadium screen, stands, and cheers", one slow reframing move, `wait=false`,
   then `jobs_wait` re-called with `pending_job_ids` on timeout, never a second `model_run`.
8. Check the clip against the approved still on frames the platform produced: the free `firstFrame`
   and `lastFrame` off `asset_get` first, then `model_scenario-video-to-image-seq` for a mid-clip
   frame (a tool-model lane per `scenario-video-editing`). A local extraction is not a substitute at
   any budget, because it yields no asset to file or audit and the gate stops being traceable. A
   change in any inventoried feature fails the clip, and so does legible generated type: ribbon
   boards and jumbotron glyphs creep in even against a no-text prompt, worst late in the clip. The
   retry starts from the same still, never from the drifted output.
9. Assemble on-platform with `model_scenario-compose-video` (a tool-model lane per
   `scenario-video-assembly`), layering the score strip and channel bug from `scenario-text-overlay`
   in the safe corners; a local editor is the wrong lane. Give every overlay layer an explicit
   `width` and `height`, since leaving them empty is documented as native size and does not hold,
   and pin `durationMode: "custom"` to the clip's length, since an image layer otherwise stretches
   the composition past it. A succeeded compose job is not proof the layers drew: pull a frame from
   the composite (the free `firstFrame`) and confirm every layer is present and placed before
   delivering. Then cut 9:16 per `scenario-formats`, a resize rather than a reframe, whose video
   members outpaint a wider frame instead of cutting one. Its `cover` mode crops from the center, so
   when the subject sits off-center put the master on a 9:16 compositor canvas positioned to hold
   them instead. `asset_display` both.

## Common mistakes

- Animating the uploaded photo directly: the mandatory stage is the broadcast still; skip it only
  when the user hands over an already approved 16:9 frame.
- Letting the image or video model render the scoreboard, channel bug, or jersey sponsor text:
  generated type drifts frame to frame; composite graphics in post on a text-free plate.
- Portrait staging: centered subject, flattering light, and empty seats around them break the
  documentary read; bury them in a reacting crowd.
- Judging likeness from one glance at the moving clip: drift hides between glances; run the
  frame-extract gate.
- Retrying from a drifted clip instead of the approved still: errors compound.
- Composing the master at 9:16: broadcast is 16:9; verticals are derivatives.
- A flat emotional state for the whole clip: without the notice-then-react turn, the result is a
  looping portrait, not a fan cam.
- Compound camera moves: one reframing drift; the crowd and the reaction supply the motion.

© scenario-labs · MIT · scenario-labs/skills

Похожие скиллы

Всё по теме «ИИ и ML» →
layer-video layerai Скилл для генерации видео через Layer: текст в видео, оживление кадра, продление клипа, камера, звук и липсинк. Пригодится, когда промпт даёт не то движение. CX Codex +1 3 400установок muapi-seedance-2 SamurAIGPT Скилл превращает агента в кинорежиссёра для Seedance 2.0: собирает промпты по шести компонентам и запускает генерацию видео по тексту или картинкам. CX Codex +1 2 900установок kling social-media-skills Скилл для генерации видео через Kling: нативное 4K, мультишот-сцены и перенос движения с референса. Пригодится, когда нужен клип, а не диалог. CX Codex +1 588установок videoagent-director pexoai Составляет раскадровку по текстовой идее и запускает генерацию кадров, видео и звука без ручного подбора промптов. CX Codex +1 540установок vox-director Alisa0808 Скилл собирает ролик-объяснение или рекламу в стиле бумажного коллажа: сценарий, кадры-постеры, движение, озвучка, музыка и субтитры. Работает на Atlas Cloud API и локальном ffmpeg. CX Codex +1 ★ 2 446звёзд репо jetson-customize-fan Jetson Team Правит профили nvfancontrol для Jetson и Tegra: кривые вентилятора, режим управления и профиль загрузки. Нужен при настройке охлаждения на Orin или Thor. CX Codex +1 1 100установок

Из того же набора68

scenario-wan Скилл для генерации и правки видео на моделях Wan через MCP Scenario: текст в видео, оживление кадра, монтаж по инструкции, смена пропорций. CX Codex +1 370установок scenario-blender-hard-surface Скилл для моделирования твёрдых поверхностей в Blender: булевы вырезы, фаски, weighted normals и subdivision. Помогает, когда шейдинг ломается или фаска исчезает после булевой операции. CX Codex +1 371установок scenario-caption-studio Скилл для работы с субтитрами через Scenario по MCP: транскрипция, вжигание стилизованных подписей, SRT-файл, перевод. CX Codex +1 369установок scenario-vidu Помогает генерировать видео через модели Vidu на платформе Scenario по протоколу MCP. Настраивает режимы T2V, I2V, интерполяцию двух кадров и сохранение объектов по референсам. CX Codex +1 359установок scenario-model-comparison Прогоняет один и тот же бриф через несколько моделей Scenario и сводит цену, время и качество в одну таблицу. Пригодится, когда выбираете модель по умолчанию. CX Codex +1 361установок scenario-ugc Скилл маршрутизирует создание UGC-видео для соцсетей через Scenario. Помогает собрать ролик с говорящей головой, распаковкой или закадровым голосом в формате 9:16. CX Codex +1 353установок scenario-blender-geometry-nodes Скилл помогает создавать и отлаживать ноды Geometry Nodes в Blender через Python-скрипты. Он пригодится для процедурного моделирования, симуляций и физики версии 5.2. CX Codex +1 349установок scenario-team-admin Управляет командой Scenario через MCP: ограничивает доступ к моделям, меняет роли участников, задаёт лимиты расхода Creative Units и проверяет API-ключи. CX Codex +1 341установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой