POST /api/v1/plugin/jobs і POST /api/v1/plugin/jobs/batch тепер приймають сесію замість одного завдання: одну session_config (модель, сценерія, пресет, аспект, поради) та список subjects[], де кожен subject описує продукт (packshot_asset_id, product_label, product_ref, images_count, ai_model). Сервер створює одне замовлення і розгортає кожен subject у вказану кількість завдань генерації, усі з однаковою конфігурацією сесії. Відповідь повертає новий order_id разом з ідентифікаторами завдань за кожним subject.
DTO завдання тепер несе контекст subject (packshot_asset_id, product_label, product_ref) та нові поля голосування після генерації (voting, voting_at). Три нові endpoint-и завершують lifecycle: POST /jobs/{id}/accept і POST /jobs/{id}/reject записують голос користувача для завершеного завдання; GET /orders/{id} повертає повну обгортку сесії (конфігурацію, статистику по кожному subject, підписані outputs, підсумок кредитів); POST /orders/{id}/clone повторно випускає сесію з тією самою конфігурацією і списком subjects (з опційним override images_count за product_ref). Payload-и вебхуків також отримали нові поля subject та голосування у job.*.
Це ламна зміна для POST /jobs і POST /jobs/batch — старі формати одиничного завдання та {jobs: [...]} більше не парсяться. Нотатка з міграції в довіднику endpoint-ів описує перехід.