
agent-media ugc video
The ONE tool for UGC video. Give a script (any length) and optionally a person description, an image (photo), or a character (saved char… or sheet URL); it returns the finished vertical video. Short script → one clip; long monologue → full multi-take (never trimmed); pass brollurl → narrated b-roll overlay. Captions are OPT-IN — ASK the user if they want them (and which style) before generating; set captions:true only if they say yes. You never pick a sub-tool.
- Installs
- 70
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/gitroomhq/agent-media --skill agent-media-ugc-video- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads agent-media ugc video automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Agent-Media UGC Video
One tool. One call. A finished, captioned, vertical UGC video.
You give a script and (optionally) who says it — agent-media picks the pipeline, the take count, and the duration for you. You NEVER pick a sub-tool:
- Short line → one clean talking-head clip.
- Full monologue (any length) → a seamless multi-take video, never trimmed to fit a clip.
broll_url→ the person narrates over your b-roll / gameplay / product footage.
Inputs
What they say — exactly one of:
script— the spoken line, any length. A sentence becomes one clip; a paragraph becomes the full multi-take video. Never trimmed.scene_action— a silent clip instead (dancing, b-roll, vibes). Requires acharacter.
Who says it — optional, pass at most one (omit → a default person is generated):
person— describe them in words, e.g."a 25-year-old woman with curly red hair".image— a photo of the person: a publichttpsURL or base64. The face is locked to it.character— reuse a saved character: itschar_…id (fromlist_characters) or itscharacter_sheet_url.name— optional name/age/vibe hint, e.g."Sophia, 28".
A long monologue or a
broll_urlreview needs a real face — passimageorcharacter, not justperson.
Captions are OPT-IN — do NOT add them on your own. First ASK the user whether they want captions and which caption_style (hormozi | tiktok | minimal); set captions:true only if they say yes, otherwise leave it off.
Look & format — all optional:
captions— off unless set true (ask first, above);caption_style(hormozi|tiktok|minimal)look(natural|commercial|raw_iphone),aspect_ratio(9:16|1:1)broll_url— anhttpsvideo overlaid on the lower half while they narrate.duration— leave blank; length is inferred from the script. Set only to force a short clip.
Examples
A quick clip from a text description:
{ "script": "Honestly? This app saved my whole morning routine.", "person": "a friendly young woman, soft daylight" }
A full monologue from a saved character — multi-take, never trimmed:
{ "script": "Okay I have to be honest with you for a second. Three months ago I was completely overwhelmed … (the entire monologue, as long as you like) … and that is your sign.", "character": "char_8f3ac210" }
From a photo of a real person:
{ "script": "Wait — you have to see what this actually does.", "image": "https://example.com/face.jpg", "name": "Maya, 27" }
A narrated b-roll / gameplay review:
{ "script": "Watch this play — this is where the whole match turns around.", "broll_url": "https://example.com/clip.mp4", "character": "char_8f3ac210" }
Reuse the same person across a session
After a video finishes, the character is saved — GET /v1/characters lists it with a character_id (char_…) and a character_sheet_url. For the NEXT video in the same task, pass that as character instead of a new person: it keeps the exact same face, and it's faster + cheaper because it reuses the existing portrait + character sheet rather than re-making them (the character sheet is never skipped — it's reused). Only generate a NEW person when the user asks for a different one. If you're not sure whether they want the same person or a new one, ASK the user before generating.
How to call it
Preferred path: MCP tool mcp__agent-media__make_ugc. The full schema is auto-published via tools/list; the fields above are the manual.
Fallback path: REST.
POST https://api.agent-media.ai/v1/skills/make_ugc/run
Authorization: Bearer $AGENT_MEDIA_API_KEY
Content-Type: application/json
Idempotency-Key: <any unique string per intent>
{ "script": "Okay this completely changed how I work — I plan my whole week in ten minutes now.", "character": "char_8f3ac210" }
Cost & timing
- Credits:
route-dependent: ~190–505 for a short clip; priced per-take for a long monologue or b-roll review - Wall time (typical):
360–1400s - Deducted as each take runs.
Polling the result
GET https://api.agent-media.ai/v1/skills/runs/<skill_run_id>
Authorization: Bearer $AGENT_MEDIA_API_KEY
Returns per-step status + current_step; final_output.video_url is your finished MP4 when status is succeeded.
Keep the user posted — don't go silent. A video takes a few minutes: a new person runs portrait → character sheet → the video (→ captions if asked); reusing a saved person skips straight to the video. When you submit, tell the user the plan + a rough ETA, then poll and report each current_step as it changes (e.g. "building the character sheet…", "rendering the video…", "adding captions…") so they always know what's happening.
House rules
- See reference/realism-rubric.md for the realism doctrine baked into every prompt.
- See reference/pacing.md — you don't manage pacing; make_ugc sizes every take to the words.
- See reference/auth.md for first-time install and
agent-media login.
Source of truth
Auto-generated by scripts/generate-public-skill.ts from services/api-v2/src/skills/registry.ts. Do not hand-edit; CI rejects drift.
FAQ
What does the agent-media ugc video skill do?
The ONE tool for UGC video. Give a script (any length) and optionally a person description, an image (photo), or a character (saved char… or sheet URL); it returns the finished vertical video. Short script → one clip; long monologue → full multi-take (never trimmed); pass brollurl → narrated b-roll overlay. Captions are OPT-IN — ASK the user if they want them (and which style) before generating; set captions:true only if they say yes. You never pick a sub-tool.
How do I install agent-media ugc video?
Run npx skills add https://github.com/gitroomhq/agent-media --skill agent-media-ugc-video in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/agent-media-ugc-video/ (personal) or .claude/skills/agent-media-ugc-video/ (project).
Which AI agents can use agent-media ugc video?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is agent-media ugc video safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains agent-media ugc video?
It is published by gitroomhq in gitroomhq/agent-media. It has 70 recorded installs.
More from gitroomhq/agent-media
publish to social
gitroomhq/agent-media
Publish a generated Agent-Media video to the user's connected TikTok, Instagram, or X. Connect channels (OAuth) and post or schedule via the REST API. Use after producing a video with generatevideo.
agent-media ugc playbook
gitroomhq/agent-media
Playbook for Agent-Media UGC Video — the one tool for UGC video on agent-media. Always call the single makeugc skill: give it a script (any length) and optionally a person/image/character; it returns the finished captioned vertical video. Short script → one clip, long monologue → full multi-take (never trimmed), brollurl → narrated overlay. You never pick a sub-skill.
make ugc video
gitroomhq/agent-media
End-to-end UGC video in one call. Provide EITHER a text description of the person, OR a portrait URL (R2-hosted), OR an uploaded image. The pipeline auto-generates the missing portrait, builds a character sheet, and produces a 5/10/15s vertical selfie video with native lip-synced audio of your script.
make character sheet
gitroomhq/agent-media
Generate a magazine-style character sheet from a portrait. Provide EITHER portraiturl (must be R2-hosted) OR portraitimagebase64 (PNG/JPEG, ≤10 MB; the API will upload it to R2 first). Optional ≤10-word description for name/age/vibe hints.
make subtitles
gitroomhq/agent-media
Burn TikTok / Hormozi-style captions onto any vNext video (R2-hosted). Auto-transcribes via Whisper when transcript is omitted. Styles: hormozi (default), tiktok, minimal.
make wireframe
gitroomhq/agent-media
Generate a photographic storyboard / wireframe board from a character sheet (R2-hosted) + script. Multi-panel grid showing the same person performing the action progression, 4 / 6 / 8 / 10 numbered panels.
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image