Upscale images to 2K, 4K, or 8K resolution using WaveSpeed AI's Image Upscaler. Takes an image URL and produces a higher-resolution version. Supports JPEG, PNG, and WebP output formats. Use when the user wants to upscale or enhance the resolution of an image.
Design & media
WaveSpeed
Try itGenerate or edit AI media (image, video, audio, 3D) by calling the wavespeed CLI on the user's machine. Use whenever the user asks to create, edit, animate, upscale, or transform a visual asset, generate audio/TTS/music, or produce marketing creatives. Every model on the WaveSpeed platform is one `wavespeed run <id>` call.
What it does
Generate or edit AI media (image, video, audio, 3D) by calling the wavespeed CLI on the user's machine. Use whenever the user asks to create, edit, animate, upscale, or transform a visual asset, generate audio/TTS/music, or produce marketing creatives. Every model on the WaveSpeed platform is one `wavespeed run <id>` call.
The skill document
WaveSpeed
You have access to the wavespeed CLI. Every generation flows through one verb. There are no image / video shortcuts; the model id is always explicit.
The three-step pattern
# 1. FIND a model — search the live catalog
wavespeed models "seedream"
wavespeed models --type image-to-video --popular
# 2. INSPECT its inputs — dynamic schema, per model
wavespeed run bytedance/seedream-v5.0-pro -h
# 3. RUN it — always pass --json so you can read the result
wavespeed run bytedance/seedream-v5.0-pro \
-p "a cyberpunk skyline at golden hour" \
-i aspect_ratio="16:9" -i resolution="2k" --json
run --json returns { id, model, prompt, outputs: [url, ...], saved: [path, ...], elapsed_ms, raw }. Keep id — it is the handle for wavespeed show if anything is interrupted. Use the URL when the user wants a link. Add --download if they need bytes on disk.
Recommended defaults
| Use case | Model |
|---|---|
| Text → image | bytedance/seedream-v5.0-pro |
| Image edit (instruction-driven) | bytedance/seedream-v5.0-pro/edit — requires images: [url, ...] |
| Text → video | wavespeed-ai/minimax-h3/text-to-video |
| Image → video | wavespeed-ai/minimax-h3/image-to-video — requires image: url |
| Video edit (instruction-driven) | wavespeed-ai/minimax-h3/video-edit — requires video: url |
| Video extend | wavespeed-ai/minimax-h3/video-extend — requires video: url |
These are good starting points. MiniMax H3 is the open-weights default: cheap, fast, and native stereo audio — the best place to start. When you need the highest quality, switch to bytedance/seedance-2.5/* (text-to-video, image-to-video, video-edit, video-extend). Browse alternatives with wavespeed models .
Common recipes
# Edit an existing image — @path uploads the file and passes its URL (one step)
wavespeed run bytedance/seedream-v5.0-pro/edit \
-p "replace the background with a sunlit kitchen" \
-i images='["@./input.jpg"]' --json
# Image-to-video — same @ marker for single-URL fields
wavespeed run wavespeed-ai/minimax-h3/image-to-video \
-p "subtle parallax, gentle wind" \
-i image=@./hero.jpg -i duration=5 --json
# Or upload separately when you need the URL itself
URL=$(wavespeed upload ./hero.jpg --json | jq -r .url)
# Save outputs locally with a template
wavespeed run ... -p "..." --download "./out/{index}.{ext}"
Project config and aliases
If wavespeed.json exists (created by wavespeed init):
defaultModel— letswavespeed run -p "…"(no model arg) work.- Aliases — named shortcuts that bundle model + default inputs. Run
wavespeed aliasesto see what's defined.wavespeed run -hshows the resolved schema. CLI-i k=voverrides alias defaults.
The CLI never modifies the user's prompt or inputs. The single exception is explicit: an @path value uploads that file and substitutes its hosted URL. Bare paths are never uploaded.
Auth
wavespeed status shows whether the user is signed in. If not, ask them to run wavespeed login (opens https://wavespeed.ai/accesskey). Never ask the user to paste an API key into the chat — the CLI handles it.
Pitfalls
- Local files: use
@./file.jpgin-ivalues. Bare paths are NOT uploaded and the model will reject them. - Don't invent model IDs. Always confirm via
wavespeed modelsorwavespeed schemabefore running. - Use
--jsonon everyrunso you can readoutputs[0]programmatically. wavespeed deleterequires--yeswhen run non-interactively (that includes you).- Spend questions:
wavespeed usage(totals, per-model) andwavespeed billings(per-charge records).
Related skills
Generate and extend videos using Google's Veo 3.1 Fast model via WaveSpeed AI. Supports text-to-video, image-to-video, and video extension. Features up to 4K resolution, audio generation, and chained extensions up to 148 seconds. Use when the user wants to create videos from text or images, or extend existing Veo-generated videos.
Generate 4-12s videos from text or images using ByteDance Seedance V1.5 Pro via WaveSpeed AI.
Animate a portrait image with audio to produce a lip-synced talking head video up to 10 minutes long.
Generate and edit images using ByteDance's Seedream V4.5 model via WaveSpeed AI. Supports text-to-image generation and multi-image editing with custom resolutions up to 4096x4096. Features enhanced typography for posters and logos. Use when the user wants to create or edit images with high-quality text rendering.
Upscale videos to 720p, 1080p, 2K, or 4K resolution using WaveSpeed AI's Ultimate Video Upscaler. Takes a video URL and produces a higher-resolution version. Supports videos up to 10 minutes. Use when the user wants to upscale or enhance the resolution of a video.