Информация
Эндпоинты для получения баланса, цен и доступных категорий.
Баланс
GET /balance
Текущий баланс искр на аккаунте.
Python
resp = requests.get(f"{BASE}/balance", headers=headers)
data = resp.json()
print(f"Баланс: {data['balance']}, доступно: {data['available']}")Ответ:
{
"balance": 100,
"available": 92,
"holds": 8
}| Поле | Тип | Описание |
|---|---|---|
balance | integer | Общий баланс (искры) |
available | integer | Доступно (balance − holds) |
holds | integer | Зарезервировано для текущих генераций |
holds — это искры, зарезервированные для генераций в статусе pending / processing. После завершения генерации hold списывается (при успехе) или возвращается (при ошибке/отмене).
Цены
GET /pricing
Стоимость всех операций в искрах.
Python
resp = requests.get(f"{BASE}/pricing", headers=headers)
pricing = resp.json()
print(f"Фото: {pricing['generation']} искр, Видео 5с: {pricing['video_5sec']} искр")Ответ:
{
"generation": 4,
"improvement": 2,
"video_5sec": 16,
"video_10sec": 32
}| Поле | Тип | Описание |
|---|---|---|
generation | integer | Генерация фото/карточки (искры) |
improvement | integer | Редактирование (искры) |
video_5sec | integer | Видео 5 секунд (искры) |
video_10sec | integer | Видео 10 секунд (искры) |
Категории
GET /categories
Список всех категорий товаров и их концептов съёмки. Используйте category_id и concept_id в запросах генерации.
Python
resp = requests.get(f"{BASE}/categories", headers=headers)
categories = resp.json()["categories"]
for cat in categories:
concepts = ", ".join(c["id"] for c in cat["concepts"])
print(f"{cat['id']}: {cat['name']} ({concepts})")Ответ кешируется на 24 часа (Cache-Control: public, max-age=86400).
Ответ:
{
"categories": [
{
"id": "apparel",
"name": "Одежда и обувь",
"concepts": [
{"id": "apparel_on_model", "name": "На модели"},
{"id": "apparel_mannequin", "name": "Как в магазине"},
{"id": "apparel_flat_lay", "name": "Раскладка сверху"},
{"id": "apparel_studio_object", "name": "Каталог (студийно)"}
]
},
{
"id": "wearables",
"name": "Аксессуары",
"concepts": [
{"id": "wearables_on_person", "name": "На человеке"},
{"id": "wearables_closeup", "name": "Крупный план"},
{"id": "wearables_lifestyle", "name": "Повседневная сцена"},
{"id": "wearables_studio", "name": "Каталог (студийно)"}
]
},
{
"id": "food",
"name": "Еда и напитки",
"concepts": [
{"id": "food_catalog", "name": "Каталог (студийно)"},
{"id": "food_plated", "name": "Сервировка"},
{"id": "food_ingredients", "name": "С ингредиентами"},
{"id": "food_closeup", "name": "Крупный план"}
]
},
{
"id": "cosmetics",
"name": "Косметика и уход",
"concepts": [
{"id": "cosmetics_composition", "name": "С композицией"},
{"id": "cosmetics_in_use", "name": "В использовании"},
{"id": "cosmetics_lifestyle", "name": "Повседневная сцена"},
{"id": "cosmetics_catalog", "name": "Каталог (студийно)"}
]
},
{
"id": "gadgets",
"name": "Гаджеты и техника",
"concepts": [
{"id": "gadgets_in_use", "name": "В использовании"},
{"id": "gadgets_environment", "name": "В окружении"},
{"id": "gadgets_details", "name": "Крупный план"},
{"id": "gadgets_studio", "name": "Каталог (студийно)"}
]
},
{
"id": "home",
"name": "Дом и мебель",
"concepts": [
{"id": "home_interior", "name": "В интерьере"},
{"id": "home_scale", "name": "С человеком"},
{"id": "home_details", "name": "Крупный план"},
{"id": "home_catalog", "name": "Каталог (студийно)"}
]
},
{
"id": "other",
"name": "Прочее",
"concepts": [
{"id": "other_in_use", "name": "В использовании"},
{"id": "other_environment", "name": "В окружении"},
{"id": "other_catalog", "name": "Каталог (студийно)"}
]
}
]
}Поля категории
| Поле | Тип | Описание |
|---|---|---|
id | string | Идентификатор (используется в category_id) |
name | string | Название на русском |
concepts | ConceptItem[] | Доступные концепты съёмки |
Поля концепта
| Поле | Тип | Описание |
|---|---|---|
id | string | Идентификатор (используется в concept_id) |
name | string | Название на русском |
Список категорий и концептов фиксирован — можно использовать значения из этой документации напрямую.