Fichi предоставляет единый API для всех нейросетей — текста, изображений, аудио и видео — через один ключ и общий формат запросов. Один интерфейс вместо десятков разных SDK и провайдеров.
Это не OpenAI-совместимый формат: у нас собственный протокол, рассчитанный на работу с любыми моделями и типами генерации сразу. Поэтому запросы ниже отличаются от привычных вызовов OpenAI — ориентируйтесь на примеры из этой документации.
Аутентификация
Все запросы требуют Fichi API ключ в теле запроса. Ключ можно получить в личном кабинете.
Никогда не публикуйте API ключ в публичных репозиториях. Используйте переменные окружения.
| Параметр | Тип | Описание |
|---|---|---|
key* | string | Ваш Fichi API ключ. Передаётся в теле каждого запроса. |
Доступные модели
Идентификатор модели (ai) используется при отправке запросов.
Всего: 0 · Показано: 0
/api/v1/services/aiОтправить сообщение в ИИ. Возвращает ID сообщения со статусом pending. Используйте эндпоинт статуса для получения результата.
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
key* | string | Ваш Fichi API ключ. |
ai* | ObjectId | Идентификатор модели. |
text | string | Текст сообщения. |
chain | ObjectId | ID цепочки для сохранения контекста. |
bot | ObjectId | ID бота (системный промпт). |
attachments | string[] | Массив ID вложений. |
options | object | Опции модели (размер, стиль и т.д.). |
controlls | object | web, no_context, rag. |
Ответ
| Параметр | Тип | Описание |
|---|---|---|
id* | string | ID созданного сообщения. |
status* | "pending" | Начальный статус. |
curl -X POST https:-comment">//api.fichi.ai/api/v1/services/ai \ -H -string">"Content-Type: application/json" \ -d -string">'{ "key": "YOUR_KEY", "ai": "MODEL_ID", "text": "Привет, как дела?" }'
После отправки используйте id для опроса статуса с интервалом ~500ms.
/api/v1/attachmentsЗагрузить файл для отправки в ИИ. Поддерживаются документы, таблицы, код и другие форматы.
Параметры (multipart/form-data)
| Параметр | Тип | Описание |
|---|---|---|
file* | File | Файл для загрузки. |
Поддерживаемые форматы
Ответ
| Параметр | Тип | Описание |
|---|---|---|
data[].id* | string | ID вложения для передачи в attachments. |
data[].text | string | null | Извлечённый текст (для документов). |
curl -X POST https:-comment">//api.fichi.ai/api/v1/attachments \ -F -string">"file=@document.pdf"
/api/v1/services/ai/statusПолучить статус и содержимое сообщения. Поле streaming содержит промежуточный текст во время генерации.
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
key* | string | Ваш Fichi API ключ. |
message_id* | string | ID сообщения. |
Статусы сообщения
pendingгенерацияsuccessготовоerrorошибкаstoppedостановленоcurl -X POST https:-comment">//api.fichi.ai/api/v1/services/ai/status \ -H -string">"Content-Type: application/json" \ -d -string">'{"key": "YOUR_KEY", "message_id": "MSG_ID"}'
Пример polling-цикла
async function poll(messageId, key) { while (true) { const res = await fetch('https://api.fichi.ai/api/v1/services/ai/status', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ key, message_id: messageId }), }) const { data, streaming } = await res.json() if (data.status === 'success') return data.content.text if (data.status === 'error') throw new Error(data.error?.code) console.log(streaming?.text) // промежуточный текст await new Promise(r => setTimeout(r, 500)) } }
/api/v1/services/ai/chainsПолучить список цепочек сообщений (чатов) пользователя.
Query-параметры
| Параметр | Тип | Описание |
|---|---|---|
key* | string | Fichi API ключ (query-параметр). |
curl -string">"https:-comment">//api.fichi.ai/api/v1/services/ai/chains?key=YOUR_KEY"
/api/v1/services/ai/chains/{id}Получить все сообщения цепочки — полную историю диалога.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
id* | ObjectId | ID цепочки в URL. |
key* | string | Fichi API ключ (query-параметр). |
curl -string">"https:-comment">//api.fichi.ai/api/v1/services/ai/chains/CHAIN_ID?key=YOUR_KEY"
Коды ошибок
| Параметр | Тип | Описание |
|---|---|---|
ERR_USER_NOT_EXISTS | 404 | Пользователь не найден. |
ERR_KEY_NOT_FOUND | 404 | API ключ недействителен. |
ERR_USER_NO_TOKENS | 402 | Недостаточно токенов. |
ERR_CHAT_NO_ACCESS | 403 | Нет доступа к цепочке. |
ERR_CHAT_PENDING | 409 | Цепочка занята генерацией. |