provider: gmi (or defaults.provider: gmi is set) and the run is dispatched with --live, the GMI adapter routes the request to the GMI Cloud request queue API and settles on the flagship BytePlus Seedance 2.0 model (seedance-2-0-260128). This page documents how to obtain a GMI key, wire it into a CLI or web run, and shape recipe steps to match Seedance’s parameters.
GMI keys are bring-your-own-key (BYOK). Zap does not proxy or resell GMI capacity. You must have a funded GMI Cloud account and export the key locally or store it in Supabase before any live run is accepted.
1. Obtain a GMI API Key
Sign in to GMI Cloud
Visit console.gmicloud.ai and sign in or create an account.
Generate an API key
Open Settings → API Keys and click Create key. Copy the key immediately — it will not be shown again.
2. Wire the Key Into Zap
Zap accepts the GMI key in two places, depending on where the run originates.CLI runs — environment variable
Export the key in the shell wherezap run --live will be invoked:
.env.local at your project root (already git-ignored by the zap init scaffold):
Web runs — Supabase vault
For runs initiated from zap.wzrd.tech, the key is stored server-side per creator wallet. See Auth & Secrets for the full flow. Summary:3. The Seedance 2.0 Model
Seedance 2.0 (seedance-2-0-260128) is the flagship BytePlus video model exposed through GMI. It supports three generation modes:
| Mode | Trigger | Description |
|---|---|---|
| T2V — Text-to-Video | prompt only | Generate a clip from a text description. |
| I2V — Image-to-Video | first_frame (and optional last_frame) | Animate a still image; optionally interpolate to a last frame. |
| R2V — Reference-to-Video | reference_images / reference_videos / reference_audios | Condition on up to 9 images, 3 videos, or 3 audios. |
prompt, first_frame, reference_images, or reference_videos must be present.
Seedance parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | conditional | "" | Text description. Required only if no image/video reference is supplied. |
first_frame | image URL | conditional | — | First-frame anchor for I2V. |
last_frame | image URL | no | — | Optional last-frame target for I2V interpolation. |
reference_images | image URL[] | conditional | — | Up to 9 reference images (R2V). |
reference_videos | video URL[] | conditional | — | Up to 3 reference videos (R2V). |
reference_audios | audio URL[] | no | — | Up to 3 reference audios (R2V). |
duration | integer | no | 5 | Clip length in seconds. Valid range 4–15. |
resolution | enum | no | "720p" | "480p", "720p", or "1080p". |
ratio | enum | no | "adaptive" | Aspect ratio, e.g. "16:9", "9:16", "1:1". |
generate_audio | boolean | no | true | Generate a matching audio track. |
watermark | boolean | no | false | Add a GMI watermark to the output. |
seed | integer | no | — | Reproducibility seed. -1 requests a random seed. |
web_search | boolean | no | false | Enrich the prompt with a web search before generation. |
Pricing (per second of output video)
| Resolution | Price / second |
|---|---|
| 480p | $0.07 |
| 720p | $0.152 |
| 1080p | $0.374 |
model or custom rate if you’re targeting a different resolution.
4. Recipe Examples
All three Seedance modes are expressible as a singlevideo.gen step in a Zap recipe.
T2V — text-to-video
I2V — first-frame animation
inputs[0] URL to Seedance’s first_frame parameter automatically.
R2V — reference conditioning
5. Raw API Reference
Zap wraps these calls, but you may need to reproduce them directly for debugging.Submit a request
Response envelope
Poll a request
6. Running Live End-to-End
runId; check status with:
https://zap.wzrd.tech/runs/<runId> in the browser for the visual timeline.
Related
- Providers — how Zap routes each step and the full BYOK secret table.
- Budget — how the planner quotes and enforces spend before dispatch.
- Auth & Secrets — storing your GMI key in Supabase for web runs.
- Step Kinds — all 11 step types and their per-model rates.
