Программный доступ

Наш адрес и ключ подставляются в любую библиотеку, которая умеет говорить с OpenAI. Больше настраивать нечего: ни особых заголовков, ни своего формата ответа.

Начало

Ключ создаётся в кабинете, в разделе «API». Он начинается с kadr- и показывается один раз.

curl https://ии-кадр.рф/api/v1/chat/completions \
  -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": "Придумай название для магазина носков"}]
  }'

model: auto — модель выберем мы: это дёшево и не требует следить за нашим каталогом. Хотите конкретную — назовите её id из таблицы ниже.

Каталог моделей

Первое, что спрашивает почти любой клиент (Cline, LibreChat, выбор модели в редакторе). Отдаём стандартом OpenAI, а рядом со стандартными полями кладём свои цены — библиотеки лишнее поле игнорируют, а человеку не надо открывать кабинет, чтобы узнать тариф.

curl https://ии-кадр.рф/api/v1/models -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ"
# {"object": "list", "data": [
#   {"id": "auto", "object": "model", "owned_by": "kadr",
#    "kadr": {"label": "Автовыбор", "vision": true}},
#   {"id": "doubao-seed-2-1-turbo-260628", "object": "model", "owned_by": "kadr",
#    "kadr": {"vision": true, "sell_kop_per_1m_in": 12000, "sell_kop_per_1m_out": 60000}}
# ]}

Поле vision — принимает ли модель картинки. Сообщение с картинкой уйдёт только в такую; если назвать модель без него, ответим отказом сразу, а не молчаливым ответом невпопад.

Картинка в вопросе

Формат тот же, что у OpenAI: части сообщения. Ссылку берём и обычную, и data:. Считается картинка не по длине строки, а по кадру — мегабайтный снимок не съест счёт.

curl https://ии-кадр.рф/api/v1/chat/completions \
  -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "auto",
    "messages": [{"role": "user", "content": [
      {"type": "text", "text": "Что на снимке?"},
      {"type": "image_url", "image_url": {"url": "https://ваш-сайт/фото.jpg"}}
    ]}]
  }'
Python, библиотека openai
from openai import OpenAI

client = OpenAI(api_key="kadr-ВАШ_КЛЮЧ", base_url="https://ии-кадр.рф/api/v1")

answer = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Привет"}],
)
print(answer.choices[0].message.content)
Node.js, библиотека openai
import OpenAI from 'openai';

const client = new OpenAI({ apiKey: 'kadr-ВАШ_КЛЮЧ', baseURL: 'https://ии-кадр.рф/api/v1' });

const answer = await client.chat.completions.create({
  model: 'auto',
  messages: [{ role: 'user', content: 'Привет' }],
});
console.log(answer.choices[0].message.content);

Потоком — тот же вызов со stream: true: куски приходят стандартными chat.completion.chunk, последний несёт usage.

Cline, LibreChat и другие клиенты

Любой клиент, который умеет «свой OpenAI-совместимый сервер», настраивается тремя полями. Отдельного режима для них у нас нет и не нужно.

Base URL (API Base / Endpoint):  https://ии-кадр.рф/api/v1
API key:                          kadr-ВАШ_КЛЮЧ
Model:                            auto  (или id из таблицы ниже)

Список моделей клиент возьмёт сам с GET /models. Если поле модели в клиенте обязательное и списка он не тянет — впишите auto: выбор сделаем мы.

Мышление

По умолчанию размышления ВЫКЛЮЧЕНЫ — они утраивают ожидание и стоимость. Включаются полем reasoning_effort (формат OpenAI) или нашим thinking. Размышления приходят отдельным полем reasoning_content и оплачиваются как выходные токены: они входят в completion_tokens.

{"model": "deepseek-v4-flash-ga-260731",
 "reasoning_effort": "medium",        // none — выключить; любое другое значение — включить
 "thinking": "enabled",               // то же самое нашим полем: disabled | auto | enabled
 "messages": [{"role": "user", "content": "Посчитай по шагам: 17 × 23 + 5"}]}
МодельРежимы размышлений
doubao-seed-2-1-turbo-260628disabled, enabled
doubao-seed-2-1-pro-260628disabled, enabled
doubao-seed-2-0-pro-260215disabled, enabled
doubao-seed-2-0-lite-260428disabled, enabled
doubao-seed-2-0-mini-260428disabled, enabled
doubao-seed-2-0-code-preview-260215disabled, enabled
deepseek-v4-flash-ga-260731disabled, auto, enabled
deepseek-v4-pro-ga-260813disabled, auto, enabled
glm-5-2-260617disabled, auto, enabled

Режим, которого у модели нет, — отказ 400, а не молчаливая подмена. И важное про деньги: с включёнными размышлениями потолок ответа считается по ВСЕМУ выходу, а не по видимому тексту; если остатка на счету хватает меньше чем на 512 токенов, придёт 402 — размышления съели бы потолок целиком, и ответа не осталось бы вовсе.

Ошибки и коды
КодЧто произошлоЧто делать
401Ключ не принят: нет заголовка, чужой или отозванный.Заведите новый ключ в кабинете.
400Запрос не по правилам: неизвестная модель, картинка для незрячей модели, режим размышлений, которого у модели нет.Текст ошибки называет причину прямо — читайте его.
402Денег на счету не хватает на этот вызов.Пополнить баланс в кабинете.
429Слишком часто: предел запросов в минуту на ключ.Подождите; сколько именно — в заголовке Retry-After.
502Модель не ответила вовсе; денег за это не берём.Повторить или взять другую модель.

Пустой ответ модели — это штатный 200 с пустым content (как у OpenAI), и он тоже бесплатен. В потоке отказ приходит объектом error внутри потока — так его понимают клиентские библиотеки.

Изображения
curl https://ии-кадр.рф/api/v1/images/generations \
  -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"model": "doubao-seedream-4-5-251128", "prompt": "белая кружка на деревянном столе", "size": "2048x2048"}'

Ссылка на результат живёт около суток — скачивайте файл сразу, а не храните ссылку.

Задачи: пресеты раздела «Фото»

Пресет работает минуту и дольше, поэтому он устроен в два шага: создали задачу — опрашиваете её. Исходник передаётся ссылкой в input.image_url. У «Генерации по тексту» он НЕОБЯЗАТЕЛЕН: без него рисуем по описанию, с ним правим снимок — это разные работы и разные цены, обе в таблице ниже. input.size выбирает разрешение, а у роликов — длительность; цена у каждой строки своя.

# создать
curl https://ии-кадр.рф/api/v1/tasks \
  -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{"preset": "bg_replace", "input": {"image_url": "https://ваш-сайт/фото.jpg", "scene": "wood"}}'
# {"id": "…", "status": "queued", "poll": "/api/v1/tasks/…"}

# опросить
curl https://ии-кадр.рф/api/v1/tasks/ID -H "Authorization: Bearer kadr-ВАШ_КЛЮЧ"
# {"status": "succeeded", "result": [{"url": "…"}]}
ПресетЧто делаетЦена
free_genКартинка по описанию. Приложите фото — и мы будем отталкиваться от него.
image_url необязателен
без фото: 30 ₽
с фото: 30 ₽
card
size: 2k | 4k
Товар, заголовок и выгоды одним кадром — как рисуют конкуренты.
2k: 30 ₽
4k: 45 ₽
bg_replaceТовар остаётся как есть, вокруг него — новая сцена.
30 ₽
eraseУберём с кадра то, что мешает: руку, провод, ценник.
30 ₽
tryonВещь окажется на человеке из библиотеки — принт и крой сохраняются.
30 ₽
video_gen
size: 5s | 10s
Короткое видео по описанию — без исходного снимка.
image_url не нужен
5s: 60 ₽
10s: 100 ₽
video_photo
size: 5s | 10s
Снимок оживает: лёгкое движение камеры и предмета, сам товар не меняется.
5s: 60 ₽
10s: 100 ₽
video_motion
size: 5s | 10s
Готовый сценарий: товар в руках или в деле, камера мягко ведёт.
5s: 60 ₽
10s: 100 ₽
video_360
size: 5s | 10s
Готовый сценарий: товар плавно поворачивается вокруг своей оси.
5s: 60 ₽
10s: 100 ₽
Модели и цены
idЧто этоВход / выход за 1M токенов
doubao-seed-2-1-turbo-260628Doubao Seed 2.1 turbo · видит картинки180 ₽ / 900 ₽
doubao-seed-2-1-pro-260628Doubao Seed 2.1 pro · видит картинки360 ₽ / 1 800 ₽
doubao-seed-2-0-pro-260215Doubao Seed 2.0 pro · видит картинки192 ₽ / 960 ₽
doubao-seed-2-0-lite-260428Doubao Seed 2.0 lite · видит картинки36 ₽ / 216 ₽
doubao-seed-2-0-mini-260428Doubao Seed 2.0 mini · видит картинки12 ₽ / 120 ₽
doubao-seed-2-0-code-preview-260215Doubao Seed 2.0 code · видит картинки192 ₽ / 960 ₽
deepseek-v4-flash-ga-260731DeepSeek V4 flash180 ₽ / 540 ₽
deepseek-v4-pro-ga-260813DeepSeek V4 pro540 ₽ / 1 620 ₽
glm-5-2-260617GLM-5.2480 ₽ / 1 680 ₽

Деньги списываются по факту ответа, с того же счёта, что и работа в кабинете. Стоимость вызова возвращается в поле kadr.cost_kop и видна в журнале вызовов.

Что ещё доступно

Выше — модели, которые вызываются прямо сейчас. Ниже весь каталог, открытый нам у провайдера: помеченное «скоро» мы заводим в прайс по мере проверки.

Чат и зрениетекст, код, разбор картинок
deepseek-v4-flash-260425скоро
deepseek-v4-flash-ga-260731180 ₽ / 540 ₽ за 1M токенов
deepseek-v4-pro-260425скоро
deepseek-v4-pro-ga-260813540 ₽ / 1 620 ₽ за 1M токенов
doubao-seed-2-0-code-preview-260215192 ₽ / 960 ₽ за 1M токенов
doubao-seed-2-0-lite-260215скоро
doubao-seed-2-0-lite-26042836 ₽ / 216 ₽ за 1M токенов
doubao-seed-2-0-mini-260215скоро
doubao-seed-2-0-mini-26042812 ₽ / 120 ₽ за 1M токенов
doubao-seed-2-0-pro-260215192 ₽ / 960 ₽ за 1M токенов
doubao-seed-2-1-pro-260628360 ₽ / 1 800 ₽ за 1M токенов
doubao-seed-2-1-turbo-260628180 ₽ / 900 ₽ за 1M токенов
glm-4-5-air-20250728скоро
glm-5-2-260617480 ₽ / 1 680 ₽ за 1M токенов
qwen2-5-72b-20240919скоро
qwen3-0-6b-20250429скоро
qwen3-14b-20250429скоро
qwen3-32b-20250429скоро
qwen3-8b-20250429скоро
Изображениягенерация и правка кадров
doubao-seedream-4-0-20260415скоро
doubao-seedream-4-0-250828скоро
doubao-seedream-4-5-25112810 ₽ за кадр
doubao-seedream-5-0-260128скоро
doubao-seedream-5-0-pro-26062812 ₽ за кадр
Видеоролики из кадра или описания
doubao-seedance-1-0-pro-250528скоро
doubao-seedance-1-0-pro-fast-251015скоро
doubao-seedance-2-0-260128скоро
doubao-seedance-2-0-fast-260128скоро
doubao-seedance-2-0-mini-260615скоро
doubao-seedance-2-5-260628скоро
3Dмодели из фотографии или описания
doubao-seed3d-2-0-260328скоро
hitem3d-2-0-251223скоро
hyper3d-gen2-260112скоро
Векторыэмбеддинги для поиска и похожести
doubao-embedding-vision-250615скоро
doubao-embedding-vision-251215скоро
Прочееперевод, роли, маршрутизация
doubao-seed-character-251128скоро
doubao-seed-character-260628скоро
doubao-seed-translation-250915скоро

Каталог снят 25 августа 2026 г.. Модели с ценой вызываются прямо сейчас; помеченные «скоро» доступны нам у провайдера, но ещё не заведены в прайс — вызов такой модели вернёт ошибку. Список моделей, готовых к вызову, всегда отдаёт GET /api/v1/models.

Ограничения и правила