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

# API Introduction

> Unified API for accessing 150+ AI models through a single interface

## Welcome to [Concentrate AI](https://concentrate.ai/?utm_source=dedo)

The Concentrate AI Responses API provides a unified interface for interacting with multiple AI model providers. Access GPT 5.6, Claude Opus 5, Claude Fable 5, Gemini 3.1 Pro, Grok 4.20, and many other models through a single, normalized API with automatic routing and credit tracking.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/docs/getting-started/quickstart">
    Get started with your first API request in minutes
  </Card>

  <Card title="API Reference" icon="code" href="/docs/api-reference/endpoint/create-response">
    View detailed endpoint documentation
  </Card>

  <Card title="Claude Code Setup" icon="terminal" href="/docs/integrations/claude-code">
    Use Claude Code with any model in our [catalog](https://concentrate.ai/models)
  </Card>

  <Card title="Zero Data Retention" icon="shield-check" href="/docs/api-reference/endpoint/zero-data-retention">
    Route requests only through ZDR-certified providers
  </Card>
</CardGroup>

## Key Features

<AccordionGroup>
  <Accordion title="Unified Interface" icon="layer-group">
    One API format works across all providers. No need to learn different request/response formats for OpenAI, Anthropic, Google, or other providers.
  </Accordion>

  <Accordion title="Automatic Routing" icon="route">
    Use `model: "auto"` to route requests to a curated pool of high-capability models (temporary; see [Auto routing](/docs/api-reference/endpoint/auto-routing)). Provider selection is intelligently routed based on real-time metrics like cost, performance, or latency.
  </Accordion>

  <Accordion title="Multi-Provider Support" icon="server">
    Access models from OpenAI, Anthropic, Google Vertex, Google AI Studio, AWS Bedrock, Azure, Azure AI Foundry, xAI, Cohere, Mistral, Alibaba Cloud, Cloudflare, z.ai, MiniMax, DeepSeek, DeepInfra, Novita, Blue Lobster, and Concentrate through a single endpoint.
  </Accordion>

  <Accordion title="Streaming Responses" icon="water">
    Enable real-time streaming via Server-Sent Events (SSE) for a responsive user experience. Works consistently across all providers.
  </Accordion>

  <Accordion title="Credit Tracking" icon="credit-card">
    Built-in usage tracking and billing integration. Monitor token usage, costs, and set spending limits.
  </Accordion>
</AccordionGroup>

## Authentication

All API requests require authentication using an API key. Get your API key from the [Concentrate.ai dashboard](https://concentrate.ai).

Include your API key in the `Authorization` header:

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

<Warning>
  Keep your API key secure. Never share it publicly or commit it to version control.
</Warning>

## Base URL

```text theme={null}
https://api.concentrate.ai/v1
```

## Supported Models

The API supports **168 models** from **21 authors** across **21 providers**. Model IDs below are the exact values to pass in the `model` field.

<Tabs>
  <Tab title="OpenAI">
    **26 models**

    * `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`
    * `gpt-5.5`, `gpt-5.4-pro`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`
    * `gpt-5.3-codex`
    * `gpt-5.2`, `gpt-5.1`, `gpt-5`, `gpt-5-mini`, `gpt-5-nano`
    * `gpt-4.1`, `gpt-4.1-mini`, `gpt-4o`, `gpt-4o-mini`
    * `o1`, `o3`, `o3-mini`, `o4-mini`
    * `gpt-oss-120b`, `gpt-oss-20b`, `gpt-oss-safeguard-120b`, `gpt-oss-safeguard-20b`
  </Tab>

  <Tab title="Anthropic">
    **12 models**

    * `claude-fable-5`
    * `claude-opus-5`, `claude-opus-4-8`, `claude-opus-4-7`, `claude-opus-4-6`, `claude-opus-4-5`, `claude-opus-4-1`
    * `claude-sonnet-5`, `claude-sonnet-4-6`, `claude-sonnet-4-5`, `claude-sonnet-4`
    * `claude-haiku-4-5`
  </Tab>

  <Tab title="Google">
    **14 models**

    * `gemini-3.6-flash`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`
    * `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3-flash-preview`
    * `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite`
    * `gemma-4-31b`, `gemma-4-26b`, `gemma-3-27b`, `gemma-3-12b`, `gemma-3-4b`
  </Tab>

  <Tab title="xAI">
    **7 models**

    * `grok-4.5`, `grok-4.3`
    * `grok-4.20-multi-agent-0309`, `grok-4.20-0309-reasoning`, `grok-4.20-non-reasoning`
    * `grok-3-mini`
    * `grok-build-0.1`
  </Tab>

  <Tab title="Meta">
    **8 models**

    * `llama-4-maverick`, `llama-4-scout`
    * `llama-3.3-70b-instruct`, `llama-3.2-1b-instruct`
    * `llama-3.1-70b-instruct`, `llama-3.1-8b-instruct`
    * `llama-3-70b-instruct`, `llama-3-8b-instruct`
  </Tab>

  <Tab title="Mistral">
    **12 models**

    * `mistral-large-3`, `mistral-medium-3.1`, `mistral-medium-3`
    * `magistral-medium-1.2`, `magistral-small-1.2`
    * `codestral`, `devstral-2`
    * `mistral-small-3.2`, `mistral-small-3.1`
    * `ministral-3-14b`, `ministral-3-8b`, `ministral-3-3b`
  </Tab>

  <Tab title="Alibaba">
    **26 models**

    * `qwen3.8-max`, `qwen3.7-max`, `qwen3.7-plus`, `qwen3.7-flash`
    * `qwen3.6-plus`, `qwen3.6-flash`, `qwen3.6-35b`
    * `qwen3.5-plus`, `qwen3.5-flash`, `qwen3.5-397b-a17b`, `qwen3.5-122b-a10b`, `qwen3.5-35b-a3b`
    * `qwen3-max`, `qwen3-coder-plus`, `qwen3-coder-flash`, `qwen3-coder-next`, `qwen3-coder-30b-a3b`
    * `qwen3-next-80b-a3b`, `qwen3-32b`, `qwen3-30b`
    * `qwen3-vl-235b-a22b`, `qwen3-vl-plus`, `qwen3-vl-flash`
    * `qwq-32b`, `qwen-plus`, `qwen-flash`
  </Tab>

  <Tab title="Others">
    * **DeepSeek** (6): `deepseek-v4-pro`, `deepseek-v4-flash`, `deepseek-v3-2`, `deepseek-r1`, `deepseek-r1-0528`, `deepseek-r1-distill-32b`
    * **z.ai** (9): `glm-5.2`, `glm-5.1`, `glm-5`, `glm-4.7`, `glm-4.7-flash`, `glm-4.6`, `glm-4.6v`, `glm-4.5`, `glm-4.5v`
    * **MiniMax** (8): `minimax-m3`, `minimax-m2-7`, `minimax-m2-7-highspeed`, `minimax-m2-5`, `minimax-m2-5-highspeed`, `minimax-m2-1`, `minimax-m2-1-highspeed`, `minimax-m2`
    * **Moonshot AI** (5): `kimi-k3`, `kimi-k2-7-code`, `kimi-k2-6`, `kimi-k2-5`, `kimi-k2-thinking`
    * **Amazon** (5): `nova-2-lite`, `nova-premier`, `nova-pro`, `nova-lite`, `nova-micro`
    * **NVIDIA** (3): `nemotron-3-120b`, `nemotron-3-nano-omni`, `nemotron-3-ultra-nvfp4`
    * **Cohere** (2): `command-a`, `command-a-vision`
    * **Writer** (2): `palmyra-x5`, `palmyra-x4`
    * **AI21 Labs** (2): `jamba-1-5-large`, `jamba-1-5-mini`
    * **Xiaomi** (2): `mimo-v2.5`, `mimo-v2.5-pro`
    * **StepFun AI** (2): `step-3-5-flash`, `step-3-7-flash`
    * **IBM** (1): `ibm-granite-micro`
    * **Tencent** (1): `hy3`
    * **Concentrate** (1): `redact-v1`
  </Tab>
</Tabs>

<Info>
  Check the [**models page**](https://concentrate.ai/models) for complete listings, live pricing, and per-provider availability. You can also query [`/v1/models`](/docs/api-reference/endpoint/list-models) for real-time data, or see the full catalog on the [Supported Models](/docs/api-reference/endpoint/supported-models) page.
</Info>

## Zero Data Retention (ZDR)

ZDR is a property of a specific model-and-provider pair. A model supports ZDR only when at least one of its providers is ZDR-certified for that model. To route a request through a ZDR-certified provider, prefix the model ID with the provider slug (for example, `bedrock/llama-3.3-70b-instruct`), or enable ZDR on the API key to have routing restricted automatically.

**104 models** currently have at least one ZDR-certified provider. The ZDR provider slugs are `anthropic`, `azure`, `azure-fw`, `bedrock`, `deepinfra`, `fireworks`, `novita`, `openai`, and `vertex`.

See [Zero Data Retention & Logging](/docs/api-reference/endpoint/zero-data-retention) for the full per-model list and dashboard configuration.

## Model Selection

You can specify models in three ways:

1. **Model name only**: `"gpt-5.6-sol"` - Automatic provider routing
2. **Provider prefix**: `"openai/gpt-5.6-sol"` - Specific provider
3. **Auto routing**: `"auto"` - Currently selects from a curated pool of models (temporary; see [Auto routing](/docs/api-reference/endpoint/auto-routing))

<CodeGroup>
  ```json Model Name theme={null}
  {
    "model": "gpt-5.6-sol",
    "input": "Hello, world!"
  }
  ```

  ```json Provider Prefix theme={null}
  {
    "model": "anthropic/claude-opus-4-8",
    "input": "Hello, world!"
  }
  ```

  ```json Auto Routing theme={null}
  {
    "model": "auto",
    "input": "Hello, world!",
    "routing": {
      "provider": { "sort": "cost" }
    }
  }
  ```
</CodeGroup>

## Quick Example

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.concentrate.ai/v1/responses \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d '{
      "model": "gpt-5.6-sol",
      "input": "What is the capital of France?"
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.concentrate.ai/v1/responses",
      headers={
          "Authorization": "Bearer YOUR_API_KEY",
          "Content-Type": "application/json"
      },
      json={
          "model": "gpt-5.6-sol",
          "input": "What is the capital of France?"
      }
  )

  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.concentrate.ai/v1/responses", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "gpt-5.6-sol",
      input: "What is the capital of France?"
    })
  });

  const data = await response.json();
  console.log(data);
  ```

  ```typescript TypeScript theme={null}
  interface ResponseRequest {
    model: string;
    input: string | Array<{role: string; content: string}>;
    stream?: boolean;
    temperature?: number;
    max_output_tokens?: number;
  }

  const response = await fetch("https://api.concentrate.ai/v1/responses", {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "gpt-5.6-sol",
      input: "What is the capital of France?"
    } as ResponseRequest)
  });

  const data = await response.json();
  console.log(data);
  ```
</CodeGroup>

## Response Format

All responses follow a normalized format regardless of provider:

```json theme={null}
{
  "id": "resp_abc123",
  "created_at": 1702934400,
  "status": "completed",
  "model": "openai/gpt-5.6-sol",
  "output": [
    {
      "type": "message",
      "id": "msg_xyz789",
      "status": "completed",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "The capital of France is Paris."
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 8,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 20
  }
}
```

## Error Handling

The API uses standard HTTP status codes:

| Status Code | Description |
| - | - |
| `200` | Successful request |
| `400` | Bad request - Invalid parameters |
| `401` | Unauthorized - Invalid API key |
| `402` | Payment required - Insufficient credits |
| `424` | Failed dependency - Provider unavailable |
| `429` | Too many requests - Rate limit exceeded |
| `500` | Internal server error |
| `503` | Service unavailable - Temporarily unable to serve the request |
| `504` | Gateway timeout - Upstream provider did not respond in time |

<Card title="View Error Examples" icon="triangle-exclamation" href="/docs/api-reference/endpoint/errors">
  See detailed error response formats and troubleshooting
</Card>

## Rate Limits

Rate limits are applied per API key and are based on your subscription tier. Limits are enforced on per-minute windows.

<Info>
  Contact support to increase your rate limits or discuss enterprise pricing.
</Info>

## Next Steps

<CardGroup cols={2}>
  <Card title="Quickstart Guide" icon="play" href="/docs/getting-started/quickstart">
    Make your first API call
  </Card>

  <Card title="Create Response" icon="message" href="/docs/api-reference/endpoint/create-response">
    Full endpoint documentation
  </Card>

  <Card title="Streaming" icon="water" href="/docs/api-reference/endpoint/streaming">
    Learn about streaming responses
  </Card>

  <Card title="Auto Routing" icon="route" href="/docs/api-reference/endpoint/auto-routing">
    Automatic model selection
  </Card>
</CardGroup>
