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

Генерация текста

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
Оценить inputPOST /v1/responses/input_tokens
ПолучитьGET /v1/responses/{id}
Input itemsGET /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 или провайдера не должны списывать стоимость успешной генерации.

Коды ошибок и безопасные повторы →