Skip to content
Esc
↑↓navigate↵open⌘Jpreview
On this page

Migrate to Arrow 2

Update retired model IDs, check API key authority, and verify native SVG requests before October 16, 2026.

Migrate integrations using arrow-1, arrow-preview, arrow-1.1, or arrow-1.1-max before October 16, 2026 at 08:00 UTC (10:00 Europe/Berlin). After the retirement cutover, requests naming these IDs are expected to return 404 model_not_found. They will not redirect to Arrow 2.

arrow-1.0 is already rejected; it is not an accepted ID newly retiring at this cutoff.

Find affected callers

Inventory the model IDs, API keys, and SVG operations used by each application, background job, and deployment environment. Record the organization and project that own each key. This shows which generation, vectorization, editing, and animation callers still use a retiring ID or a key restricted to it.

Then call GET /v1/models with the key each integration will use:

curl https://api.quiver.ai/v1/models \
  -H "Authorization: Bearer $QUIVERAI_API_KEY"

Use arrow-2 for public SVG generation, vectorization, editing, and animation. Check that it appears and that supported_operations includes the operation each caller needs: svg_generate, svg_vectorize, svg_edit, or svg_animate. Listing models requires catalog_read. The catalog shows availability for the organization; the key must also authorize the model and operation. Arrow 2 Telos (arrow-2-telos) is an alternative only when it appears in the catalog, the key permits it, and it supports the required operation.

Native SVG endpoints remain supported. This retirement does not require a move to /v1/responses; if you choose that endpoint separately, confirm the model advertises open_responses and the key permits it.

Keep or replace the key

Check whether each key allows Arrow 2 and the operations its integration needs:

Existing key authority Migration action
Wildcard model access, with the required operation permitted Keep the key; migrate and test the requests.
Already allows arrow-2, with the required operation permitted Keep the key; migrate and test the requests.
Model allowlist excludes arrow-2, or the required operation is missing Create a replacement inference key with the needed model and operation permissions. Include catalog_read if it needs to list models.

Key authority is fixed at creation. Rotating the secret preserves that authority, so it cannot grant Arrow 2 access. If a replacement is needed, create a project inference key in API Platform API Keys for the intended organization, project, environment, and owner or service account. Organization admin keys cannot run inference. See API keys for scope and secret lifecycle details.

Update requests

For native SVG callers, keep the endpoint path and change the model field after checking the operation, key, and model-specific input limits. An Arrow 1.1 Max generation request can have 16 reference images; Arrow 2 accepts at most 14. Reduce any 15- or 16-image request to 14 or fewer before switching models, or it will return 400 invalid_request.

These examples show request bodies. Send them with Bearer authorization and Content-Type: application/json.

For POST /v1/svgs/generations, change:

{ "model": "arrow-1.1", "prompt": "A simple compass icon" }

to:

{ "model": "arrow-2", "prompt": "A simple compass icon" }

For POST /v1/svgs/vectorizations, change:

{ "model": "arrow-1.1", "image": { "url": "https://example.com/source.png" } }

to:

{ "model": "arrow-2", "image": { "url": "https://example.com/source.png" } }

Replace the example URL with your publicly accessible source image. The linked endpoint schemas cover other request fields. For editing and animation, use the API Reference for POST /v1/svgs/edits and POST /v1/svgs/animations, then change their model field once svg_edit or svg_animate is confirmed.

Arrow 1.1 uses fixed credits per completed SVG generation or successful vectorization. Arrow 2 uses measured token usage, so its cost depends on the request. Read current billing.rates from GET /v1/models and review API pricing before forecasting charges.

Roll out and verify

Store any new secret in a secrets manager, then update application and deployment configuration. Check organization funding before rolling out Arrow 2 to each consumer. A Test key returns mock responses without inference or charges, so verify the live behavior with a Production key. If you stream native SVGs, treat draft events as previews and content events as completed output. Revoke an old key only after all of its consumers have moved.

Before completing the rollout:

  • Send a Production request for each operation you use. Inspect the completed SVG, output handling, and usage or charge for the intended organization.
  • For a failed request, check the model ID, endpoint, required fields, reference-image count, and key permissions. After the cutoff, retired IDs return 404 model_not_found; unknown or non-visible models can do the same. A key that denies the model or operation returns 403 unauthorized.
  • Use Errors and debugging for streaming failures, request IDs, Logs, and support if a problem persists.

Was this page helpful?