PostCorporate APIDOCS

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

PostCorporate API совместим с OpenAI API. Поменяйте base URL и ключ — ваш код, SDK или IDE заработает без других изменений.

Quickstart · 2 минуты

1. Получите ключ

Пополните баланс на /buy и возьмите пропуск. Ключ выдаётся сразу после оформления — он на странице /client.

2. Первый запрос

curl https://postcorporate.tech/v1/chat/completions \
  -H "Authorization: Bearer ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [
      {"role": "user", "content": "Привет! Расскажи о себе."}
    ]
  }'
from openai import OpenAI

client = OpenAI(
    api_key="ВАШ_КЛЮЧ",
    base_url="https://postcorporate.tech/v1",
)

response = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[
        {"role": "user", "content": "Привет! Расскажи о себе."}
    ]
)
print(response.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "ВАШ_КЛЮЧ",
  baseURL: "https://postcorporate.tech/v1",
});

const response = await client.chat.completions.create({
  model: "claude-sonnet-5",
  messages: [{ role: "user", content: "Привет! Расскажи о себе." }],
});
console.log(response.choices[0].message.content);
Совет: вместо postcorporate.tech можно использовать llmproxy.shop — это тот же сервис.

Авторизация

Все запросы требуют заголовок Authorization с Bearer-токеном:

Authorization: Bearer ВАШ_КЛЮЧ

Ключ начинается с sk-. Найти его можно на странице /client. Срок действия и остаток баланса также отображаются там.

ОшибкаПричина
401 UnauthorizedНеверный или истёкший ключ
402 Payment RequiredБаланс исчерпан
403 ForbiddenМодель не включена в ключ

Модели и цены

Цены в долларах за 1 000 000 токенов. Чтение из кеша — 50% от цены входа.

загружаю список моделей…

Полный список доступных моделей: GET /v1/models

Chat Completions

POST /v1/chat/completions — основной эндпоинт. Полностью совместим с OpenAI Chat API.

Параметры запроса

ПараметрТипОписание
model обязательноstringID модели из /v1/models
messages обязательноarrayМассив сообщений. Роли: user, assistant, system
streambooleanПотоковый вывод Server-Sent Events (по умолчанию false)
max_tokensintegerМаксимальное число токенов в ответе
temperaturenumberТемпература 0–2 (по умолчанию 1)
top_pnumberNucleus sampling
stopstring / arrayСтоп-последовательности
systemstringСистемный промпт (альтернатива messages[0].role=system для Claude)

Пример ответа

{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1785765000,
  "model": "claude-sonnet-5",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "Привет! Я языковая модель Claude Sonnet 5…"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 18,
    "completion_tokens": 45,
    "total_tokens": 63
  }
}

Streaming

Передайте "stream": true — ответ придёт частями в формате Server-Sent Events.

curl https://postcorporate.tech/v1/chat/completions \
  -H "Authorization: Bearer ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5","messages":[{"role":"user","content":"Привет"}],"stream":true}'
stream = client.chat.completions.create(
    model="claude-sonnet-5",
    messages=[{"role": "user", "content": "Расскажи мне историю"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Формат chunk

data: {"id":"chatcmpl-xyz","object":"chat.completion.chunk","choices":[{"delta":{"content":"Привет"},"index":0}]}

data: [DONE]

Изображения (Vision)

Модели с поддержкой изображений принимают content как массив:

{
  "model": "claude-sonnet-5",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image_url", "image_url": {"url": "https://example.com/img.jpg"}},
      {"type": "text", "text": "Что на этом изображении?"}
    ]
  }]
}

Поддерживаются JPEG, PNG, GIF, WebP. Максимум 20 МБ. Также работает base64: "url": "data:image/jpeg;base64,..."

Какие модели поддерживают изображения — смотрите в таблице выше (столбец Картинки).

Коды ошибок

КодТипЗначениеЧто делать
400invalid_request_errorНеверный запрос (параметры, формат JSON)Проверить тело запроса
401authentication_errorНеверный или просроченный ключОбновить ключ на /client
402billing_errorБаланс исчерпанПополнить на /buy
403permission_errorМодель не разрешена в этом ключеДобавить модель в ключ на /account
404not_found_errorНесуществующий путь или модельПроверить название модели через GET /v1/models
429rate_limit_errorПревышен RPM или лимит провайдераRetry через 1–5 с экспоненциальным отступом
500server_errorВнутренняя ошибка или недоступен провайдерRetry 1–3 раза с задержкой
503overloaded_errorПровайдер перегруженRetry через 2–10 с

Формат ошибки

{
  "error": {
    "message": "Описание ошибки на русском",
    "type": "rate_limit_error",
    "code": 429
  }
}

Retry: рекомендуемый алгоритм

import time, random

def call_with_retry(fn, max_retries=3):
    for attempt in range(max_retries):
        try:
            return fn()
        except Exception as e:
            if attempt == max_retries - 1: raise
            status = getattr(e, "status_code", 0)
            if status in (429, 500, 503):
                delay = (2 ** attempt) + random.uniform(0, 1)
                time.sleep(delay)
            else:
                raise  # 4xx кроме 429 — не ретраить

Лимиты

ПараметрЗначениеПримечание
RPM (запросы в минуту)60 / ключПишите нам, если нужно больше
Контекстное окнодо 1 000 000 токеновЗависит от модели
Размер изображения20 МБJPEG / PNG / GIF / WebP
Одновременных ключей10 на аккаунт
Ротация источников встроена: если один провайдер исчерпал лимит, запрос уходит на следующий. Клиентский ключ не знает, какой конкретно аккаунт его обслужил.

SDK и IDE

Используйте стандартные OpenAI SDK — меняется только base_url и api_key.

ИнструментКак подключить
openai Python SDK OpenAI(api_key="sk-...", base_url="https://postcorporate.tech/v1")
openai Node SDK new OpenAI({apiKey: "sk-...", baseURL: "https://postcorporate.tech/v1"})
Cursor Settings → Models → Add model → вставить base URL и ключ
Cline (VS Code) Provider: OpenAI Compatible → API Base URL → ключ
Roo Code То же, что Cline
Continue.dev config.json → apiBase: "https://postcorporate.tech/v1"
OpenCode opencode config set provider openai baseUrl https://postcorporate.tech/v1
Claude Code ANTHROPIC_BASE_URL=https://postcorporate.tech/v1 ANTHROPIC_API_KEY=sk-...
LiteLLM litellm --model openai/claude-sonnet-5 --api_base https://postcorporate.tech/v1
Готовые конфиги под конкретные IDE — на странице /client после ввода ключа.

FAQ

Как получить ключ?

Пополните баланс на /buy — картой через Platega, зачисление автоматическое. Затем на /account возьмите пропуск (кредит + срок + набор моделей). Ключ выдаётся сразу.

Какие модели доступны?

Более 70 моделей: Claude (Opus, Sonnet, Haiku), GPT-линейка, Gemini, Grok, Qwen, DeepSeek, GLM, kimi, MiniMax, MiMo и другие. Список с ценами — в таблице выше или через GET /v1/models.

Что происходит при ошибке 429?

Провайдер исчерпал лимит или наш RPM. Первые попытки делаем сами (до 3 ретраев с другими аккаунтами пула). Если 429 дошёл до вас — подождите 1–5 секунд и повторите запрос.

Как устроена тарификация?

Платите только за фактические токены по таблице на этой странице. Вход и выход считаются отдельно (выход дороже — так же, как у самих вендоров). Чтение кеша — 50% входной цены. Без скрытых коэффициентов.

Что значит «кеш»?

Когда в последовательных запросах начало контекста совпадает, провайдер читает его из кеша дешевле. Мы передаём эту скидку вам — строчка «кеш» в таблице цен.

Могу ли я использовать Anthropic Messages API?

Да. Путь /v1/messages также работает для Claude-моделей. Мы принимаем и OpenAI-формат, и Anthropic-формат — выбирайте тот, что удобнее вашему SDK.

Есть ли поддержка function calling / tool use?

Да, для всех моделей, которые поддерживают инструменты. Передавайте tools и tool_choice как в стандартном OpenAI API.

Как сменить модели в существующем ключе?

На /account → ваш пропуск → «Редактировать» → добавить или убрать модели. Изменение применяется сразу.

Есть ли поддержка?

Telegram: @Qwertylang740. Отвечаем оперативно.