From ez
Generate on-brand EzUGC videos and image ads with any model (Sora 2, Veo, Kling, Runway, Hailuo, Wan, LTX, Seedance, and more) and create assets "for my brand" by ingesting the user's website. Use when the user wants a video or static ad with a specific model, or an ad grounded in their brand identity. Works through the EzUGC MCP server.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ez:brand-videoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when the user wants to:
Use this skill when the user wants to:
This skill is MCP-first: every action below is an EzUGC MCP tool call. There is no CLI fallback.
ezk_live_) configured via the EZUGC_API_KEY environment variable.plugins/ez/.mcp.json, so export it in your shell before launching Claude Code:
export EZUGC_API_KEY="ezk_live_..."whoami/any tool reports an auth/subscription error (e.g. the key is unpaid/invalid), STOP and tell the user to:
EZUGC_API_KEY=ezk_live_... in their environment.whoami to confirm the key, account, scopes, and paymentStatus.get_usage to check remaining quota.paymentStatus is not paid, stop and report it. Do not attempt generation.list_video_models to see available models, capabilities, durations, and ids.imageUrls); lip-sync / avatar / OmniHuman models are reported as available: false and must use the dashboard.available: true.generate_video { prompt, model?, imageUrls?, duration?, aspectRatio?, resolution?, generateAudio? }
model to use the default model.imageUrls (public https) for image-to-video; the first image is the start frame.wait: false to get a job id and poll get_job { jobId }.generate_ugc_video { prompt, script?, productImageUrls?, platform?, duration?, aspectRatio? }
script to auto-generate it.list_brands.create_brand { websiteUrl } — EzUGC crawls the site and extracts brand DNA (logo, colors, tone, value props).get_brand { brandId } until status is ready.generate_brand_video { prompt } uses the default saved brand automatically — best for "create a video for my brand".generate_video { prompt, model, useDefaultBrand: true } to pick a specific model while grounding in the brand.list_image_models to see image-ad models, reference-image support, and aspect ratios. Read the live list for ids.generate_image_ad { prompt, model?, referenceImageUrls?, aspectRatio?, count? } — pass referenceImageUrls (product, logo, prior creatives) to ground the output.generate_brand_image_ad { prompt } for an ad grounded in the saved brand.result_payload.images[] (each has a url). Image jobs charge staticAdGenerations usage (one per image).list_agent_skills returns the read-only agent capability catalog.{{variable}} tokens) with a kind of video, ugc, or image:
list_skills, create_skill { name, kind, promptTemplate, defaultParams? }, get_skill { skillId }, run_skill { skillId, variables?, overrides? }.agent kind is not runnable here).whoami / get_usage. Stop on failure or unpaid key.wait: true). For long jobs, return the job id and poll get_job { jobId }.ezk_live_ EzUGC API key in EZUGC_API_KEY.PUBLIC_API_KEY_REQUIRED, PUBLIC_API_KEY_INVALID, PUBLIC_API_SUBSCRIPTION_REQUIRED) or no key is configured, STOP and tell the user to sign up & subscribe at https://app.ezugc.ai/, create an API key, and set EZUGC_API_KEY. Do NOT retry the call blindly.available: true by list_video_models / list_image_models.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub team-listnr/ez-mcp --plugin ez