Generate Images and Video Inside Claude Code with the WaveSpeed Skill
Three ways to give Claude Code AI media generation — the one-command skill install, the plugin marketplace, and the MCP server — plus what the agent actually does with them and where the sharp edges are.
Claude Code is good at exactly one interface: the shell. The WaveSpeed CLI is built for that interface — every model on wavespeed.ai is one wavespeed run <model-id> command — so an agent mid-task can produce a hero image, edit an asset, or animate a still without you leaving the session.
There are three ways to wire it up. They share the same underlying capability; pick the one that fits how you manage your setup.
Prerequisites
- Node.js ≥ 18
- The CLI:
npm install -g @wavespeed/cli - A WaveSpeed API key —
wavespeed loginopens the key page and validates the paste
Option 1: the skill (lightest)
wavespeed skill install # writes .claude/skills/wavespeed/SKILL.md
One file, checked into your project if you want the whole team to share it. The skill teaches the agent the find → inspect → run pattern:
# 1. FIND a model in the live catalog
wavespeed models "seedream"
wavespeed models --type image-to-video --popular
# 2. INSPECT its real input schema (fetched live, per model)
wavespeed run bytedance/seedream-v5.0-pro -h
# 3. RUN it, reading the result as JSON
wavespeed run bytedance/seedream-v5.0-pro \
-p "a cyberpunk skyline at golden hour" \
-i aspect_ratio="16:9" -i resolution="2k" --json
Local files go through the @path marker — uploaded and substituted with a hosted URL in one step:
wavespeed run bytedance/seedream-v5.0-pro/edit \
-p "replace the background with a sunlit kitchen" \
-i images='["@./input.jpg"]' --json
Option 2: the plugin marketplace
/plugin marketplace add WaveSpeedAI/claude-plugins
/plugin install wavespeed@wavespeed
Same skill, delivered as a managed plugin — updates flow through the marketplace instead of re-running the installer.
Option 3: the MCP server
claude mcp add wavespeed -- npx -y @wavespeed/mcp
Seven tools instead of shell commands: list_models, get_model_schema, run_model (with the same @path upload), get_price, get_balance, upload_file, get_prediction. Useful when your team standardizes on MCP or when the agent shouldn’t shell out. The server reuses the CLI’s stored login, so wavespeed login covers both.
Cost control
wavespeed price bytedance/seedream-v5.0-pro -i resolution=2k # quote, no charge
wavespeed balance
One caveat worth knowing: many models bill from an input — audio duration, frame count. Quote without those inputs and the formula collapses to the model’s base price, the floor of its range. The command lists the inputs it was blind to (unpriced_inputs in --json); the amount actually charged for a run is authoritative.
Sharp edges
- Bare paths are not uploaded.
-i image=./photo.jpgsends the literal string. Use@./photo.jpg. - Don’t invent model IDs — confirm via
wavespeed modelsorwavespeed schema <id>first. - Always
--jsonon runs so the agent readsoutputs[0]instead of parsing human output. - Project defaults and aliases live in
wavespeed.json(wavespeed init).
Where things live
- CLI (MIT): WaveSpeedAI/wavespeed-cli ·
@wavespeed/cli - Plugin marketplace: WaveSpeedAI/claude-plugins
- MCP server: WaveSpeedAI/mcp-server ·
@wavespeed/mcp - Model catalog: wavespeed.ai/models

