{"record":{"id":"c8d857b8be3ed5f0","repo":"Comfy-Org/ComfyUI","slug":"seed-audio-returned-no-audio-code-response-code","errorCode":null,"errorMessage":"Seed Audio returned no audio (code={response.code}): {response.message}","messagePattern":"Seed Audio returned no audio \\(code=(.+?)\\): (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"comfy_api_nodes/nodes_bytedance.py","lineNumber":3395,"sourceCode":"\n        response = await sync_op(\n            cls,\n            ApiEndpoint(path=\"/proxy/byteplus/api/v3/tts/create\", method=\"POST\"),\n            response_model=SeedAudioResponse,\n            data=SeedAudioRequest(\n                model=model,\n                text_prompt=text_prompt,\n                references=references,\n                audio_config=SeedAudioConfig(\n                    sample_rate=int(sample_rate),\n                    speech_rate=speech_rate,\n                    loudness_rate=loudness_rate,\n                    pitch_rate=pitch_rate,\n                ),\n            ),\n        )\n        if not response.audio:\n            raise Exception(\n                f\"Seed Audio returned no audio (code={response.code}): {response.message}\"\n            )\n        return IO.NodeOutput(audio_bytes_to_audio_input(base64.b64decode(response.audio)))\n\n\nclass ByteDanceExtension(ComfyExtension):\n    @override\n    async def get_node_list(self) -> list[type[IO.ComfyNode]]:\n        return [\n            ByteDanceImageNode,\n            ByteDanceSeedreamNode,\n            ByteDanceSeedreamNodeV2,\n            ByteDanceSeedreamLayerSeparationNode,\n            ByteDanceTextToVideoNode,\n            ByteDanceImageToVideoNode,\n            ByteDanceFirstLastFrameNode,\n            ByteDanceImageReferenceNode,\n            ByteDance2TextToVideoNode,","sourceCodeStart":3377,"sourceCodeEnd":3413,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_bytedance.py#L3377-L3413","documentation":"Raised after the Seed Audio API call succeeds at the transport level but the response object contains an empty `audio` field. The message includes the service's numeric response code and message, so the upstream refusal reason (content moderation, invalid reference audio, quota, etc.) is surfaced directly. This is an API-side failure, not a local validation error.","triggerScenarios":"A sync_op call to the ByteDance Seed Audio endpoint returns 2xx with response.audio empty and a non-zero response.code — e.g. prompt rejected by content filters, unreadable reference audio, or service-side generation failure.","commonSituations":"Prompts with disallowed content; corrupted or silent reference audio clips; invalid API credentials hitting a service-level error path; transient upstream incidents; region/account restrictions on the Seed Audio model.","solutions":["Read the code/message in the error text — it is the upstream service's own reason and dictates the fix.","Rephrase the prompt or swap the reference audio if the code indicates content policy or invalid input.","Verify the ByteDance/Volcengine API credentials and that the account has Seed Audio access.","Retry once after a short wait — transient service failures can return an empty audio payload."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    audio = await seed_audio_node.execute(...)\nexcept Exception as e:\n    if \"returned no audio\" in str(e):\n        # inspect code/message embedded in the error text, then retry once or surface to user\n        log.warning(f\"Seed Audio empty result: {e}\")\n        raise","preventionTips":["Keep prompts within the service's content policy to avoid non-zero response codes.","Use clean, audible reference audio clips (valid WAV/MP3, non-silent).","Confirm API credentials and Seed Audio entitlements before batch runs."],"tags":["comfyui","bytedance","seed-audio","api-error","network","content-moderation"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}