Skip to main content
API Reference for quiver/arrow-2, served by Comfy Router from Quiver. Input: Text, Image · Output: Image

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 and npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP. Model ID: quiver/arrow-2 Endpoint: POST https://api.comfy.org/v2/models/quiver/arrow-2
The same body, sent to POST https://api.comfy.org/v2/models/quiver/arrow-2/requests. Router answers 201 with a request_id as soon as the run is admitted, and the result is collected once it is ready, from this process or another one. Queued delivery walks through status, cancellation and collection.

Schema

Input

string
Additional style or formatting guidance
integer
Maximum number of output tokensRange: 1 to 131072
string
Model identifier for SVG generation
integer
default:"1"
Number of SVGs to generateRange: 1 to 16
number
default:"0"
Penalty for tokens already present in prior output. Ignored by arrow-2-telos, which does not accept sampling parameters; the field is removed from the request before it is forwarded, without an error.Range: -2 to 2
string
required
Text description of the desired SVG output
object | string (uri)[]
Optional reference images to guide style/composition. Accepts URL object, base64 object, or URL string shorthand. Runtime limits are model-specific.
number
default:"1"
Sampling temperature. Ignored by arrow-2-telos, which does not accept sampling parameters; the field is removed from the request before it is forwarded, without an error.Range: 0 to 2
number
default:"1"
Nucleus sampling probability. Ignored by arrow-2-telos, which does not accept sampling parameters; the field is removed from the request before it is forwarded, without an error.Range: 0 to 1
Generated from the schema Router serves at GET /v2/models/quiver/arrow-2/openapi.json, the same document it validates a call against before the request reaches the provider.

Output

integer
required
Unix timestamp of creation
integer
Credit cost for fixed-credit models such as arrow-1.1. Omitted for token-priced models such as arrow-2, which report measured token totals in usage.Range: 0 to …
object[]
required
string
required
MIME type of the outputPossible values: image/svg+xml
string
required
Raw SVG markup
string
required
Unique identifier for the generation
object
Token totals for token-priced models such as arrow-2. Fixed-credit models may report zeros here.
integer
Input token count for token-priced models.Range: 0 to …
integer
Output token count for token-priced models.Range: 0 to …
integer
Total token count for token-priced models.Range: 0 to …

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, and a 413 means the request body was larger than Router accepts. Download generated assets promptly because result URLs can expire. Any size limit named in a field description above is the provider’s own bound on that field, quoted from the provider’s specification. Router applies a separate cap to the whole request body, which base64-encoded media counts against: see request body size. This page documents one partner model called through Comfy Router. The same comfy-sdk / @comfyorg/sdk package also ships a second client, for running a whole ComfyUI workflow graph on Comfy Cloud: Comfy(api_key=...) / new Comfy({ apiKey }), with client.workflows, client.assets and client.jobs. See Comfy SDKs.

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.