Generate Images and Video Inside DeepSeek Harness with the WaveSpeed Skill
A practical setup guide: install the WaveSpeed skill in DeepSeek Harness (dsh), and your agent can search the model catalog, read input schemas, and run any image, video, audio, or 3D model — with a price check before every run.
DeepSeek Harness (dsh) runs coding agents that are 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. The wavespeed-dsh-skill connects the two, so an agent in the middle of a task can produce a hero image, animate a still, or upscale a clip without you leaving the session.
This is a setup note, not a pitch: what to install, what the agent actually does with it, and where the sharp edges are.
Prerequisites
- Node.js ≥ 18
- The CLI:
npm install -g @wavespeed/cli - A WaveSpeed API key —
wavespeed loginopens the key page and validates the paste, so you never handle the key in a chat window
Install the skill
As a dsh plugin (the bundle registers the skill automatically):
dsh plugin --profile web add github:WaveSpeedAI/wavespeed-dsh-skill
Or copy it by hand into a project (checked into git, shared with your team):
mkdir -p .dsh/skills
git clone --depth 1 https://github.com/WaveSpeedAI/wavespeed-dsh-skill /tmp/wss \
&& cp -r /tmp/wss/skills/wavespeed .dsh/skills/ && rm -rf /tmp/wss
If you also work in Claude Code, Cursor, or Codex, the CLI installs the same skill for those agents directly: wavespeed skill install.
What the agent does with it
The skill teaches one pattern — find, inspect, run:
# 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
That ordering matters more than it looks. Agents that guess parameter names burn runs on validation errors; run <id> -h makes the schema part of the loop, so the agent reads before it writes.
Local files go through the @path marker — the CLI uploads the file and substitutes its hosted URL in one step:
# Edit a local image
wavespeed run bytedance/seedream-v5.0-pro/edit \
-p "replace the background with a sunlit kitchen" \
-i images='["@./input.jpg"]' --json
# Animate a local still
wavespeed run bytedance/seedance-2.5/image-to-video \
-p "subtle parallax, gentle wind" -i image=@./hero.jpg --json
Cost control
Two commands keep the agent honest about spend:
wavespeed price bytedance/seedream-v5.0-pro -i resolution=2k # quote, no charge
wavespeed balance # account credit
One honest caveat about price: many models bill from an input — audio duration, frame count, text length. Quote without those inputs and the formula collapses to the model’s base price, the floor of its range, not a typical run. The command names the inputs it was blind to (unpriced_inputs in --json); supply them for a real quote. The amount actually charged for a run is authoritative.
Sharp edges
- Bare paths are not uploaded.
-i image=./photo.jpgsends the literal string and the model rejects it. Use@./photo.jpg. - Don’t invent model IDs. The skill instructs the agent to confirm via
wavespeed modelsorwavespeed schema <id>first — a hallucinated ID fails at submit time, but only after a round trip. - Always
--jsonon runs. The human-readable output is for humans;outputs[0]is for the agent. - Project defaults live in
wavespeed.json(wavespeed initwrites one): adefaultModelplus named aliases that bundle a model with default inputs. Agent-friendly, git-friendly.
Where things live
- Skill: WaveSpeedAI/wavespeed-dsh-skill
- CLI (MIT, open source): WaveSpeedAI/wavespeed-cli ·
@wavespeed/clion npm - Model catalog: wavespeed.ai/models
FAQ
Does the skill need an MCP server?
No. The skill drives the open-source wavespeed CLI over ordinary shell commands, which dsh agents already know how to run. There is no daemon to keep alive.
Which models can the agent use?
The full live WaveSpeed catalog — image, video, audio, and 3D. The skill teaches the agent to search it with `wavespeed models` rather than hard-coding a model list, so newly released models work without a skill update.
How does the agent know what a model's inputs are?
`wavespeed run <model-id> -h` fetches the model's real input schema live. The skill instructs the agent to inspect before running, so it doesn't guess parameter names.
Can I control spend?
Yes — `wavespeed price <model-id> -i key=value` quotes a run before executing it, and `wavespeed balance` / `wavespeed usage` show the account state. The skill tells the agent to surface prices instead of silently spending.
/filters:quality(82)/media/images/1773962750383987480_n3hqzHRZ.webp)
/filters:quality(82)/media/images/1788932462559654416_SrQZ8hrB.webp)