Текст, изображения, видео и музыка через один API — выберите модель
  1. Главная
  2. /
  3. Документация
  4. /
  5. Начало работы

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

Гайды, примеры запросов и справочник методов. Всё, что нужно для подключения нейросетей к вашему проекту.

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

Зарегистрируйтесь на https://formula-ai.ru/signup, подтвердите email кодом из письма и создайте API-ключ в личном кабинете: https://formula-ai.ru/settings/keys. Ключ показывается один раз при создании или перевыпуске. Выдача через администратора также доступна. Передавайте ключ в Authorization: Bearer; не помещайте в URL.

Базовый URL: https://formula-ai.ru/api/v1. Сначала получите доступные модели через GET /models и выберите модель с нужной операцией. verification_level=basic означает подтверждённые реальные результат и расход при сокращённой проверке; full — полную записанную проверку. Отдельные параметры, ошибки и возвраты при basic могут оставаться непроверенными. `unverified` означает нетекстовую операцию, опубликованную по явному разрешению владельца без реального вызова; `unrecorded` — уровень проверки не записан.

Проверьте GET /balance, затем отправьте запрос. Если получен HTTP 202, сохраните собственный ID запроса и опрашивайте GET /requests/{id}. Ожидание и финансовая сверка могут продолжаться после окончания HTTP-соединения.

Оплачиваемую повторную отправку защищайте заголовком Idempotency-Key. Повтор с тем же содержимым вернёт тот же запрос; изменение параметров с прежним ключом даст 409.

Для длительного запроса добавьте Prefer: respond-async: сервис быстро сохранит операцию и вернёт HTTP 202 с id, X-Generation-ID и Location. Получайте полный готовый результат через GET /requests/{id}. Без этого заголовка синхронные клиенты продолжают получать прежний формат ответа.

cURL · GET /balance

curl "https://formula-ai.ru/api/v1/balance" \
  -H "Authorization: Bearer $AI_SERVICE_API_KEY"

cURL · POST /chat/completions

curl "https://formula-ai.ru/api/v1/chat/completions" \
  -H "Authorization: Bearer $AI_SERVICE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: example-text-1" \
  --data-binary "{
    \"model\": \"$AI_SERVICE_MODEL\",
    \"messages\": [
        {
            \"role\": \"user\",
            \"content\": \"Reply OK\"
        }
    ]
}"

PHP · POST /chat/completions

<?php
$key = getenv("AI_SERVICE_API_KEY");
$url = "https://formula-ai.ru/api/v1/chat/completions";
$handle = curl_init($url);
curl_setopt_array($handle, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => json_encode(["model" => getenv("AI_SERVICE_MODEL"), "messages" => [["role" => "user", "content" => "Reply OK"]]], JSON_THROW_ON_ERROR),
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . $key, "Content-Type: application/json", "Idempotency-Key: first-text-1"],
]);
if (getenv("AI_SERVICE_CA")) {
    curl_setopt($handle, CURLOPT_CAINFO, getenv("AI_SERVICE_CA"));
}
$body = curl_exec($handle);
if ($body === false) {
    throw new RuntimeException(curl_error($handle));
}
$status = curl_getinfo($handle, CURLINFO_RESPONSE_CODE);
curl_close($handle);
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
echo json_encode(["status" => $status, "result" => $result], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);

PHP · GET /balance

<?php
$key = getenv("AI_SERVICE_API_KEY");
$url = "https://formula-ai.ru/api/v1/balance";
$handle = curl_init($url);
curl_setopt_array($handle, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Authorization: Bearer " . $key],
]);
if (getenv("AI_SERVICE_CA")) {
    curl_setopt($handle, CURLOPT_CAINFO, getenv("AI_SERVICE_CA"));
}
$body = curl_exec($handle);
if ($body === false) {
    throw new RuntimeException(curl_error($handle));
}
$status = curl_getinfo($handle, CURLINFO_RESPONSE_CODE);
curl_close($handle);
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
echo json_encode(["status" => $status, "result" => $result], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);

Примеры cURL используют Bash. Задайте AI_SERVICE_API_KEY и AI_SERVICE_MODEL; модель выберите из /models. В PHP для опроса/файла задайте AI_SERVICE_REQUEST_ID/AI_SERVICE_MEDIA_ID, для правки — AI_SERVICE_SOURCE_URL. Для локального сертификата используйте доверенный CA через --cacert, для PHP — AI_SERVICE_CA. Проверку TLS сохраняйте включённой.