{
  "filename": "02-model-front.png",
  "status": "blocked",
  "stage": "kie_credits_insufficient",
  "attempt": 3,
  "maxAttempts": 3,
  "timeoutMs": 300000,
  "retryPolicy": "Only this failed image will be retried while generation attempts remain. QA repair attempts are counted separately.",
  "role": "",
  "promptMode": "safe_compact_kie_prompt",
  "promptCharacterLimit": 3600,
  "rawPromptLength": 1492,
  "promptLength": 2459,
  "promptPreview": "Image role: 02-model-front.png.\nSingle product ecommerce photograph: no text, no icons, no inset, no collage, no grid.\nPreserve the uploaded product exactly: shape, colour, material appearance, dimensions, included pieces and visible construction.\nReference hierarchy: input image 1 is the canonical main product truth. Detail-reference images only verify local visible construction; when a conflict appears, preserve input image 1.\nOnly final V2 Title, Subtitle and Description are allowed as factual claims. Do not infer or invent functions, materials, compatibility, certifications, quantity, warranty, performance or in-box contents.\nUse optional uploaded detail photos as evidence windows when supplied; images 05 and 06 must use non-overlapping facts and non-identical evidence/crops.\nForbidden: watermark, supplier logo, marketplace badge, Chinese text, unsupported English claims, people or environments that imply an unsupported use case.\n1:1 square output.\nSlot 02 fixed role: alternate proof view. Use a full 45-degree, side-rear or rear angle that exposes a different physical face from Slot 01. Changing only the crop is forbidden; never repeat the front hero framing.\nKeep the product c",
  "startedAt": "2026-08-08T06:02:27.522Z",
  "updatedAt": "2026-08-08T06:02:28.053Z",
  "taskId": "",
  "errorType": "kie_credits_insufficient",
  "error": "Error: KIE createTask returned no taskId: {\"code\":402,\"msg\":\"Credits insufficient : Your current balance isn’t enough to run this request. Please top up to continue.\",\"data\":null}\n    at createKieImageTask (file:///opt/shangpin-workbench/scripts/process-pending-openai.mjs:2316:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async generateImage (file:///opt/shangpin-workbench/scripts/process-pending-openai.mjs:2533:16)\n    at async runOneImage (file:///opt/shangpin-workbench/scripts/process-pending-openai.mjs:3300:24)\n    at async Promise.all (index 0)\n    at async processJob (file:///opt/shangpin-workbench/scripts/process-pending-openai.mjs:3328:9)\n    at async main (file:///opt/shangpin-workbench/scripts/process-pending-openai.mjs:3550:7)",
  "failedAt": "2026-08-08T06:02:28.052Z"
}