Документація

Smart AIPI надає API, сумісні і з OpenAI, і з Anthropic. Використовуйте наш сервіс із будь-яким наявним OpenAI або Anthropic SDK, інструментом чи застосунком, просто змінивши base URL. Жодних змін у коді не потрібно.

OpenAI Base URL

https://api.smartaipi.com/v1

Anthropic Base URL

https://api.smartaipi.com

CLI та MCP інструменти

Smart AIPI надає два npm пакети, щоб допомогти розробникам працювати зі своїми акаунтами:

smart-aipi — CLI інструмент для програмного керування вашим акаунтом, API keys і використанням із термінала.
@smart-aipi/mcp — MCP server, який дає AI агентам прямий доступ до вашого акаунта Smart AIPI.

Встановити обидва

Термінал
npm install -g smart-aipi @smart-aipi/mcp

Встановити окремо

Лише CLI
npm install -g smart-aipi
Лише MCP
npm install -g @smart-aipi/mcp

Автентифікація

Усі API запити потребують API key. Той самий ключ працює з обома методами автентифікації:

Стиль OpenAI (заголовок Authorization)
Authorization: Bearer YOUR_API_KEY
Стиль Anthropic (заголовок x-api-key)
x-api-key: YOUR_API_KEY

Гайд з міграції

Міграція займає менше хвилини. Наш API на 100% сумісний і з endpoint OpenAI, і з endpoint Anthropic.

З OpenAI

1

Отримайте свій API key Smart AIPI

Зареєструйтеся й створіть API key у своєму dashboard.

2

Змініть base URL

Замініть https://api.openai.com/v1 на https://api.smartaipi.com/v1

3

Оновіть свій API key

Використовуйте свій ключ Smart AIPI замість ключа OpenAI. І це все!

З Anthropic

1

Отримайте свій API key Smart AIPI

Зареєструйтеся й створіть API key у своєму dashboard.

2

Змініть base URL

Замініть https://api.anthropic.com на https://api.smartaipi.com

3

Оновіть свій API key

Використовуйте свій ключ Smart AIPI замість ключа Anthropic. Ваші наявні назви моделей Claude працюють без змін.

Ваш наявний код, SDK і застосунки, що використовують Anthropic Messages API, працюватимуть без жодних змін у коді. Назви моделей Claude (claude-opus-4-6, claude-sonnet-4-5-20250929, claude-haiku-4-5-20251001) автоматично маршрутизуються на високопродуктивні моделі GPT-5.4. Кожна відповідь містить x-actual-model header, який показує реальну backend модель для повної прозорості.

Chat Completions

Створіть chat completion для переданих повідомлень і моделі. Це основний endpoint для взаємодії з мовними моделями.

POST /v1/chat/completions

Параметри тіла запиту

Параметр Тип Обов’язково Опис
model string Так ID моделі для використання (наприклад, "gpt-6-astra", "gpt-5.6-sol")
messages масив Так Масив об’єктів повідомлень із role і content
temperature number Ні Температура sampling (0-2). Вище = більш випадково. Типово: 1
max_tokens integer Ні Максимальна кількість tokens для генерації у відповіді
top_p number Ні Nucleus sampling. Враховувати tokens з імовірністю top_p. Типово: 1
frequency_penalty number Ні Штрафувати tokens залежно від частоти (-2 до 2). Типово: 0
presence_penalty number Ні Штрафувати tokens залежно від присутності (-2 до 2). Типово: 0
stop string/array Ні Stop-послідовності. До 4 послідовностей, на яких генерація зупиняється.
stream boolean Ні Увімкнути streaming відповідей через SSE. Типово: false

Ролі повідомлень

  • system - system - Визначає поведінку/персону асистента
  • user - user - Повідомлення від користувача
  • assistant - assistant - Попередні відповіді від асистента

Приклади коду

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ],
    temperature=0.7,
    max_tokens=1000
)

print(response.choices[0].message.content)

Streaming

Увімкніть streaming, щоб отримувати tokens у міру їх генерації через Server-Sent Events (SSE). Це забезпечує кращий користувацький досвід для довгих відповідей.

Встановіть "stream": true у своєму запиті, щоб увімкнути streaming.

Приклад streaming

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# Enable streaming
stream = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Write a poem"}],
    stream=True
)

# Process chunks as they arrive
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

Зусилля reasoning

Керуйте глибиною reasoning за допомогою параметра reasoning_effort для моделей GPT-5.

Smart AIPI за замовчуванням використовує reasoning.effort = "high" для всіх запитів Responses API.

Після великої кількості тестів ми з’ясували, що high є найкращим reasoning effort для практичного використання — він забезпечує глибоке, надійне використання tool та аналіз без витрат на затримку, як у xhigh. Ви можете перевизначити це, явно вказавши reasoning effort у своєму запиті.

Smart AIPI за замовчуванням встановлює store = false для всіх запитів Responses API і WebSocket.

Upstream API вимагає store: false для GPT-5.4 і новіших моделей. Якщо ви явно встановите store: true у своїх запитах, ви отримаєте помилку "Store must be set to false". Видаліть це або встановіть false.

Підтримувані моделі

API Responses

gpt-5.4, gpt-5.3, gpt-5.1, gpt-5 та всі варіанти Codex

Лише Chat Completions

gpt-5.4-nano — підтримка reasoning доступна лише на /v1/chat/completions .

Рівні Reasoning Effort

  • none - Без reasoning. Повністю пропускає thinking.
  • low - Мінімальне reasoning. Чудово для простих задач.
  • medium - Баланс швидкості та глибини.
  • high - Глибокий аналіз для складних проблем. (Типово в Smart AIPI)
  • xhigh - Дуже високий. Максимальна глибина reasoning для найскладніших проблем.

Fast Mode (пріоритетна обробка)

Використовуйте service_tier: "priority" для пріоритетної обробки з меншою затримкою. Саме це використовує команда /fast у Codex CLI. Це не змінює глибину reasoning — ви отримуєте ту саму якість, але швидше.

Ціна: Пріоритетна обробка тарифікується за ставкою 1.5x від стандартної. Наприклад, вихід GPT-5.4 зазвичай коштує $3.75/1M tokens — із пріоритетом це $5.625/1M tokens.

response = client.responses.create(
    model="gpt-6-astra",
    input="Refactor this function",
    service_tier="priority"              # priority processing, lower latency
)

API Chat Completions

response = client.chat.completions.create(
    model="gpt-6-astra",
    messages=[{"role": "user", "content": "Analyze this code for bugs..."}],
    reasoning_effort="high"  # or "xhigh" for maximum depth
)

API Responses

# Reasoning is set via the "reasoning" object
response = client.responses.create(
    model="gpt-6-astra",
    input=[{"role": "user", "content": "Refactor this function..."}],
    reasoning={"effort": "high"}  # defaults to "high" on Smart AIPI
)

Генерація зображень

Генеруйте зображення з текстових prompts через наш endpoint генерації зображень.

Поточні обмеження: Варіації зображень ( /v1/images/variations ) ще не підтримуються. Редагування зображень доступне через /v1/images/edits.
POST /v1/images/generations
Новинка: gpt-image-2.5-flare і gpt-image-2.5-sunburst уже доступні. Новітні моделі зображень OpenAI вже доступні: вища якість, ніж у gpt-image-2, за до 50% меншої затримки (flare), а також точніший багатокроковий контроль редагування для креативних робіт у продакшені (sunburst). Тарифи на токени не змінилися порівняно з gpt-image-2, тож ціни тут ідентичні — оновлення не коштує нічого додатково. Обидві моделі підтримують генерацію, редагування та домальовування за маскою за 50% від прямої ціни OpenAI. Прочитати допис про реліз.

Параметри тіла запиту

Параметр Тип Опис
prompt string Текстовий опис зображення для генерації (обов’язково)
model string "gpt-image-2.5-flare" (frontier), "gpt-image-2.5-sunburst" або "gpt-image-2". Типово: "gpt-image-2.5-flare"
n integer Кількість зображень для генерації (1-10). Типово: 1
size string "1024x1024", "1024x1792" або "1792x1024". Типово: "1024x1024"
quality string "standard" або "hd". Типово: "standard"

Доступні моделі

  • gpt-image-2.5-flare - Frontier модель, найвища якість (типово)
  • gpt-image-2.5-sunburst - Точне редагування та преміальні креативні роботи (повільніша генерація)
  • gpt-image-latest - Аліас для gpt-image-2.5-flare
  • gpt-image-2 - Флагман попереднього покоління
  • gpt-image-1.5 - Старіший флагман (підтримує прозорі фони)
  • gpt-image-1 - Генерація зображень повної якості
  • gpt-image-1-mini - Швидше, менші зображення

Приклад

response = client.images.generate(
    model="gpt-image-2.5-flare",
    prompt="A futuristic city at sunset, cyberpunk style",
    size="1024x1024",
    n=1
)

# Response contains base64-encoded image
image_b64 = response.data[0].b64_json

# Save to file
import base64
with open("output.png", "wb") as f:
    f.write(base64.b64decode(image_b64))

Редагування зображень

Редагуйте наявні зображення за допомогою текстового prompt. Підтримуються і JSON (рядок base64), і multipart/form-data (завантаження файлу), тож OpenAI SDK працюють одразу.

Примітка: Підтримується лише редагування одного зображення. Вхід із кількома зображеннями та поля mask наразі недоступні.
POST /v1/images/edits

Параметри тіла запиту

Параметр Тип Опис
prompt string Текстовий опис бажаного редагування (обов’язково)
image string Зображення в base64 для редагування (обов’язково)
model string "gpt-image-2.5-flare" (типово), "gpt-image-2.5-sunburst" або "gpt-image-2"
n integer Кількість відредагованих зображень для генерації (1-10). Типово: 1
size string "1024x1024", "1024x1792" або "1792x1024". Типово: "1024x1024"
quality string "low", "medium", "high" або "auto". За замовчуванням: "medium"
Multi-reference edits and mask inpainting are supported. Pass image as an array of base64 strings (JSON) or as repeated image / image[] parts (multipart). Add a mask field alongside image to restrict edits to specific regions (white = edit, black = preserve). Works identically to the official OpenAI SDK.

Приклад

import base64

response = client.images.edit(
    model="gpt-image-2.5-flare",
    image=open("input.png", "rb"),
    prompt="Change the background to a sunset beach",
    size="1024x1024",
    n=1
)

# Save the edited image
edited_b64 = response.data[0].b64_json
with open("edited.png", "wb") as f:
    f.write(base64.b64decode(edited_b64))

Realtime API з WebSocket

WebSockets — це широко підтримуваний API для передачі даних у realtime і чудовий вибір для підключення до Smart AIPI Realtime API у server-to-server застосунках.

У server-to-server інтеграції ваша backend система підключається через WebSocket безпосередньо до Realtime API. Використовуйте стандартний API key для автентифікації з’єднання, оскільки token доступний лише на вашому захищеному backend сервері.

WSS wss://api.smartaipi.com/v1/responses

Підключення через WebSocket

Нижче наведено кілька прикладів підключення через WebSocket. Окрім використання WebSocket URL, вам потрібно передати заголовок автентифікації з вашим API key.

import WebSocket from "ws";

const url = "wss://api.smartaipi.com/v1/responses";
const ws = new WebSocket(url, {
  headers: {
    Authorization: "Bearer " + process.env.SMARTAIPI_API_KEY,
  },
});

ws.on("open", function open() {
  console.log("Connected to server.");

  // Send a response.create event
  ws.send(JSON.stringify({
    type: "response.create",
    response: {

      model: "gpt-6-astra",
      store: false,
      input: [{ role: "user", content: "Hello!" }],
      stream: true,
    },
  }));
});

ws.on("message", function incoming(message) {
  const event = JSON.parse(message.toString());
  console.log(event.type, event);
});

Надсилання й отримання подій

Сесіями керують через JSON events, надіслані клієнтом і сервером, поверх WebSocket-з’єднання. Загорніть свій запит у response.create envelope:

Подія Напрямок Опис
response.create Клієнт Надішліть запит (обгортає вашу модель, input і параметри)
response.created Сервер Сесію прийнято, обробку розпочато
response.output_text.delta Сервер Потоковий текстовий фрагмент
response.completed Сервер Фінальна подія з повною відповіддю та usage
response.failed Сервер Фінальна подія, що вказує на помилку
Важливо: WebSocket запити мають містити "store": false у response envelope. З’єднання зберігається між кількома ходами — надсилайте додаткові response.create frames без повторного підключення.

Список моделей

Отримайте список усіх доступних моделей. Використовуйте цей endpoint, щоб динамічно визначати, які моделі доступні для вашого акаунта.

GET /v1/models

Формат відповіді

{
    "object": "list",
    "data": [
        {
            "id": "gpt-6-astra",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        {
            "id": "gpt-5.3-codex",
            "object": "model",
            "created": 1700000000,
            "owned_by": "smart-aipi"
        },
        // ... more models
    ]
}

Приклад

from openai import OpenAI

client = OpenAI(
    base_url="https://api.smartaipi.com/v1",
    api_key="your-api-key"
)

# List all available models
models = client.models.list()

for model in models.data:
    print(model.id)

Доступні моделі

Серія GPT

  • gpt-6-astra Останнє
  • 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 лише completions

Серія Codex

  • gpt-5.3-codex
  • gpt-5.2-codex
  • gpt-5.2
  • gpt-5.1

Anthropic Messages API

Повна сумісність з Anthropic Messages API. Використовуйте будь-який Anthropic SDK, Claude Code або застосунок, що працює за Anthropic protocol — просто змініть base URL.

POST /v1/messages

Підтримувані можливості

  • Streaming (повний Anthropic SSE event protocol)
  • Використання tool / function calling
  • System messages (формати string та array)
  • Вхідні зображення (base64 та URL)
  • Підрахунок token (/v1/messages/count_tokens)
  • Розширене thinking / reasoning effort

Приклади коду

from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.smartaipi.com",
    api_key="your-api-key"
)

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.content[0].text)

Мапінг моделей

Назви моделей Claude приймаються й автоматично маршрутизуються до GPT-5.4 із tiered reasoning effort. Кожна відповідь містить x-actual-model header, який показує реальну backend модель.

Модель Claude Бекенд Міркування Найкраще для
claude-opus-4-6 gpt-5.4 Високий Складне reasoning, архітектура
claude-sonnet-4-5-20250929 gpt-5.4 Середній Щоденне програмування, збалансована якість
claude-haiku-4-5-20251001 gpt-5.4 Низький Швидкі відповіді, прості завдання

Claude Code

Використовуйте Claude Code зі Smart AIPI як backend. Підтримуються повне використання tool, streaming і agentic capabilities.

Автоматичне налаштування

Одна команда
npx smart-aipi claude

Це автоматично налаштовує ~/.claude/settings.json і ~/.claude.json Якщо у вас уже налаштовано Claude Code з акаунтом Anthropic, вам буде показано ручну конфігурацію замість перезапису.

Ручне налаштування

Додайте в ~/.claude/settings.json:

~/.claude/settings.json
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.smartaipi.com",
    "ANTHROPIC_API_KEY": "sk-your-key",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-haiku-4-5-20251001"
  },
  "model": "opus"
}

Потім додайте "hasCompletedOnboarding": true до ~/.claude.json щоб пропустити майстер налаштування.

Після редагування налаштувань перезапустіть Claude Code, щоб зміни набули чинності. Якщо у вас уже є Claude Code, підключений до реального акаунта Anthropic, встановлення цих env vars перезапише це підключення — використовуйте project-level .claude/settings.json щоб зберегти обидва варіанти.

Що робить кожне налаштування

  • "model": "opus" — Основна модель. Використовує claude-opus-4-6 (high reasoning) для всіх основних задач.
  • ANTHROPIC_DEFAULT_HAIKU_MODEL — Фонова модель. Використовує claude-haiku-4-5 (low reasoning) для швидких фонових задач, як-от індексація файлів.
  • Перемикайтеся між моделями посеред сесії за допомогою /model sonnet, /model opus, або /model haiku.
Аліас Модель Claude Бекенд Міркування
opus claude-opus-4-6 gpt-5.4 Високий
sonnet claude-sonnet-4-5-20250929 gpt-5.4 Середній
haiku claude-haiku-4-5-20251001 gpt-5.4 Низький

OpenCode

Використовуйте Smart AIPI як backend для OpenCode через OpenAI-сумісний SDK.

Налаштування конфігурації

~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "smart-aipi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Smart AIPI",
      "options": {
        "baseURL": "https://api.smartaipi.com/v1",
        "apiKey": "YOUR_API_KEY"
      },
      "models": {
        "gpt-6-astra": {
          "name": "GPT-6 Astra",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.3-codex": {
          "name": "GPT-5.3 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5.2-codex": {
          "name": "GPT-5.2 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        },
        "gpt-5-codex": {
          "name": "GPT-5 Codex",
          "reasoning": true,
          "limit": { "context": 400000, "output": 128000 }
        }
      }
    }
  },
  "model": "smart-aipi/gpt-6-astra"
}

Codex CLI

Використовуйте Smart AIPI з інструментом OpenAI Codex CLI. Потрібно налаштувати три файли.

Автоматичне налаштування

Одна команда
npx smart-aipi codex

Це автоматично налаштовує всі три файли нижче. Після запуску додайте model_reasoning_effort до своєї конфігурації (див. крок 2).

Ручне налаштування

Налаштуйте ці три файли:

1. API key — ~/.codex/auth.json

~/.codex/auth.json
{
  "auth_mode": "apikey",
  "OPENAI_API_KEY": "sk-your-key"
}

2. Модель і reasoning — ~/.codex/config.toml

Завжди додавайте model_reasoning_effort - обов’язково для кастомних моделей.

Без цього Codex за замовчуванням використовує no reasoning і не працюватиме належним чином. Використовуйте "high" для найкращих результатів.

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

Дійсні рівні reasoning: low, medium, high (рекомендовано), xhigh.

3. Змінні середовища — ~/.zshrc

~/.zshrc (or ~/.bashrc)
# Smart AIPI
export OPENAI_API_KEY="sk-your-key"
export OPENAI_BASE_URL="https://api.smartaipi.com/v1"

Після редагування профілю shell перезапустіть термінал або виконайте source ~/.zshrc щоб зміни набули чинності.

Потім використовуйте Codex як зазвичай:

термінал
codex "fix this bug"

Гайд зі швидкості Codex WebSocket

Режим WebSocket зазвичай швидший для agentic coding flow із великою кількістю викликів tool. Замість постійного повторного підключення через HTTP і повторного надсилання повних request envelope, Codex тримає одне активне з’єднання й надсилає інкрементальні ходи, що зменшує continuation overhead.

Спостережуване покращення: У наших запусків кодування з великою кількістю tool, перебудований open-source Codex із WebSocket-виправленнями зменшив повний час виконання приблизно на 30-40% порівняно з режимом HTTP continuation.

Увімкнення WebSockets у Codex

Використовуйте feature flag WebSocket v2 у ~/.codex/config.toml: ~/.codex/config.toml:

~/.codex/config.toml
model = "gpt-6-astra"
model_reasoning_effort = "high"

[features]
responses_websockets_v2 = true

Еквівалент у CLI:

термінал
codex --enable responses_websockets_v2

Старіші збірки можуть використовувати застарілий прапорець:

застарілий fallback
[features]
responses_websockets = true

Відома поведінка Homebrew

У деяких збірках, розповсюджених через Homebrew, WebSocket-переходи можуть зависати під час довготривалих задач, а потім непомітно повертатися до HTTP. Ми особливо спостерігали це у складних циклах викликів tool. Перезбірка з open-source коду з виправленнями нижче покращила і стабільність, і швидкість.

Після merge: виправте open-source WebSocket bug

Після злиття вашої гілки використайте цей checklist, щоб упевнитися, що виправлення є у вашому локальному binary:

термінал
# 1) Pull merged main
git checkout main
git pull --ff-only

# 2) Confirm websocket flags exist
codex features list | rg responses_websockets

# 3) Build and install
cd codex-rs
cargo build --release
install -m 0755 target/release/codex ~/.local/bin/codex-beta

# 4) Run with websocket enabled
CODEX_RS_RESPONSES_WS=true \
OPENAI_BASE_URL=https://api.smartaipi.com/v1 \
~/.local/bin/codex-beta --enable responses_websockets_v2

Якщо потрібно виправити вручну, переконайтеся, що присутні такі code-level виправлення:

виправлення websocket client
# A) Build websocket request with IntoClientRequest so required headers are set
let mut request = url.as_str().into_client_request()?;
request.headers_mut().extend(headers);

# B) Ensure TLS roots are enabled for tokio-tungstenite in Cargo.toml
tokio-tungstenite = { version = "...", features = ["rustls-tls-native-roots"] }

Cursor і Cline

Використовуйте Smart AIPI з Cursor IDE або розширенням Cline для VS Code.

Cursor Cursor

  1. Відкрийте Cursor Settings
  2. Перейдіть на вкладку Models вкладка
  3. Натисніть + Add Model
  4. Встановіть Base URL: https://api.smartaipi.com/v1
  5. Введіть свій API key
  6. Модель: gpt-6-astra

Cline Cline (VS Code)

  1. Відкрийте налаштування Cline у VS Code
  2. Виберіть OpenAI Compatible
  3. Base URL: https://api.smartaipi.com/v1
  4. Введіть свій API key
  5. Модель: gpt-6-astra

Чат

Використовуйте Smart AIPI Chat на chat.smartaipi.com. для текстових, графічних, відео, кодових, пошукових і голосових workflow.

Можливості

  • Чат — Текстові розмови загального призначення з моделями Smart AIPI.
  • Зображення — Створюйте й редагуйте зображення за prompts.
  • Відео — Генеруйте відео з тексту або вхідних зображень.
  • Код — Допомога з кодом і редагування в браузері.
  • Пошук — Використовуйте вебпошук для відповідей з опорою на джерела.
  • Голос — Спілкуйтеся з моделлю голосом — із voice input і відповідями.

Початок роботи

  1. 1. Відкрийте chat.smartaipi.com
  2. 2. Увійдіть або створіть акаунт.
  3. 3. Почніть спілкуватися текстом, зображеннями, відео, кодом, пошуком або голосом.

Оплата: Використання списується з ваших кредитів Smart AIPI.

Тестер API

Протестуйте API прямо у браузері:

Повідомлення надіслано

Ми відповімо вам протягом 2 робочих днів.

Зв’язатися з підтримкою

Маєте запитання або потрібна допомога? Надішліть нам повідомлення, і ми відповімо вам протягом 2 робочих днів.