Chat completions

POST /v1/chat/completions — основной продукт. Тело запроса — Chat Completions в формате OpenAI.

Минимальное тело

{
  "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
  "messages": [{"role": "user", "content": "Hello"}]
}

Параметры, которые мы учитываем

ПолеЗаметки
modelДолжен быть живой id из /v1/models
messagesРоли: system, user, assistant, tool
streamСм. Стриминг
temperature, top_p, max_tokensПересылаются, если хост их принимает
tools / tool_choiceСм. Вызов инструментов
web_searchПоиск на стороне прокси; см. Веб-поиск
deep_researchОтчёт из нескольких поисков. stream: true сначала шлёт цикл, потом отчёт. Таймаут не меньше 5 минут; см. Глубокое исследование
mcp / tools: [{type:"mcp"}]См. MCP
reasoning_effort / thinkingТолько DeepSeek, если включена совместимость reasoning

Контент может быть строкой или мультимодальным массивом (text, image_url, file), если включён разбор файлов.

Чего мы не обещаем

Это не полная копия OpenAI. Assistants API, генерация картинок, эмбеддинги, аудио и batch-задачи не выставлены. Если поле проигнорировано, хост всё равно выполняет completion.

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://api.proxy.gonka.gg/v1",
    api_key="sk-your-api-key-here",
)

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Поля только прокси (web_search, mcp, типы MCP-инструментов) кладите в extra_body, иначе официальный SDK их выкинет.

TypeScript

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.proxy.gonka.gg/v1",
  apiKey: "sk-your-api-key-here",
});

const response = await client.chat.completions.create({
  model: "deepseek-ai/DeepSeek-V4-Flash-0731",
  messages: [{ role: "user", content: "Hello!" }],
});