> ## Documentation Index
> Fetch the complete documentation index at: https://impossibl.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Choose an API

> Pick the request format for your application and understand which provider features the gateway supports.

The gateway translates supported request formats to the selected model's serving provider. Use the format your application already speaks, and choose a model that supports the task. Compatibility applies to the documented fields and endpoints, not every feature in a provider's SDK.

## Text and conversations

| Your client or request format | Base URL                       | Endpoint                                      | Required input                    |
| ----------------------------- | ------------------------------ | --------------------------------------------- | --------------------------------- |
| OpenAI Chat Completions       | `https://api.impossibl.com/v1` | `POST /v1/chat/completions`                   | `model`, `messages`               |
| OpenAI Responses              | `https://api.impossibl.com/v1` | `POST /v1/responses`                          | `model`, `input`                  |
| Anthropic Messages            | `https://api.impossibl.com`    | `POST /v1/messages`                           | `model`, `messages`, `max_tokens` |
| Gemini-native HTTP            | `https://api.impossibl.com`    | `POST /v1beta/models/{model}:generateContent` | Model in URL, `contents` in body  |

For Gemini-native streaming, use `:streamGenerateContent`. For the other text endpoints, set `stream: true`.

Use full creator-prefixed IDs such as `anthropic/claude-sonnet-4-5` across formats. Messages also accepts bare Anthropic IDs; Gemini-native accepts bare Google IDs. Those conveniences do not add models outside the catalog.

<Note>
  The OpenAI SDK appends the endpoint to a base URL ending in `/v1`. The Anthropic SDK appends `/v1/messages` itself, so its base URL must end at the hostname. See [SDK configuration](/docs/integrations).
</Note>

## Other inputs and outputs

| Task                      | Endpoint                                 | Guide                                       |
| ------------------------- | ---------------------------------------- | ------------------------------------------- |
| Understand images         | A text endpoint with image content parts | [Vision](/docs/vision)                           |
| Understand audio or video | A supported text endpoint and model      | [Audio and video input](/docs/audio-video)       |
| Generate images           | `POST /v1/images/generations`            | [Image generation](/docs/image-generation)       |
| Transcribe an audio file  | `POST /v1/audio/transcriptions`          | [Audio transcription](/docs/audio-transcription) |
| Generate speech           | `POST /v1/audio/speech`                  | [Text to speech](/docs/text-to-speech)           |
| Embed text                | `POST /v1/embeddings`                    | [Embeddings](/docs/embeddings)                   |
| Rank search results       | `POST /v1/rerank`                        | [Reranking](/docs/reranking)                     |
| Make a typed decision     | `POST /v1/systemone`                     | [Evaluation](/docs/evaluation)                   |

Use `output_modality`, `input_modalities`, and `endpoints` in [model discovery](/docs/models#discover-models-through-the-api). Sending an image-output model to Chat Completions does not generate an image; use its dedicated endpoint.

## Conversation state and tools

Keep conversation history in your application and resend the relevant turns with each request. The gateway's Responses endpoint does not implement stored-response retrieval or `previous_response_id` chaining. Do not rely on `store` to persist a conversation. Request logs are observability records, not conversation state.

[Function tools](/docs/tool-calling) are relayed to your application for execution. Tool schemas and result formats differ between Chat Completions, Responses, and Messages. Responses also supports provider-executed search for supported xAI models; see [provider-executed search](/docs/tool-calling#provider-executed-search).

## Parameters and portability

* [Reasoning controls](/docs/reasoning) translate to the selected model's supported controls. Their effect varies by model.
* [Prompt caching](/docs/prompt-caching) depends on the provider and prefix. A cacheable request is not a guaranteed hit.
* Models may reject sampling settings such as `temperature` or unsupported tool and input types. Test the exact model and request you intend to ship.
* Do not assume OpenAI `response_format` or Responses `text.format` provides structured-output enforcement here; those controls are not part of the documented gateway contract. Validate generated data in your application.
* Gateway-specific routing parameters from other services are not portable. Follow [routing and failover](/docs/routing) for this gateway's behavior.

## Endpoints outside this API

Assistants, batches, fine-tuning, Files API storage, and realtime sessions are not implemented. Video input means understanding a video; it does not provide video generation.

The **API Reference** tab contains the supported request schemas. If an SDK helper depends on a provider-specific endpoint or field outside that reference, test it explicitly before migrating it.
