Генерация текста
Chat Completions, Responses и Beta-форматы текста
Для одной и той же модели можно использовать разные форматы запроса. Не смешивайте поля форматов: выберите один контракт и разбирайте ответ в его собственной структуре.
Информация: Список моделей и их контекстные ограничения доступен через
GET /v1/modelsи в каталоге цен.
Как NeuroAPI сохраняет Chat/Responses формат для Alibaba Cloud →
OpenAI Chat Completions
Стабильный
Рекомендуется для существующих OpenAI-совместимых приложений, истории сообщений, streaming и клиентских function tools.
POST /v1/chat/completions
cURL
curl https://neuroapi.host/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-mini",
"messages": [
{"role": "user", "content": "Объясни квантовую запутанность простыми словами"}
]
}'Python · OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://neuroapi.host/v1",
)
result = client.chat.completions.create(
model="gpt-5-mini",
messages=[
{"role": "user", "content": "Объясни квантовую запутанность простыми словами"}
],
)
print(result.choices[0].message.content)Node.js · TypeScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.NEUROAPI_KEY,
baseURL: "https://neuroapi.host/v1",
});
const result = await client.chat.completions.create({
model: "gpt-5-mini",
messages: [{ role: "user", content: "Объясни квантовую запутанность простыми словами" }],
});
console.log(result.choices[0]?.message.content);OpenAI Responses
Стабильный
Подходит для новых интеграций, мультимодального input и современных клиентских tools. Поддерживаются обычный и потоковый ответы, подсчёт input tokens, получение и удаление сохранённого response, а также список его input items.
| Действие | Путь |
|---|---|
| Создать | POST /v1/responses |
| Оценить input | POST /v1/responses/input_tokens |
| Получить | GET /v1/responses/{id} |
| Input items | GET /v1/responses/{id}/input_items |
| Удалить | DELETE /v1/responses/{id} |
Python · OpenAI SDK
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://neuroapi.host/v1",
)
response = client.responses.create(
model="gpt-5-mini",
input="Составь краткий план запуска мобильного приложения",
)
print(response.output_text)Node.js · TypeScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.NEUROAPI_KEY,
baseURL: "https://neuroapi.host/v1",
});
const response = await client.responses.create({
model: "gpt-5-mini",
input: "Составь краткий план запуска мобильного приложения",
});
console.log(response.output_text);cURL
curl https://neuroapi.host/v1/responses \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-mini",
"input": "Составь краткий план запуска мобильного приложения"
}'Важно: Не все hosted tools и provider-owned ресурсы OpenAI поддерживаются. Используйте только возможности, указанные в карточке модели или явно описанные в документации NeuroAPI.
Anthropic Messages
Бета
Используйте, если приложение уже работает с Messages API. Обязательны anthropic-version, model, max_tokens и messages. Для авторизации подходят x-api-key или Bearer.
cURL
curl https://neuroapi.host/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Сделай ревью этой архитектурной идеи"}
]
}'Python · Anthropic SDK
from anthropic import Anthropic
client = Anthropic(
api_key="YOUR_API_KEY",
base_url="https://neuroapi.host",
)
message = client.messages.create(
model="claude-sonnet-4",
max_tokens=1024,
messages=[{"role": "user", "content": "Сделай ревью этой архитектурной идеи"}],
)
print(message.content[0].text)Gemini GenerateContent
Бета
Сохраняет Gemini-структуру contents, parts, generationConfig и candidates. Доступны generateContent, streamGenerateContent и countTokens.
cURL
curl "https://neuroapi.host/v1beta/models/gemini-3.1-flash-lite:generateContent" \
-H "x-goog-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"role": "user",
"parts": [{"text": "Составь три варианта заголовка"}]
}]
}'JavaScript · fetch
const response = await fetch(
"https://neuroapi.host/v1beta/models/gemini-3.1-flash-lite:generateContent",
{
method: "POST",
headers: {
"x-goog-api-key": process.env.NEUROAPI_KEY!,
"Content-Type": "application/json",
},
body: JSON.stringify({
contents: [{ role: "user", parts: [{ text: "Составь три варианта заголовка" }] }],
}),
},
);
if (!response.ok) throw new Error(await response.text());
console.log((await response.json()).candidates?.[0]?.content?.parts?.[0]?.text);Общее правило ошибок
Исправляйте запрос при 400/422, снижайте частоту при 429 и повторяйте временные 5xx/сетевые ошибки с экспоненциальной задержкой. Ошибки NeuroAPI или провайдера не должны списывать стоимость успешной генерации.