Повторна сесія
Як склонувати сесію — та сама конфігурація, за бажанням інша кількість зображень на продукт, з обов'язковим заголовком Idempotency-Key.
Що ви отримаєте
Продавець хоче більше зображень у тому самому стилі — або попередній раунд не зовсім йому сподобався. У цьому матеріалі ви склонуєте наявну сесію одним викликом: та сама конфігурація (стиль, сценерія, модель, пропорції), ті самі продукти, за бажанням інша кількість зображень на продукт.
Передумови
- Ключ API інсталяції (як його отримати) з дозволами
plugin.jobs:create,plugin.jobs:read. order_idсесії, яку хочете повторити (з відповідіPOST /jobsабо зGET /jobs/{id}— полеorder_id).
У прикладах замініть mk_live_… на свій ключ. Базова адреса — https://qamera.ai.
Перебіг
1. GET /orders/{id} → (необов'язково) перегляньте вихідну сесію
2. POST /orders/{id}/clone → нова сесія (Idempotency-Key обов'язковий)
├─ порожнє body → ті самі продукти й кількість зображень
└─ body із subjects[] → нова кількість зображень для продукту
3. Отримайте результати як зазвичай
Кроки
1. (Необов'язково) Перегляньте вихідну сесію
curl https://qamera.ai/api/v1/plugin/orders/00000000-0000-0000-0000-000000000099 \ -H "X-Api-Key: mk_live_xxxxxxxx.yyyyyyyy"
Відповідь містить session_config, список продуктів зі лічильниками завдань (jobs_total, jobs_completed, jobs_failed), згенеровані зображення та витрачені кредити (summary.credits_consumed). Знадобиться, щоб показати продавцеві, що саме буде повторено.
2. Склонуйте сесію
Заголовок Idempotency-Key при клонуванні обов'язковий — він захищає від подвійного нарахування кредитів, коли ви повторите запит після тайм-ауту. Виклик без нього повертає 400 invalid_input.
Порожнє body повторює сесію 1:1 — ті самі продукти, та сама кількість зображень:
curl -X POST https://qamera.ai/api/v1/plugin/orders/00000000-0000-0000-0000-000000000099/clone \
-H "X-Api-Key: mk_live_xxxxxxxx.yyyyyyyy" \
-H "Idempotency-Key: sklep1-klon-99-runda2" \
-H "Content-Type: application/json" \
-d '{}'
Хочете змінити кількість зображень або повторити лише частину продуктів? Передайте subjects[] — це повна заміна списку: клонуються виключно продукти зі списку, кожен із новою images_count. Продукти, пропущені в списку, не входять до нової сесії.
curl -X POST https://qamera.ai/api/v1/plugin/orders/00000000-0000-0000-0000-000000000099/clone \
-H "X-Api-Key: mk_live_xxxxxxxx.yyyyyyyy" \
-H "Idempotency-Key: sklep1-klon-99-runda3" \
-H "Content-Type: application/json" \
-d '{
"subjects": [
{ "product_ref": "sklep1:produkt-7", "images_count": 8 }
]
}'
Відповідь (HTTP 201) — це повна нова сесія з новим order_id:
{
"order_id": "00000000-0000-0000-0000-000000000150",
"status": "pending",
"session_config": { "aspect_ratio": "4:5", "model_id": null, "scenery_id": null, "preset_id": null },
"subjects": [
{
"product_ref": "sklep1:produkt-7",
"product_label": "Kubek ceramiczny 300 ml",
"packshot_asset_id": "…",
"jobs_total": 8,
"jobs_completed": 0,
"jobs_failed": 0,
"outputs": []
}
],
"summary": { "credits_consumed": 80, "credits_refunded": 0 },
"external_metadata": null,
"created_at": "2026-06-03T09:00:00.000Z",
"updated_at": "2026-06-03T09:00:00.000Z"
}
Збережіть новий order_id. Три речі, про які варто пам'ятати:
- Оцінки не переносяться — клон це свіжий старт; зображення нового раунду ви оцінюєте з нуля.
- Кредити нараховуються заново — за нову сесію платять як за будь-яку іншу (
402 quota_exceeded, коли їх забракне). - Клон клонується звичайно — ви можете склонувати сесію, яка сама є клоном.
3. Отримайте результати
Точно як при звичайній сесії — вебхуки або опитування. Див. отримання результатів.
Поширені помилки
| Помилка | Чому виникла | Що зробити |
|---|---|---|
400 invalid_input | Немає заголовка Idempotency-Key | Додайте заголовок з унікальним значенням для цього раунду — подробиці |
409 idempotency_conflict | Той самий Idempotency-Key використано з іншим body | Кожен раунд клонування потребує власного ключа — подробиці |
404 not_found | order_id не існує або належить іншій інсталяції | Перевірте order_id; клонувати можна лише власні сесії — подробиці |
402 quota_exceeded | Недостатньо кредитів на новий раунд | Поповніть кредити; стан перевірите в GET /me — подробиці |
Що далі
- Отримання результатів — вебхуки й оновлення адрес.
- Параметри сесії — коли новий раунд має мати інший стиль, надішліть нову сесію через
POST /jobsзамість клонування.