Skip to content

AI Models

Browse available AI models and their capabilities. Currently, only Google Gemini models are active and available to users.

Endpoints

MethodPathDescriptionAuthRate Limit
GET/ai/modelsList available modelsJWT + Entitlement60/min
GET/ai/models/:idGet model detailsJWT + Entitlement60/min

Active Models

8 Gemini models are currently available:

ModelInput Cost/1K TokensOutput Cost/1K Tokens
gemini-2.5-pro$0.00125$0.01000
gemini-2.5-flash$0.00030$0.00250
gemini-2.5-flash-lite$0.00010$0.00040
gemini-2.0-flash$0.00010$0.00040
gemini-3-pro-preview$0.00200$0.01200
gemini-3-flash-preview$0.00050$0.00300
gemini-3.1-pro-preview$0.00200$0.01200
gemini-3.1-flash-lite-preview$0.00025$0.00150

Switching between models requires a Bitter+ tier subscription or higher.


GET /ai/models

List all available AI models.

Authentication: JWT Bearer token + active AI entitlement required. Rate limit: 60/min

Request

Query Parameters

ParameterTypeRequiredDescription
namestringNoFilter by model name
providerstringNoFilter by provider (e.g. google)
isActivebooleanNoFilter by active status
minCostPer1kTokensnumberNoMinimum cost filter
maxCostPer1kTokensnumberNoMaximum cost filter
limitnumberNoItems per page
offsetnumberNoPagination offset

Response

Response Example

json
{
  "data": [
    {
      "modelKey": "gemini-2.5-pro",
      "name": "Gemini 2.5 Pro",
      "provider": "google",
      "capabilities": ["chat", "analysis", "reasoning", "vision"],
      "costPer1kTokens": 0.00125,
      "active": true
    },
    {
      "modelKey": "gemini-2.5-flash",
      "name": "Gemini 2.5 Flash",
      "provider": "google",
      "capabilities": ["chat", "analysis", "reasoning"],
      "costPer1kTokens": 0.00030,
      "active": true
    },
    {
      "modelKey": "gemini-2.5-flash-lite",
      "name": "Gemini 2.5 Flash Lite",
      "provider": "google",
      "capabilities": ["chat", "summarization"],
      "costPer1kTokens": 0.00010,
      "active": true
    },
    {
      "modelKey": "gemini-2.0-flash",
      "name": "Gemini 2.0 Flash",
      "provider": "google",
      "capabilities": ["chat", "summarization"],
      "costPer1kTokens": 0.00010,
      "active": true
    },
    {
      "modelKey": "gemini-3-pro-preview",
      "name": "Gemini 3 Pro (Preview)",
      "provider": "google",
      "capabilities": ["chat", "analysis", "reasoning", "vision"],
      "costPer1kTokens": 0.00200,
      "active": true
    },
    {
      "modelKey": "gemini-3-flash-preview",
      "name": "Gemini 3 Flash (Preview)",
      "provider": "google",
      "capabilities": ["chat", "analysis", "reasoning"],
      "costPer1kTokens": 0.00050,
      "active": true
    },
    {
      "modelKey": "gemini-3.1-pro-preview",
      "name": "Gemini 3.1 Pro (Preview)",
      "provider": "google",
      "capabilities": ["chat", "analysis", "reasoning", "vision"],
      "costPer1kTokens": 0.00200,
      "active": true
    },
    {
      "modelKey": "gemini-3.1-flash-lite-preview",
      "name": "Gemini 3.1 Flash Lite (Preview)",
      "provider": "google",
      "capabilities": ["chat", "summarization"],
      "costPer1kTokens": 0.00025,
      "active": true
    }
  ],
  "meta": {
    "total": 8,
    "limit": 20,
    "offset": 0
  }
}

Response Fields

FieldTypeDescription
modelKeystringMachine-readable model key
namestringDisplay name
providerstringProvider name
capabilitiesstring[]Supported capabilities
costPer1kTokensnumberCost in USD per 1,000 input tokens
activebooleanWhether the model is currently available

Code Examples

bash
curl https://api.chainabit.com/api/v1/ai/models \
  -H "Authorization: Bearer $TOKEN"
javascript
const res = await fetch(`${BASE_URL}/ai/models`, {
  headers: { Authorization: `Bearer ${TOKEN}` },
});
const { data } = await res.json();
python
import requests

res = requests.get(
    f"{BASE_URL}/ai/models",
    headers={"Authorization": f"Bearer {TOKEN}"},
)
data = res.json()["data"]

GET /ai/models/:id

Get detailed information about a specific model, including pricing.

Authentication: JWT Bearer token + active AI entitlement required. Rate limit: 60/min

Request

Path params: id — from a GET /ai/models response's data[].id. No query parameters.

Response

Response Example

json
{
  "data": {
    "id": "cm8model01",
    "modelKey": "gemini-2.5-pro",
    "name": "Gemini 2.5 Pro",
    "provider": "google",
    "capabilities": ["chat", "analysis", "reasoning", "vision"],
    "maxTokens": 8192,
    "contextWindow": 1048576,
    "costPerInputToken": 0.00000125,
    "costPerOutputToken": 0.00001000,
    "active": true,
    "createdAt": "2026-03-01T00:00:00.000Z"
  }
}

Response Fields

FieldTypeDescription
idstringModel ID
modelKeystringMachine-readable model key
namestringModel name
providerstringUnderlying provider
capabilitiesstring[]Supported capabilities
maxTokensnumberMaximum output tokens
contextWindownumberContext window size in tokens
costPerInputTokennumberCost per input token (USD)
costPerOutputTokennumberCost per output token (USD)
activebooleanWhether the model is currently available
createdAtstringISO 8601

Code Examples

bash
curl https://api.chainabit.com/api/v1/ai/models/<model-id> \
  -H "Authorization: Bearer $TOKEN"
javascript
const res = await fetch(`${BASE_URL}/ai/models/${modelId}`, {
  headers: { Authorization: `Bearer ${TOKEN}` },
});
const { data } = await res.json();
python
import requests

res = requests.get(
    f"{BASE_URL}/ai/models/{model_id}",
    headers={"Authorization": f"Bearer {TOKEN}"},
)
data = res.json()["data"]

Notes

  • Only active models are returned by default. Pass isActive=false to include inactive models (none currently exposed to users).
  • Model switching between different capability tiers requires a Bitter+ subscription or higher.
  • AI operations consume credits from your wallet. Credit costs are derived from the model's USD pricing with a platform margin applied.
  • Preview models (*-preview) may be updated or replaced without notice.

Built with purpose.