Skip to main content
API Reference for wavespeed/seedvr2, served by Comfy Router from WaveSpeed.

Quick start

Create a key in your Comfy workspace and export it as COMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: wavespeed/seedvr2 Endpoint: POST https://api.comfy.org/v2/models/wavespeed/seedvr2

Schema

Input

boolean
default:"false"
If enabled, the output will be encoded into a BASE64 string instead of a URL.
string
required
The URL of the image to upscale.
string
default:"\"jpeg\""
The format of the output image.Possible values: jpeg, png, webp
string
default:"\"4k\""
The target resolution of the output image.Possible values: 2k, 4k, 8k
Generated from the schema Router serves at GET /v2/models/wavespeed/seedvr2/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

integer
WavespeedAI’s own envelope status code, mirroring an HTTP status (200 on the document this schema describes). Wavespeed reports some failures here rather than in the transport status.
object
required
string
ISO-8601 timestamp of when Wavespeed created the prediction.
string
Wavespeed’s free-text failure reason, an empty string when there is none. A prediction that genuinely failed reaches a Router caller as a Comfy Router error rather than as this document.
string
Wavespeed’s identifier for the prediction Router submitted and polled.
string
The Wavespeed model id the prediction ran on.
string[]
required
The finished generation. Present and non-empty on the document Router returns; this list IS the result. Each element is a URL to the generated content - an MP4 for wavespeed/flashvsr, an image for the two upscalers - or, for the two image ids when the request set enable_base64_output, the base64-encoded bytes themselves. The links are Wavespeed’s own and expire.
string
required
The prediction’s terminal state as Wavespeed spelled it. Not narrowed to an enum here: Router forwards the value unchanged and the poll classifier lower-cases before comparing, so a success can legitimately arrive as completed, succeeded, success or done, in any case.
object
Wavespeed’s own timing measurements.
integer
Inference time in milliseconds. Wavespeed’s number, not the Comfy charge.
object
Wavespeed’s own links for the prediction.
string
The prediction-result URL Router polled.
string
Envelope status message, for example success.

Examples

Input

Output

Before you ship

The SDKs create an Idempotency-Key and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes. When a request fails, Router sends an X-Comfy-Error-Type response header explaining why. A 422 means Router rejected the input before calling the provider. Download generated assets promptly because result URLs can expire.

Headers

Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.

Using the Router API

Model discovery, validation errors, retries, and billing.

Limitations

What Router does not do today, and what to use instead.