Начало работы

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

APIEX.CLOUD предоставляет единую точку доступа, совместимую с OpenAI, для десятков моделей искусственного интеллекта от всех основных провайдеров. Это руководство охватывает аутентификацию, справочник по API, кошелек и выставление счетов, API-ключи и лимиты запросов.

API полностью совместим с SDK OpenAI — укажите любой существующий клиент OpenAI в базовом URL ниже, и он будет работать без изменения кода.

Авторизация

Каждый запрос должен содержать ваш ключ API в заголовоке Authorization с использованием схемы Bearer.

HTTP
Authorization: Bearer YOUR_API_KEY

Никогда не раскрывайте свой ключ API в клиентском коде (в браузере JavaScript, мобильных приложениях). Всегда вызывайте шлюз со своего бэкенда.

Создавайте ключи и управляйте ими из своей панели: Раздел ключей API

Быстрый старт

Отправьте свой первый запрос на выбранном языке. Замените YOUR_API_KEY на ключ из вашей панели управления.

curl https://apiex.cloud/api/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [
      { "role": "user", "content": "Hello!" }
    ]
  }'
from openai import OpenAI

client = OpenAI(
    base_url="https://apiex.cloud/api/v1/",
    api_key="YOUR_API_KEY",
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://apiex.cloud/api/v1/",
  apiKey: "YOUR_API_KEY",
});

const response = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "Hello!" }],
});

console.log(response.choices[0].message.content);
$ch = curl_init( "https://apiex.cloud/api/v1/chat/completions" );

curl_setopt_array( $ch, array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST           => true,
    CURLOPT_HTTPHEADER     => array(
        'Authorization: Bearer YOUR_API_KEY',
        'Content-Type: application/json',
    ),
    CURLOPT_POSTFIELDS => json_encode( array(
        'model'    => 'gpt-4o-mini',
        'messages' => array(
            array( 'role' => 'user', 'content' => 'Hello!' ),
        ),
    ) ),
) );

$response = json_decode( curl_exec( $ch ), true );
echo $response['choices'][0]['message']['content'];

Ошибки

API использует стандартные коды состояния HTTP. Коды в диапазоне 2xx указывают на успех; 4xx указывают на проблему с запросом; 5xx указывают на проблему на нашей стороне.

Статус Значение
400 Неверный запрос — обязательный параметр отсутствует или имеет неверный формат.
401 Неавторизованный доступ — ключ API отсутствует, недействителен или отозван.
402 Требуется оплата — баланса вашего кошелька недостаточно для этого запроса.
403 Доступ запрещен — этот ключ не имеет прав для запрошенной модели или конечной точки.
429 Слишком много запросов — превышен лимит. Подождите немного и повторите попытку.
500 Ошибка сервера — на нашей стороне что-то пошло не так. Повторить попытку безопасно.

Ответы с ошибками имеют стандартную структуру JSON:

JSON
{
  "error": {
    "type": "insufficient_balance",
    "message": "Wallet balance is too low to complete this request.",
    "code": 402
  }
}
Справочник по API

Базовый URL и конечные точки

Все запросы выполняются по этому базовому URL:

Base URL
https://apiex.cloud/api/v1/
Метод Эндпоинт Описание
POST /chat/completions Создать завершение чата (поддерживается потоковая передача).
POST /images/generations Генерируйте изображения по текстовому запросу.
POST /audio/speech Преобразовать текст в речь.
POST /embeddings Создавайте векторные эмбеддинги для текста.
GET /models Вывести список всех моделей, доступных для вашего ключа в данный момент.

Ответы чата

Создает ответ модели для заданной беседы. Структура запроса и ответа соответствует API OpenAI Chat Completions.

Параметры запроса

Параметр Тип Описание
model обязательно string Идентификатор используемой модели. Доступные значения смотрите в разделе «Модели и провайдеры».
messages обязательно array Список сообщений, описывающих беседу на данный момент, каждое из которых имеет роль и содержимое.
temperature number Температура выборки от 0 до 2. Более высокие значения делают вывод более случайным. По умолчанию: 1.
max_tokens integer Максимальное количество токенов для генерации в ответе.
top_p number Порог выборки ядер (nucleus sampling). Обычно оставляют значение по умолчанию равным 1.
stream boolean Если установлено значение true, частичные дельты сообщений отправляются в виде событий, генерируемых сервером. По умолчанию: false.

Пример ответа

JSON
{
  "id": "chatcmpl_8k2f...",
  "object": "chat.completion",
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 9,
    "completion_tokens": 10,
    "total_tokens": 19
  }
}

Потоковые ответы

Установите "stream": true для получения ответа по частям в виде серверных событий, что идеально подходит для чат-интерфейсов.

JSON
data: {"choices":[{"delta":{"content":"Hello"}}]}

data: {"choices":[{"delta":{"content":"!"}}]}

data: [DONE]

Каждый официальный SDK OpenAI обрабатывает этот формат автоматически — вам не нужно писать собственный код синтаксического анализа.

Лимиты запросов

Лимиты запросов обеспечивают стабильность шлюза для всех пользователей. Лимиты зависят от вашего активного плана и применяются для каждого ключа API.

Каждый ответ содержит заголовки, описывающие статус ваших текущих лимитов:

Заголовок Описание
X-RateLimit-LimitМаксимальное количество запросов, разрешенное в текущем окне.
X-RateLimit-RemainingЗапросы, оставшиеся в текущем окне.
X-RateLimit-ResetСекунд до сброса окна.

При превышении лимита API возвращает ошибку 429 Too Many Requests. Используйте стратегию экспоненциальной задержки перед повторной попыткой.

Учетная запись

Кошелек и выставление счетов

У каждого аккаунта есть предоплаченный кошелек. Пополните его один раз, а затем расходуйте средства на любую поддерживаемую модель — списания происходят за каждый запрос на основе потребленных токенов или единиц.

Пополнение с карты

Пополняйте свой кошелек прямо из панели управления с помощью банковской карты.

Реферальные вознаграждения

Поделитесь своей реферальной ссылкой — и вы, и присоединившийся человек получите средства на кошелек.

Прозрачное использование

Каждый запрос регистрируется с указанием его точной стоимости, которая отображается в логах использования в реальном времени.

Ключи API

Ключи API аутентифицируют ваши запросы и могут быть ограничены определенными моделями или лимитами использования с помощью групп ключей.

Лучшие практики

  • Создавайте отдельный ключ для каждого приложения или окружения (продакшн, стейджинг, локальное).
  • Храните ключи в переменных окружения, а не в системе контроля версий.
  • Используйте группы ключей для ограничения расходов или привязки ключа к определенным моделям.
  • Немедленно отозвайте ключ, если подозреваете, что он был скомпрометирован.

Создать ключ API

Тарифы и подписки

Выберите тарифный план для получения фиксированного ежемесячного кредита или оставайтесь на оплате по факту использования, просто пополняя свой кошелек.

В настоящее время нет настроенных фиксированных тарифов — каждый аккаунт работает с гибким кошельком с оплатой по мере использования.

Ресурсы

Модели и провайдеры

В настоящее время шлюз перенаправляет запросы к следующим провайдерам. Вызовите GET /models с вашим ключом API для получения точного актуального списка моделей.

OpenAI OpenAI
Anthropic Anthropic
Google AI Google AI
DeepSeek DeepSeek
Zhipu AI Zhipu AI
Moonshot AI Moonshot AI
Tencent Tencent
Meta Meta

Часто задаваемые вопросы

Совместим ли API с официальными SDK OpenAI?

Да. Просто установите базовый URL SDK на конечную точку шлюза и используйте свой ключ API шлюза — никаких других изменений кода не требуется.

Что произойдет, если баланс моего кошелька закончится посреди запроса?

Запрос отклоняется с ошибкой 402 Payment Required до его перенаправления провайдеру, поэтому с вас никогда не спишется плата за запрос, который вы не можете позволить себе.

Могу ли я ограничить использование ключа только определенными моделями?

Да, с помощью групп ключей. Назначьте ключ группе со списком разрешенных моделей и, при необходимости, собственным лимитом запросов или затрат.

Сгорают ли неиспользованные средства на балансе кошелька?

Кредит кошелька, добавленный путем пополнения, не сгорает. Кредит, предоставленный в рамках ограниченного по времени плана, действует в течение срока этого плана.

Все еще нужна помощь?

Войдите и обратитесь к нам из своей панели управления — наша команда будет рада помочь.

Связаться с поддержкой