{"record":{"id":"aecbadcac50c5697","repo":"ATH-MaaS/Pixelle-Video","slug":"image-generation-failed-response-code-respons","errorCode":null,"errorMessage":"Image generation failed: {response.code}, {response.message}, status={response.status_code}","messagePattern":"Image generation failed: (.+?), (.+?), status=(.+?)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"pixelle_video/services/api_services/image_dashscope.py","lineNumber":131,"sourceCode":"            if response.status_code == 200:\n                results = self._extract_image_urls(getattr(response, \"output\", None))\n                if not results:\n                    raise RuntimeError(f\"DashScope image generation returned no image URLs. output={getattr(response, 'output', None)}\")\n                \n                # Check if we should download\n                if save_dir:\n                    os.makedirs(save_dir, exist_ok=True)\n                    local_files = []\n                    for i, url in enumerate(results):\n                        file_name = f\"ds_{session_id if session_id else 'nosess'}_{int(time.time())}_{i}_{uuid.uuid4().hex[:6]}.png\"\n                        file_path = os.path.join(save_dir, file_name)\n                        if self.image_processor.download_image(url, file_path):\n                            local_files.append(file_path)\n                    return local_files\n                \n                return results\n            else:\n                raise RuntimeError(f\"Image generation failed: {response.code}, {response.message}, status={response.status_code}\")\n        except Exception as e:\n            logging.error(f\"Error in generate_image (DashScope): {e}\")\n            raise\n\n    def edit_image(self, prompt, image_urls, model=\"wan2.7-image\", size=\"1920*1080\", n=1, session_id=None, save_dir=None):\n        \"\"\"\n        Image editing/compositing using DashScope ImageGeneration\n        \"\"\"\n        if ImageGeneration is None:\n            raise RuntimeError(\"dashscope package not installed. Run: pip install dashscope\")\n\n        # Prepare content\n        content_list = []\n        for img_url in image_urls:\n            content_list.append({\"image\": img_url})\n        content_list.append({\"text\": prompt})\n\n        messages = [","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/ATH-MaaS/Pixelle-Video/blob/848b054e4fae40dabc62ec58e960b573e83793ac/pixelle_video/services/api_services/image_dashscope.py#L113-L149","documentation":"When DashScope returns a non-200 status_code, generate_image raises a RuntimeError embedding the provider's error code, message, and HTTP status — the authoritative provider-side failure signal.","triggerScenarios":"Any non-200 DashScope response: invalid API key (401), throttling/rate limit, insufficient quota, invalid parameters, model access denied, content policy rejection.","commonSituations":"Exhausted daily quota; wrong API key for the region/endpoint; unsupported size/model combination; triggering moderation filters with a flagged prompt.","solutions":["Read response.code/response.message in the error to identify the cause","Fix credentials or top up quota if 401/quota-related","Back off and retry on rate-limit codes","Rephrase the prompt if the code indicates content moderation"],"exampleFix":"// before\npaths = gen.generate_image(prompt=p, model=\"wan2.7-image\", size=\"9999*1\")\n// after\npaths = gen.generate_image(prompt=p, model=\"wan2.7-image\", size=\"1024*1024\")","handlingStrategy":"try-catch","validationCode":"if response.status_code != 200:\n    if \"Throttling\" in str(response.code):\n        time.sleep(backoff)\n    elif \"InvalidApiKey\" in str(response.code):\n        raise SystemExit(\"Fix DASHSCOPE_API_KEY\")","typeGuard":null,"tryCatchPattern":"try:\n    paths = gen.generate_image(prompt=p)\nexcept RuntimeError as e:\n    if \"status=429\" in str(e) or \"Throttling\" in str(e):\n        time.sleep(5)\n        paths = gen.generate_image(prompt=p)\n    else:\n        raise","preventionTips":["Map DashScope error codes to retryable vs fatal","Monitor quota usage proactively","Pre-screen prompts against content policy"],"tags":["api-error","http-status","image-generation"],"backgroundTag":"upstream-api-error","analyzedSha":"848b054e4fae40dabc62ec58e960b573e83793ac","analyzedAt":"2026-08-30T03:24:41.468Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}