API и MCP
Те же модели, цены и баланс, что в студии на сайте, — из своих программ или из ИИ-агентов (Claude, Cursor и др.). Деньги списываются только за успешный результат; неудачные генерации возвращаются на баланс.
Ключ
Доступ к API выдаётся по запросу — напишите на [email protected]. После этого в профиле появится раздел «API и MCP» — создайте там ключ. Ключ показывается один раз — сохраните его. Передавайте его в заголовке:
Authorization: Bearer sdr_…
Ключ даёт доступ к вашему балансу. Не публикуйте его; если он утёк — отзовите в профиле и создайте новый. Для ключа можно задать дневной лимит трат.
Как запускать
GET /api/v1/models— выберите модель.GET /api/v1/models/{id}— параметры модели: ключи, допустимые значения, обязательные.POST /api/v1/estimate— точная цена без списания.POST /api/v1/generations— запуск; сумма резервируется.GET /api/v1/generations/{id}— опрашивайте раз в 5–10 секунд, покаdoneне станетtrue. Картинки обычно готовы за 10–60 с, видео — за несколько минут.
curl https://sidera-ai.ru/api/v1/generations \
-H "Authorization: Bearer $SIDERA_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: cat-001" \
-d '{"model":"nano-banana-2-1","values":{"prompt":"Кот в скафандре на Луне","aspect_ratio":"16:9"}}'
# {"id":"…","status":"queued","price_rub":3,"price_kopecks":300}
curl https://sidera-ai.ru/api/v1/generations/ID -H "Authorization: Bearer $SIDERA_KEY"
# {"status":"succeeded","done":true,"media":["https://sidera-ai.ru/media/…"], …}
import time, requests
H = {"Authorization": "Bearer " + KEY}
job = requests.post("https://sidera-ai.ru/api/v1/generations", headers=H, json={
"model": "nano-banana-2-1", "values": {"prompt": "Кот в скафандре на Луне"}}).json()
while True:
g = requests.get(f"https://sidera-ai.ru/api/v1/generations/{job['id']}", headers=H).json()
if g["done"]: break
time.sleep(5)
print(g["status"], g["media"])
Методы
| Метод | Что делает |
|---|---|
GET /api/v1/modelsключ не обязателен; ?section=image|video|upscale | Список моделей и цена «от» в рублях. |
GET /api/v1/models/{id} | Параметры модели: key, type, enum, minimum/maximum, maxItems, required, file, значения по умолчанию. |
POST /api/v1/estimate | Тело: {"model", "values", "count"}. Ответ: price_rub, complete (заполнены ли обязательные параметры). |
POST /api/v1/generations | Запуск. Тело как у estimate; count — 1–4 картинки за раз. Заголовок Idempotency-Key (рекомендуется): повтор с тем же ключом не запустит и не спишет второй раз, а вернёт ту же генерацию. Ответ 202: id, ids, price_rub. |
GET /api/v1/generations/{id} | Статус (queued, starting, generating, succeeded, failed, unknown), done, ссылки media. |
GET /api/v1/generations | Последние генерации, по 12; ?page=0, ?section=…. |
GET /api/v1/balance | Доступно, в резерве, лимит ключа и потрачено сегодня. |
POST /api/v1/uploads?model=…&field=… | Загрузка файла (тело — сам файл, Content-Type — его тип). Ответ reference подставляйте в параметр модели. |
Файлы
В параметры-файлы ("file": true в описании модели) можно передать публичную HTTPS-ссылку или reference из /api/v1/uploads. Загрузка доступна при положительном балансе, до 3 ГБ в сутки. Для видео, где цена зависит от длительности, загружайте MP4 через /uploads — сервер проверит длительность.
curl "https://sidera-ai.ru/api/v1/uploads?model=topaz/image-upscale&field=image_url" \
-H "Authorization: Bearer $SIDERA_KEY" -H "Content-Type: image/jpeg" --data-binary @photo.jpg
# {"reference":"upload:…"}
Ссылки на результаты (/media/…) подписаны и действуют ограниченное время — скачивайте результат сразу.
Деньги и лимиты
- Цены те же, что на сайте, в рублях; баланс общий с аккаунтом. Пополнение — в профиле на сайте.
- При запуске сумма резервируется, после успеха списывается, при ошибке — возвращается.
- Дневной лимит ключа задаётся в профиле (сутки по Москве).
- Не больше 120 запросов в минуту на ключ.
Ошибки
{"error": {"message": "Недостаточно средств: нужно 45 ₽, доступно 10 ₽.", "status": 402}}
| Код | Значение |
|---|---|
| 400 | Неверные параметры — текст подскажет, что исправить. |
| 401 | Нет ключа или он отозван. |
| 403 | Доступ к API для аккаунта отключён. |
| 402 | Недостаточно средств или превышен дневной лимит ключа. |
| 404 | Модель или генерация не найдена. |
| 429 | Слишком много запросов. |
| 5xx | Временная ошибка: повторите с тем же Idempotency-Key. |
MCP для Claude, Cursor и других агентов
Адрес сервера: https://sidera-ai.ru/mcp (Streamable HTTP), вход по тому же ключу. Инструменты: list_models, get_model, estimate_price, generate (ждёт результат до 50 с), get_generation, list_generations, get_balance.
Claude Code
claude mcp add --transport http sidera https://sidera-ai.ru/mcp --header "Authorization: Bearer sdr_…"
Cursor, Windsurf и другие (mcp.json)
{
"mcpServers": {
"sidera": {
"url": "https://sidera-ai.ru/mcp",
"headers": { "Authorization": "Bearer sdr_…" }
}
}
}
Claude Desktop
{
"mcpServers": {
"sidera": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://sidera-ai.ru/mcp", "--header", "Authorization: Bearer sdr_…"]
}
}
}
Агент тратит деньги с вашего баланса. Задайте ключу дневной лимит и просите агента называть цену перед дорогими видео.