Token导航 LogoToken导航TokenDH.com
开发执行命令github未标认证来源可访问许可证需确认审计异常

agent-mediaAgent 媒体

Agent Skill

agent-media 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

349

周安装

14

GitHub Stars

15

下载量

113
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:agent-media(Agent 媒体)
来源仓库:https://github.com/gitroomhq/agent-media
仓库路径:skills/agent-media
安装命令:
npx skills add https://github.com/gitroomhq/agent-media --skill agent-media
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/gitroomhq/agent-media --skill agent-media

简介

agent-media 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合围绕仓库状态和变更进行整理。

  • 适用于 Codex、Claude、Cursor、Gemini CLI 等宿主环境中的开发任务。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用。
  • 安装前需确认权限范围、维护状态及是否触发联网或文件操作。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

npm release: https://www.npmjs.com/package/agent-media-cli agent-media cli github: https://github.com/gitroomhq/agent-media official website: https://agent-media.ai

agent-media — AI UGC Video Production & Media Generation

Produce complete UGC videos, Product Acting UGC, and SaaS review videos from the terminal using the agent-media CLI.


MANDATORY RULES — READ BEFORE EVERY COMMAND

You MUST follow ALL of these rules. Violating any rule produces a broken, unwatchable video.

Rule 1: ALWAYS use --actor — PICK A RANDOM ONE

Every UGC video MUST include --actor <slug>. Without an actor, there is no talking head and no lip sync — the video will just be a static image with voiceover.

If the user hasn't specified an actor:

  1. Run agent-media actor list to get the full list of available actors
  2. Pick a random actor from the list — do NOT always use the same one (e.g., don't always default to sofia or naomi)
  3. Tell the user which actor you picked and suggest they can browse with agent-media actor list or pick a specific one with --actor <slug>

NEVER hardcode a default actor. Every video should feel different — variety in actors is key to quality UGC content.

Rule 2: ALWAYS count words — 2.5 words per second

Natural speech is 2.5 words/second. Scripts MUST match the target duration exactly — too many words sounds robotic, too few words creates awkward pauses and silence:

  • 5s video → 10–12 words (not fewer!)
  • 10s video → 22–25 words (not fewer!)
  • 15s video → 33–37 words (not fewer!)

CRITICAL: Count the words before submitting. If the script is too short, ADD more content. If too long, CUT words. A 15-word script on a 10s video = 5 seconds of dead silence. A 50-word script on a 10s video = rushed robotic speech. Both are broken.

Rule 3: SaaS reviews MUST have screenshots

For any SaaS/product review video, you MUST provide 1-3 product screenshots via --broll --broll-images. Without screenshots, the video has no product context — viewers see only a talking head with no evidence of the product.

--broll-images accepts both HTTP/HTTPS URLs and local file paths (local files are auto-uploaded). Images are semantically matched to the most relevant broll scene based on filename — so use descriptive filenames! Examples:

  • --broll-images./dashboard.png,./calendar-view.png (local files — descriptive names!)
  • --broll-images https://example.com/pricing-page.png,https://example.com/editor.png (URLs)
  • Mix of both works too

If the user provides a product URL but no screenshots, visit the site yourself and extract image URLs from the page.

Rule 4: SaaS reviews MUST have the product name

Ask the user: "What SaaS product should I review?" Do NOT proceed without it. The product name must appear in the script so it shows up in subtitles.

Rule 5: Always use --sync

Always append --sync to wait for the result and get the output URL.

Rule 6: Name screenshot files descriptively

Broll images are semantically matched to scenes by filename. Use descriptive names so the AI assigns the right image to the right scene:

  • GOOD: dashboard.png, calendar-view.png, post-editor.png
  • BAD: screenshot1.png, IMG_0042.png, image.png

When saving screenshots for --broll-images, rename them to describe what they show.


Prerequisites

The agent-media CLI must be installed and authenticated:

npm install -g agent-media-cli
agent-media login

Verify with agent-media whoami. If not logged in, run agent-media login and follow the OTP flow.

UGC Pipeline (Flagship Feature)

The UGC pipeline turns a script into a complete video with AI talking heads, B-roll, voiceover, and animated subtitles — one command.

Flow

Script → Scene splitting → TTS voiceover → AI talking heads + B-roll → Crossfade assembly → Animated subtitles → Background music → End screen CTA

Basic UGC

# ALWAYS include --actor for talking heads + lip sync
agent-media ugc "Ever wonder why some videos go viral? Here's the secret..." --actor sofia --sync

# From file
agent-media ugc ./script.txt --actor naomi --sync

# AI-generated script from a product description
agent-media ugc -g "A fitness tracker that monitors sleep quality" --actor marcus --sync

UGC with B-roll

# With B-roll cutaway scenes mixed in
agent-media ugc "Your script here..." --actor marcus --broll --sync

# With product screenshots as B-roll (REQUIRED for SaaS reviews)
agent-media ugc "Your script here..." --actor sofia --broll --broll-images https://example.com/screenshot1.png,https://example.com/screenshot2.png --sync

UGC Flags

FlagDescriptionExample
--actor <slug>Library actor for talking heads--actor sofia
--persona <slug>Custom persona (cloned voice + face)--persona brand-voice
--face-url <url>Direct face photo URL or local file--face-url./photo.png
--voice <name>TTS voice--voice nova
--tone <name>Voice tone: energetic, calm, confident, dramatic--tone energetic
--style <name>Subtitle style (17 options — pick random!)--style tiktok
-d, --duration <s>Target duration: 5, 10, or 15 seconds--duration 10
--aspect <ratio>Aspect ratio: 9:16, 16:9, 1:1--aspect 16:9
--music <genre>Background music: chill, energetic, corporate, dramatic, upbeat--music chill
--cta <text>End screen call-to-action text--cta "Follow for more"
--brollEnable B-roll cutaway scenes--broll
--broll-images <urls>Comma-separated screenshot/image URLs for B-roll--broll-images url1,url2
--template <slug>Script template (see below)--template saas-review
-g, --generate-script <prompt>AI-generate script from description-g "yoga mat product"
--product-url <url>Product URL for script generation context--product-url https://...
-s, --syncWait for completion and print output URL--sync

PIP Mode (Picture-in-Picture)

PIP mode creates a full-frame talking head with rotating B-roll image overlays in the lower portion. The actor speaks to camera while relevant visuals slide in and out below. Subtitles appear just above the overlay.

# Basic PIP video — actor speaks to camera with auto-generated B-roll overlays
agent-media ugc "Stop scrolling. If you struggle to grow on social media, consistency beats perfection every time." \
  --actor adaeze --pip --duration 15 --style hormozi --sync

# PIP with specific style
agent-media ugc "Three things I wish I knew before starting my business..." \
  --actor sofia --pip --duration 10 --style tiktok --sync

PIP Options:

FlagValuesDefaultDescription
--pip-position <pos>bottom-center, bottom-left, bottom-rightbottom-centerB-roll overlay position
--pip-size <size>small, medium, largemediumB-roll overlay size (40%, 55%, 70% of width)
--pip-animation <anim>slide-up, slide-left, slide-right, fade, scaleslide-upOverlay entrance/exit animation
--pip-style <style>none, rounded, shadownoneOverlay frame style
# PIP with bottom-right overlay, large size, slide-left animation
agent-media ugc "Your script here..." \
  --actor adaeze --pip --pip-position bottom-right --pip-size large --pip-animation slide-left --sync

# PIP with rounded overlay and scale animation
agent-media ugc "Your script here..." \
  --actor sofia --pip --pip-style rounded --pip-animation scale --duration 10 --sync

PIP Rules:

  • --actor is required (PIP needs a talking head)
  • Max duration is 15 seconds (longer videos are split into ≤10s clips with seamless continuity)
  • B-roll overlays are auto-generated from the script — no --broll-images needed
  • Script word count rules apply: 2.5 words/sec (15s = ~37 words max)
  • Do NOT combine --pip with --broll — they are separate modes

Script Templates

TemplateStructureBest For
monologueHook → Body → CTADirect-to-camera talking
testimonialProblem → Solution → Result → CTACustomer stories
product-reviewIntro → Experience → Verdict → CTAProduct reviews
problem-solutionHook → Pain → Solution → CTABefore/after pain points
saas-reviewHook → Walkthrough → Opinion → CTASaaS/app reviews
before-afterHook → Before → After → CTATransformations
listicleHook → Tip 1 → Tip 2 → Tip 3 + CTATips and lists
product-demoIntro → Demo → Recap → CTAProduct walkthroughs

Rule 7: ALWAYS use --style — PICK A RANDOM ONE

Every UGC video MUST include --style <name>. Without a style, you get the same hormozi subtitle every time — boring and repetitive.

If the user hasn't specified a style:

  1. Pick a random style from the list below — do NOT always default to hormozi
  2. Tell the user which style you picked

NEVER hardcode a default style. Variety in styles makes each video feel unique.

Subtitle Styles (17 styles)

Popular

StyleLookBest For
hormoziBold white, yellow karaoke highlightBusiness/marketing content
tiktokBold white, orange-red karaokeTikTok-style UGC
minimalLight, fade in/outProfessional, subtle
cleanWhite text on dark boxClean readability

Bold & Energetic

StyleLookBest For
boldCyan neon outline, karaokeHigh energy
impactHuge text, 2 words, max punchShort punchy clips
fireRed-orange karaoke, dark red outlineHype / excitement
popYellow text, 2 words at a timeAttention-grabbing
spotlightGold highlight, deep shadowPremium / luxury

Aesthetic & Soft

StyleLookBest For
aestheticSubtle, lowercase, airyLifestyle / beauty
pastelSoft pink tonesFeminine / soft content
glowPurple-pink glow outlineNight / party vibes

Colorful

StyleLookBest For
neonGreen neon textTech / gaming
electricCyan text + magenta highlightBold creative
gradientBlue-to-coral karaokeModern / trendy
karaokeGreen word-by-wordKaraoke-style
boxedWhite bold on solid black boxMaximum contrast

SaaS Review Videos

Generate a complete SaaS review video. ALL FOUR are required — do NOT skip any:

  1. Product name in the script (so it appears in subtitles)
  2. --actor (for talking head + lip sync)
  3. --broll --broll-images with 1-3 product screenshot URLs
  4. Script word count matching duration (2.5 words/sec)

Step-by-Step Flow (FOLLOW THIS EXACTLY)

  1. Get product name — ask user if not provided. STOP if missing.
  2. Get 1-3 screenshot URLs — ask user, or if they give a URL, visit the site and extract <img> URLs showing the product dashboard/UI. STOP if no screenshots.
  3. Pick an actor — ask user or pick a RANDOM one from agent-media actor list. Never always use the same one.
  4. Write the script — MUST be 22-25 words for 10s or 33-37 words for 15s. Too few words = awkward pauses. Too many = robotic. Mention the product name 2-3 times. Count the words before submitting.
  5. Run the command with ALL required flags:
# CORRECT — descriptive filenames so images match the right scenes
agent-media ugc "Postiz is the best social media tool I've used. Postiz schedules across twenty-five platforms with AI. Try Postiz today." \
  --actor naomi --duration 10 --style hormozi --broll \
  --broll-images ./postiz-dashboard.png,./postiz-calendar.png --sync

# CORRECT — URLs with descriptive paths work too
agent-media ugc "Postiz is the best social media tool I've used. Postiz schedules across twenty-five platforms with AI. Try Postiz today." \
  --actor naomi --duration 10 --style hormozi --broll \
  --broll-images "https://postiz.com/dashboard-screenshot.png,https://postiz.com/scheduling-view.png" --sync

# WRONG — no actor, no screenshots, script too long
agent-media ugc "Here's how to schedule a post in Postiz step by step..." --sync

Review Flags

FlagDescriptionExample
--actor <slug>AI actor (required)--actor naomi
--brollEnable B-roll scenes (required for reviews)--broll
--broll-images <paths>Screenshot URLs or local files (required, 1-3)--broll-images./img1.png,./img2.png
--duration <s>5, 10, or 15 seconds--duration 10
--style <name>Subtitle style--style hormozi
--cta <text>End screen text--cta "Try it free"
-s, --syncWait for result (always use)--sync

Product Acting UGC

Generate creator-style product-in-hand UGC from a product image, actor, scenario template, and short spoken script. Use this when the user wants an actor to hold, react to, smell, present, or demonstrate a physical product.

Requirements:

  1. Product image URL — must be public HTTPS, or upload a local product image first and use the returned URL.
  2. Actor--actor <slug> is required. Run agent-media actor list if the user has not chosen one.
  3. Script or product context — provide either --script for exact words or --about so the API can generate a short script.
  4. Word count — script is capped at 3 words/second × duration (≤15 words at 5s, ≤30 at 10s, ≤45 at 15s).

CLI

agent-media product-acting \
  --product-image https://cdn.example.com/product.png \
  --actor sofia \
  --about "A premium perfume with a warm vanilla dry-down" \
  --template product-in-hand \
  --acting-style honest-review \
  --duration 5 \
  --sync

agent-media product-acting \
  --product-image https://cdn.example.com/product.png \
  --actor naomi \
  --script "I did not expect this perfume to smell this expensive." \
  --template car-selfie \
  --acting-style shocked \
  --sync

REST API

curl -X POST https://api.agent-media.ai/v1/generate/product_acting_ugc \
  -H "Authorization: Bearer ma_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product_image_url": "https://cdn.example.com/perfume.png",
    "actor_slug": "sarah",
    "product_name": "Rose Noir",
    "product_description": "Premium rose perfume with a warm vanilla dry-down.",
    "template": "product-in-hand",
    "acting_style": "honest-review",
    "duration": 5,
    "subtitle_style": "hormozi"
  }'

Flags

FlagValuesDefaultDescription
--product-image <url>HTTPS URL-Product image URL (required)
--actor <slug>actor slug-AI actor (required)
--actor-variant-id <id>UUID-Optional actor look/variant
--name <text>text-Product name
--about <text>text-Product description used for generated script
--script <text>textgeneratedExact actor line
--template <slug>product-in-hand, mirror-selfie, bathroom-reaction, kitchen-counter, car-selfie, couch-review, expert-interview, product-closeupproduct-in-handScenario framing
--acting-style <slug>raw-selfie, shocked, angry, excited, dramatic, weird-hook, casual-demo, honest-reviewraw-selfieDelivery energy
--visual-style <text>text-Extra pose, camera, or environment direction
--duration <s>5, 10, 155Duration
--subtitles / --no-subtitlesbooleansubtitles onBurn synced subtitles
--webhook-url <url>HTTPS URL-Completion callback
-s, --syncbooleanoffWait for completion

Credit cost: 30 × duration + 50 credits, plus 5 credits when the API generates the script. Runtime: usually several minutes.

Show Your App Videos

Generate a video where an AI actor holds a phone that displays your app screenshot and reads your script, with Hormozi-style word-by-word subtitles burned in.

Requirements (enforced server-side):

  1. Vertical app screenshot — PNG, JPEG, or WebP, height > width (phone portrait). The API rejects landscape.
  2. Public URL — screenshot must be reachable. Host on R2, S3, your own CDN, etc. Local files are not accepted by the CLI for this command.
  3. Script word count — capped at 3 words/second × duration (≤15 words at 5s, ≤30 at 10s, ≤45 at 15s).

CLI

# Random actor (recommended — variety is key)
agent-media show-your-app \
  --app-screenshot https://cdn.example.com/my-app.png \
  --script "You really need to try this app — it generates UGC videos in seconds." \
  --duration 5 --sync

# Specific actor
agent-media show-your-app \
  --app-screenshot https://cdn.example.com/my-app.png \
  --script "Try this app, it changed everything for me." \
  --actor sarah --duration 10 --sync

REST API

curl -X POST https://api.agent-media.ai/v1/generate/show_your_app \
  -H "Authorization: Bearer ma_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "app_screenshot_url": "https://cdn.example.com/my-app.png",
    "script": "You really need to try this app.",
    "duration": 5
  }'

Flags

FlagDescriptionDefault
--app-screenshot <url>Public URL of vertical app screenshot (required)-
--script <text>What the actor reads (required, ≤3 words/sec × duration)-
--actor <slug>Specific actor slugrandom from pool
--duration <s>5, 10, or 15 seconds5
--subtitle-style <style>hormozi or nonehormozi
--webhook-url <url>HTTPS completion callback-
-s, --syncWait for completionoff

Credit cost: 75 flat. Runtime: 4–8 minutes (GPT Image + Seedance 2.0).

Persona Management

Save voice + face combos for consistent UGC across videos:

# Create a persona from voice sample + face photo
agent-media persona create --name "brand-voice" --voice ./sample.mp3 --face ./photo.png

# List personas
agent-media persona list

# Use in UGC
agent-media ugc "Your script..." --persona brand-voice --sync

# Delete
agent-media persona delete <persona-id>

Add Subtitles to Any Video

agent-media subtitle <video-path-or-job-id> --style hormozi --sync
agent-media subtitle ./my-video.mp4 --style bold --sync

Pricing & Credit Deduction

Plans

PlanPriceMonthly Credits~10s Videos~5s Videos
Creator$39/mo3,900~13~26
Pro$69/mo6,900~23~46
Pro Plus$129/mo12,900~43~86

Pay-as-you-go credit pack: 3,900 credits for $39 (one-time purchase, never expires).

How credits are deducted

Rate: 30 credits per second of video. 1 credit = $0.01.

DurationCredits deductedDollar value
5s video150 credits$1.50
10s video300 credits$3.00
15s video450 credits$4.50
Product Acting setup frame+50 credits+$0.50
AI script generation+5 credits+$0.05
Subtitles only50 credits$0.50

Deduction order: Monthly credits are used first (they expire at period end), then purchased credits (never expire).

Refunds: If the video generation fails, credits are automatically refunded. Canceled jobs are also refunded.

Run agent-media credits to check balance before generating.

Job Management

agent-media status <job-id>     # Check job status
agent-media list                # List recent jobs
agent-media download <job-id>   # Download output media
agent-media cancel <job-id>     # Cancel and refund credits
agent-media retry <job-id>      # Retry a failed job

Account

agent-media whoami              # Current user info
agent-media credits             # Credit balance
agent-media subscribe           # Manage subscription
agent-media login / logout      # Authentication

REST API (v2)

agent-media also has a REST API for programmatic access. Interactive docs at https://agent-media.ai/docs/api-reference

Endpoints

MethodPathDescription
POST/v1/generate/ugc_videoGenerate a UGC video
POST/v1/generate/product_reviewGenerate a product review video
POST/v1/generate/show_your_appActor holding phone with your app screenshot + Hormozi subs
POST/v1/generate/product_acting_ugcActor presents or reacts to your product image
POST/v1/generate/subtitleAdd subtitles to a video
GET/v1/actorsList available AI actors
GET/v1/videos/{jobId}Check job status

Auth

Authorization: Bearer ma_YOUR_API_KEY

SDKs

TypeScript (npm install @agentmedia/sdk):

import { AgentMedia } from '@agentmedia/sdk';
const client = new AgentMedia({ apiKey: 'ma_xxx' });

const video = await client.createVideo({ script: '...', actor_slug: 'sofia' });
const app   = await client.createShowYourApp({ app_screenshot_url: '...', script: '...' });
const product = await client.createProductActing({
  product_image_url: 'https://cdn.example.com/product.png',
  actor_slug: 'sofia',
  product_description: 'Premium perfume with a warm vanilla dry-down',
});

Python (pip install agent-media):

from agent_media import AgentMedia
client = AgentMedia(api_key="ma_xxx")

video = client.create_video(script="...", actor_slug="sofia")
app   = client.create_show_your_app(app_screenshot_url="...", script="...")
product = client.create_product_acting(
    product_image_url="https://cdn.example.com/product.png",
    actor_slug="sofia",
    product_description="Premium perfume with a warm vanilla dry-down",
)

curl Example

# Generate a video
curl -X POST https://api.agent-media.ai/v1/generate/ugc_video \
  -H "Authorization: Bearer ma_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "script": "Your 50+ character script here...",
    "actor_slug": "sofia",
    "tone": "energetic"
  }'

# Check status
curl https://api.agent-media.ai/v1/videos/{job_id} \
  -H "Authorization: Bearer ma_YOUR_KEY"

MCP Server (Claude Code / Cursor)

{
  "mcpServers": {
    "agent-media": {
      "command": "npx",
      "args": ["@agentmedia/mcp-server"],
      "env": { "AGENT_MEDIA_API_KEY": "ma_xxx" }
    }
  }
}

Exposes tools: create_video, show_your_app, product_acting_ugc, list_actors, get_video_status.

OpenAPI Spec

Download at https://agent-media.ai/openapi.json — import into Postman, Insomnia, or any OpenAPI tool.

Checklist Before Every UGC Command

Before running ANY agent-media ugc command, verify:

  • --actor is included (no actor = no talking head = broken video). Pick a RANDOM actor if user didn't specify one!
  • --style is included. Pick a RANDOM style if user didn't specify one — never always use hormozi!
  • Script word count matches duration EXACTLY (5s=10-12, 10s=22-25, 15s=33-37 words — too few = pauses, too many = robotic)
  • --sync is appended
  • For SaaS reviews: --broll --broll-images with 1-3 screenshot URLs
  • For SaaS reviews: product name appears 2-3 times in script
  • For PIP mode: --pip flag is set, --actor is included, duration ≤ 15s
  • For PIP mode: do NOT also pass --broll (PIP auto-generates overlays)
  • For Product Acting: --product-image, --actor, and either --script or --about are included
  • Credits are sufficient (agent-media credits)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.36%
按下载量换算42

Claude

29.65%
按下载量换算34

Cursor

18.88%
按下载量换算21

Gemini CLI

9.73%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/gitroomhq/agent-media --skill agent-media 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills