WaveSpeedAI

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.

By WaveSpeedAI3 min read

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 login opens 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.jpg sends 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 models or wavespeed schema <id> first — a hallucinated ID fails at submit time, but only after a round trip.
  • Always --json on runs. The human-readable output is for humans; outputs[0] is for the agent.
  • Project defaults live in wavespeed.json (wavespeed init writes one): a defaultModel plus named aliases that bundle a model with default inputs. Agent-friendly, git-friendly.

Where things live

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.

Share