Create personalized live sports broadcast fan-cam videos with genmedia. Use this for realistic spectator cutaways, stadium or arena crowd reactions, broadcast screenshots, sports TV shots, scoreboard overlays, TV channel bugs, and identity-preserving fan reaction videos from a user photo.
Use this skill when the user wants a personalized spectator video that feels like a real live sports broadcast cutaway. The usual input is one photo of the person, event details, and a desired reaction or situation.
Runtime is the genmedia CLI. Use the genmedia skill for command syntax. Load
model-routing, fal-prompting, and genmedia-workflow when endpoint choice,
model-specific prompt craft, or pipeline execution details matter.
Do not encode private examples, local file paths, user-specific workflow names, or conversation-specific details into prompts or docs. Keep this skill generalized.
Load only what is needed:
references/prompt-contract.md for the image prompt and Kling prompt rules.references/genmedia-commands.md for executable CLI command patterns.references/examples.md for sport-specific examples.Ask only for missing information that changes execution:
quality=high with a 3840x2160 frame, then
Kling v3 Pro.If the user gives a local image path, upload it once with genmedia upload and
reuse the returned URL. If the user gives multiple references, treat the first
person image as the identity source and later images as optional venue,
broadcast, or styling references.
The user photo is an identity reference, not a Kling-ready start frame. Do not
skip GPT Image 2 edit just because the user supplied a person's photo. For a
personalized fan-cam, first use openai/gpt-image-2/edit to place the person
inside a realistic 16:9 broadcast scene, then use the approved generated frame
as Kling start_image_url.
Default graph:
photo URL -> prompt planning -> GPT Image 2 edit frame -> optional compression -> Kling v3 image-to-video -> downloaded video manifest
The GPT Image 2 edit frame is mandatory when the input is an ordinary person photo. Only bypass this step if the user explicitly provides an already approved 16:9 broadcast fan-cam frame and asks to animate that frame.
The planning step is performed by the agent using this skill. Do not call a separate LLM endpoint just to write prompts unless the user explicitly asks for a hosted planner. Write the image prompt and Kling multi prompts directly.
Always verify endpoints before use:
genmedia models --endpoint_id openai/gpt-image-2/edit --json
genmedia models --endpoint_id fal-ai/kling-video/v3/standard/image-to-video --json
genmedia models --endpoint_id fal-ai/kling-video/v3/pro/image-to-video --json
genmedia models --endpoint_id fal-ai/kling-video/v3/4k/image-to-video --json
Inspect schemas before running:
genmedia schema openai/gpt-image-2/edit --json
genmedia schema fal-ai/kling-video/v3/pro/image-to-video --format openapi --json
Use --format openapi for Kling v3 image-to-video endpoints because compact
schema output may omit top-level fields such as multi_prompt,
start_image_url, duration, prompt, elements, shot_type,
negative_prompt, and cfg_scale.
Check pricing when cost matters:
genmedia pricing openai/gpt-image-2/edit --json
genmedia pricing fal-ai/kling-video/v3/standard/image-to-video --json
genmedia pricing fal-ai/kling-video/v3/pro/image-to-video --json
genmedia pricing fal-ai/kling-video/v3/4k/image-to-video --json
quality=high by default for personalized fan-cam frames. GPT Image 2
price is strongly affected by low vs high, but fan-cam identity,
broadcast integration, and readable overlays need the stronger default.quality=low only when the user explicitly requests economy, preview,
fast iteration, or lower-cost social drafts.output_format=jpeg for the generated broadcast frame unless the user
needs transparency or lossless output.{"width":3840,"height":2160}
Select the endpoint based on the brief:
fal-ai/kling-video/v3/pro/image-to-video: default fan-cam endpoint. Use it
for normal personalized sports cutaways, public examples, and any request
where the user did not explicitly ask for economy.fal-ai/kling-video/v3/standard/image-to-video: use only when the user
explicitly asks for economy, preview, fastest iteration, or lower cost.fal-ai/kling-video/v3/4k/image-to-video: use only for final premium 4K
delivery or when the user explicitly asks for 4K video. Check pricing first.Do not choose from memory alone. Verify model status and schema with genmedia in the current session.
The agent decides the number and duration of multi prompts.
Hard rules:
duration equal to the sum of all beat durations.elements, every multi prompt must reference @Element1. Do not invent
extra elements just to satisfy a prompt pattern.Recommended patterns:
Do not always use five beats. Pick the smallest number that expresses the moment clearly.
The fan-cam does not need to be only a zoom on the spectator. Design the scene from the event details:
Keep the whole video anchored to the generated frame. Use motion, camera correction, crowd behavior, expression changes, and offscreen event energy to create the sequence.
Add a small top-right TV channel bug when it fits the brief. It should feel sport-specific and broadcast-realistic, but generic unless the user supplies an exact approved logo or explicitly requests a named network.
Good generic examples:
FOOTBALL LIVECOURT LIVEBASKET LIVERACE LIVEFIGHT LIVEMATCH CAMUse compact score or timing overlays when the event calls for them. Keep them small, integrated, and secondary to the spectator. Avoid fake sponsor marks, large UI graphics, unstable text, and logos that dominate the frame.
The GPT Image 2 edit prompt must:
The image prompt must avoid:
The Kling prompts must:
@Element1 in every beat only when the request actually includes a
real user-provided or approved Kling elements entry. Otherwise describe the
featured spectator from the start_image_url; do not invent extra elements.generate_audio=true. Do not use
generate_audio=false in this skill.multi_prompt, do not send end_image_url; Kling rejects
end_image_url together with multi_prompt.Use a negative prompt like this and adapt only when needed:
low quality, smeared face, distorted faces, duplicated face, deformed hands, broken fingers, fake sponsor marks, oversized logos, unstable broadcast logo, watermark, text artifacts, unstable broadcast banner, flickering scoreboard, warped scoreboard text, unreadable names, passport photo, studio portrait, glamour portrait, beauty lighting, AI influencer, beautified face, changed face, enlarged eyes, sharpened jawline, pasted face, face cutout, over-smoothed skin, plastic skin, waxy skin, CGI crowd, cloned crowd, anime, cartoon, excessive camera movement, wrong sport, wrong venue
Before returning:
quality=high and image_size={"width":3840,"height":2160}
unless the user explicitly requested an economy or preview run.fal-ai/kling-video/v3/pro/image-to-video unless the user
explicitly requested economy/preview or native 4K video.@Element1 when a real Kling elements entry is used.generate_audio=true.multi_prompt with end_image_url.--download.Return a compact manifest with endpoint IDs, request IDs, model settings, prompts used, output URLs, downloaded files, and any visible defects.
skillbazaar install fan-cam --agent claudeSign in (free) to install skills with the CLI.
Published by