# 01Router — Gateway API reference > A single REST API for image, video, audio and chat models across fal.ai, Replicate, WaveSpeedAI, KIE AI, APIMart, EvoLink, AtlasCloud, Vercel AI Gateway and OpenRouter. Base URL: https://01router.com/api/v1 Documentation: https://01router.com/docs Index: https://01router.com/docs/llms.txt?locale=en Full reference: https://01router.com/docs/llms-full.txt?locale=en Generation, task history, cancellation and chat require a key. Catalogs, prompts and quotes are public. Keep the API key on your server. Responses are illustrative. IDs, usage, prices and results depend on the actual request. - [Quickstart](https://01router.com/docs/llms-full.txt?locale=en§ion=quickstart): Choose a model, send a request, and retrieve your result. Start here for your first API call. - [Authentication](https://01router.com/docs/llms-full.txt?locale=en§ion=auth): Send your API key as a Bearer token. Requests are billed to the key owner's credits. - [Projects](https://01router.com/docs/llms-full.txt?locale=en§ion=projects): A project is the unit of integration: each one has its own API keys, model scope, providers and price ratio. Requests made with a project key apply that project's configuration automatically, and your frontend can fetch the priced model catalog by project ID. - [Sandbox](https://01router.com/docs/llms-full.txt?locale=en§ion=sandbox): The sandbox is a free copy of the API for integration testing. It takes the same requests and returns the same response and error formats as the live API, but answers with sample results: no model is called, no credits are charged and nothing is stored. Develop against the sandbox base URL, then switch to the live one for production. - [Create a generation](https://01router.com/docs/llms-full.txt?locale=en§ion=create): POST /api/v1/generations. Pass the model id, its unified input parameters and optionally a provider slug. The response returns immediately with the task id; image models on synchronous providers may already be succeeded. - [Get the result](https://01router.com/docs/llms-full.txt?locale=en§ion=poll): GET /api/v1/generations/{id}. Poll every few seconds until status is succeeded or failed. Output URLs are provider-hosted and may expire — download them promptly. Or pass callback_url to get the result pushed. - [List generations](https://01router.com/docs/llms-full.txt?locale=en§ion=list): GET /api/v1/generations. List your generations (page, pageSize) - [Cancel a task](https://01router.com/docs/llms-full.txt?locale=en§ion=cancel): POST /api/v1/generations/{id}/cancel. POST /generations/:id/cancel asks the provider to stop a running task. Once the provider confirms, the task ends as failed with error "Canceled by user" and its credits are refunded. Supported on fal (while still queued) and Replicate; other providers, or tasks already finished, answer 409 not_cancelable. - [OpenAI-compatible images](https://01router.com/docs/llms-full.txt?locale=en§ion=images): POST /api/v1/images/generations. POST /images/generations accepts the OpenAI images API, so the OpenAI SDKs, LobeChat, Cherry Studio, Dify and n8n can use every image model here. size maps to the closest aspect_ratio, n to num_images, and any model parameter can be passed as an extra field. It waits up to ~110s; a slower task returns 504 with its id to poll. - [Chat completions](https://01router.com/docs/llms-full.txt?locale=en§ion=chat): POST /api/v1/chat/completions. Chat models (GPT, Claude, Gemini, Grok, DeepSeek…) use the OpenAI Chat Completions format, so the official OpenAI SDKs work with base URL https://01router.com/api/v1. Set "stream": true for server-sent events. Credits for the prompt plus max_tokens (4,096 when unset) are held first, then settled to the real token usage once the reply ends; the same request id appears in the X-Gateway-Request-Id header and the task log. - [Quote](https://01router.com/docs/llms-full.txt?locale=en§ion=quote): POST /api/v1/quote. Same body as creating a generation. Returns every available provider sorted by price, plus the ones that cannot serve the request and why. - [List models](https://01router.com/docs/llms-full.txt?locale=en§ion=models): GET /api/v1/models. GET /api/v1/models returns platform models, parameters and prices. Add the project query parameter for a project catalog, and type=video|image|audio|chat to filter. - [Get one model](https://01router.com/docs/llms-full.txt?locale=en§ion=model-detail): GET /api/v1/models/{slug}. Model objects with slug, name, type, vendor, params and providers. Provider entries include their effective params and price tiers. - [Project model catalog](https://01router.com/docs/llms-full.txt?locale=en§ion=project-models): GET /api/v1/models. Use GET /api/v1/models?project={id} to read a project’s public model catalog, including its chosen providers and resale prices. Omit project for platform models; append &type=video or another type to filter. - [Prompt API](https://01router.com/docs/llms-full.txt?locale=en§ion=prompts): GET /api/v1/prompts. Public read-only endpoints: no API key or credits required. Browse published examples for active models using combined model, source and scene filters. - [Prompt details](https://01router.com/docs/llms-full.txt?locale=en§ion=prompt-detail): GET /api/v1/prompts/{id}. Replace with an id from the list. Returns a prompt object directly with object: "prompt" and the same fields as one data item, without a data wrapper. Only publicly visible records for the requested locale are returned. - [Callbacks](https://01router.com/docs/llms-full.txt?locale=en§ion=callback): Add callback_url (public https) and we POST the final generation object to it once the task succeeds or fails, retrying up to 5 times with backoff, so you don't need to poll. - [Provider routing](https://01router.com/docs/llms-full.txt?locale=en§ion=routing): Without provider we validate the input against every provider's supported values, price it, and submit to the cheapest one. If submission fails we refund and try the next provider (up to 3). With provider the request goes only there. - [Billing](https://01router.com/docs/llms-full.txt?locale=en§ion=billing): Credits are charged when the task is submitted, based on the chosen provider's price for your parameters (per second of video, per image or per request). Failed or timed-out tasks are refunded automatically. - [Audio models](https://01router.com/docs/llms-full.txt?locale=en§ion=audio): Music (Suno) and text-to-speech (Gemini TTS) models use the same /generations flow as images and video: create a task, then poll it. Outputs are audio file URLs. - [Errors](https://01router.com/docs/llms-full.txt?locale=en§ion=errors): Check the HTTP status and error.message. Some rate-limit responses use a message envelope and Retry-After. Error codes for a given status can vary by endpoint. ## Model reference - [Grok Imagine Video 1.5](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=grok-imagine-video-1.5): video; model=grok-imagine-video-1.5; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Seedance 2.5](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=seedance-2.5): video; model=seedance-2.5; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Grok Imagine Video 1.5 Lite](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=grok-imagine-video-1.5-lite): video; model=grok-imagine-video-1.5-lite; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [MiniMax H3 Max](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=minimax-h3-max): video; model=minimax-h3-max; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Seedance 2.0](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=seedance-2.0): video; model=seedance-2.0; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Seedance 2.0 Mini](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=seedance-2.0-mini): video; model=seedance-2.0-mini; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [MiniMax H3](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=minimax-h3): video; model=minimax-h3; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Wan 3.0](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=wan-3.0): video; model=wan-3.0; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Kling 3.0 Turbo](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=kling-3.0-turbo): video; model=kling-3.0-turbo; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Gemini Omni Flash 1.1](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gemini-omni-flash-1.1): video; model=gemini-omni-flash-1.1; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [HappyHorse 1.1](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=happyhorse-1.1): video; model=happyhorse-1.1; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [FLUX 3 Video](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=flux-3-video): video; model=flux-3-video; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [LTX-2.5 Fast](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=ltx-2.5-fast): video; model=ltx-2.5-fast; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Wan 2.7](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=wan-2.7): video; model=wan-2.7; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Veo 3.1](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=veo-3.1): video; model=veo-3.1; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [GPT Image 2.5 Flare](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-image-2.5-flare): image; model=gpt-image-2.5-flare; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [GPT Image 2.5 Sunburst](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-image-2.5-sunburst): image; model=gpt-image-2.5-sunburst; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Nano Banana 2.1](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=nano-banana-2.1): image; model=nano-banana-2.1; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Seedream 5.0 Pro](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=seedream-5.0-pro): image; model=seedream-5.0-pro; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Nano Banana 2](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=nano-banana-2): image; model=nano-banana-2; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Seedream 5.0 Flash](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=seedream-5.0-flash): image; model=seedream-5.0-flash; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Qwen Image 3.0](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=qwen-image-3.0): image; model=qwen-image-3.0; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Grok Imagine Image 2.0](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=grok-imagine-image-2.0): image; model=grok-imagine-image-2.0; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Nano Banana Pro](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=nano-banana-pro): image; model=nano-banana-pro; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [FLUX.2 Pro](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=flux-2-pro): image; model=flux-2-pro; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Ideogram 4.5](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=ideogram-4.5): image; model=ideogram-4.5; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Recraft V4](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=recraft-v4): image; model=recraft-v4; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Z-Image Turbo](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=z-image-turbo): image; model=z-image-turbo; POST /api/v1/generations, POST /api/v1/images/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [GPT-6 Astra](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-6-astra): chat; model=gpt-6-astra; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [GPT-6 Sol](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-6-sol): chat; model=gpt-6-sol; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [GPT-6 Luna](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-6-luna): chat; model=gpt-6-luna; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [GPT-5.6 Sol](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-5.6-sol): chat; model=gpt-5.6-sol; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [GPT-5.6 Terra](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-5.6-terra): chat; model=gpt-5.6-terra; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [GPT-5.6 Luna](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gpt-5.6-luna): chat; model=gpt-5.6-luna; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Claude Opus 5.5](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=claude-opus-5.5): chat; model=claude-opus-5.5; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Claude Sonnet 5.5](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=claude-sonnet-5.5): chat; model=claude-sonnet-5.5; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Gemini 4 Argon](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gemini-4-argon): chat; model=gemini-4-argon; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Gemini 3.8 Flash](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gemini-3.8-flash): chat; model=gemini-3.8-flash; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Grok 4.7](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=grok-4.7): chat; model=grok-4.7; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [DeepSeek V4.1 Flash](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=deepseek-v4.1-flash): chat; model=deepseek-v4.1-flash; POST /api/v1/chat/completions, GET /api/v1/models/{slug} - [Suno V6](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=suno-v6): audio; model=suno-v6; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [Gemini 3.8 Flash TTS](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=gemini-3.8-flash-tts): audio; model=gemini-3.8-flash-tts; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [ElevenLabs Eleven v4](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=elevenlabs-tts-v4): audio; model=elevenlabs-tts-v4; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug} - [ElevenLabs Eleven v4 Turbo](https://01router.com/docs/llms-full.txt?locale=en§ion=model&model=elevenlabs-tts-v4-turbo): audio; model=elevenlabs-tts-v4-turbo; POST /api/v1/generations, GET /api/v1/generations/{id}, POST /api/v1/generations/{id}/cancel, POST /api/v1/quote, GET /api/v1/models/{slug}