KeyMarket

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

Store API совместим с форматом OpenAI: если ваш код уже работает с OpenAI SDK, достаточно поменять базовый адрес и ключ. Один ключ обслуживает текстовые модели и генерацию изображений, списания идут с общего баланса.

Быстрый старт

Зарегистрируйтесь, скопируйте ключ вида sk-shop-… в личном кабинете и подставьте два значения:

from openai import OpenAI

client = OpenAI(
    base_url="https://store-api.ru/v1",
    api_key="sk-shop-...",
)

resp = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Привет!"}],
)
print(resp.choices[0].message.content)

Авторизация

Ключ передаётся заголовком Authorization: Bearer sk-shop-…. Ключей можно создать до десяти — под каждый проект свой, с отдельным названием и лимитом трат. Если ключ выбрал лимит или его отключили, запросы вернут ошибку, а остальные ключи продолжат работать.

Чат-запросы

Эндпоинт POST /v1/chat/completions — полный аналог OpenAI, включая потоковую передачу stream: true. Доступны модели OpenAI, Anthropic, Google и другие — идентификатор указывается в поле model.

curl https://store-api.ru/v1/chat/completions \
  -H "Authorization: Bearer sk-shop-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "anthropic/claude-sonnet-5",
    "messages": [{"role": "user", "content": "Напиши хайку про API"}]
  }'

Генерация изображений

Эндпоинт POST /v1/images/generations в формате OpenAI Images API. Стоимость фиксированная за картинку и списывается только при успешной генерации. Размер задаётся как 1024x1024 (стороны кратны 8) или готовым пресетом вроде square_hd.

curl https://store-api.ru/v1/images/generations \
  -H "Authorization: Bearer sk-shop-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "novita/juggernaut-xl",
    "prompt": "красный спорткар на горном серпантине на закате",
    "size": "1024x1024"
  }'

# Ответ:
# {"created": 1786105709,
#  "data": [{"url": "https://.../image.png"}]}

Каталог моделей с ценами можно получить программно — GET-запросом на тот же адрес. Актуальные модели и цены:

МодельЦенаНазначение
novita/juggernaut-xl1Фотореализм на Lightning-режиме: картинка за секунды, минимальная цена.
fal-ai/flux/schnell2Молниеносная генерация за пару секунд. Идеален для черновиков и превью.
novita/epicrealism-xl2Фотореализм с мягким светом: портреты, предметка, интерьеры.
novita/animagine-xl2Аниме и иллюстрации: персонажи, обложки, ключевые кадры.
fal-ai/flux/dev5Высокая детализация и точность по промпту. Баланс цены и качества.
fal-ai/flux-pro/v1.110Флагман FLUX: максимальное качество, фотореализм, сложные сцены.
fal-ai/recraft-v310Топ для дизайна: логотипы, иконки, векторные стили, текст на картинке.

Список моделей

GET /v1/models возвращает полный каталог текстовых моделей в формате OpenAI. Цены на текстовые модели указаны в таблице тарифов и считаются за миллион токенов отдельно на вход и выход.

Коды ошибок

КодЧто означает
401Ключ не передан, неизвестен или отключён в кабинете.
402Закончился баланс либо ключ выбрал свой лимит трат. Пополните баланс или поднимите лимит ключа.
404Неизвестный идентификатор модели — сверьтесь со списком моделей.
502 / 504Провайдер недоступен или не ответил вовремя. Запрос можно повторить, списания за неудачную генерацию не происходит.

Частые вопросы

Какой базовый адрес у API?

https://store-api.ru/v1 — укажите его как base_url в любом OpenAI-совместимом SDK.

Нужен ли отдельный ключ для картинок?

Нет, работает тот же ключ и тот же баланс, что и для текстовых моделей.

Что означает ошибка 402?

Закончился баланс либо ключ выбрал назначенный ему лимит трат. Пополните баланс или поднимите лимит ключа в личном кабинете.