{"record":{"id":"c5f88b8a53814b33","repo":"Comfy-Org/ComfyUI","slug":"empty-response-from-seed-model","errorCode":null,"errorMessage":"Empty response from Seed model.","messagePattern":"Empty response from Seed model\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"comfy_api_nodes/nodes_bytedance_llm.py","lineNumber":234,"sourceCode":"\n        response = await sync_op(\n            cls,\n            ApiEndpoint(path=BYTEPLUS_RESPONSES_ENDPOINT, method=\"POST\"),\n            response_model=BytePlusResponseObject,\n            data=BytePlusResponseCreateRequest(\n                model=model_id,\n                input=[BytePlusInputMessage(role=\"user\", content=content)],\n                instructions=system_prompt or None,\n                temperature=temperature,\n                store=False,\n                stream=False,\n            ),\n        )\n        if response.error:\n            raise ValueError(f\"Seed API error ({response.error.code}): {response.error.message}\")\n        result = _get_text_from_response(response)\n        if not result:\n            raise ValueError(\"Empty response from Seed model.\")\n        return IO.NodeOutput(result)\n\n\nclass ByteDanceLLMExtension(ComfyExtension):\n    @override\n    async def get_node_list(self) -> list[type[IO.ComfyNode]]:\n        return [ByteDanceSeedNode]\n\n\nasync def comfy_entrypoint() -> ByteDanceLLMExtension:\n    return ByteDanceLLMExtension()\n","sourceCodeStart":216,"sourceCodeEnd":246,"githubUrl":"https://github.com/Comfy-Org/ComfyUI/blob/1c6d8d45b3693bfbb32385b410d813a7fd6be216/comfy_api_nodes/nodes_bytedance_llm.py#L216-L246","documentation":"Raised by the ByteDanceSeedNode when the API call completed without an error object but the response contained no extractable text — either response.output was empty or no message block had a non-empty output_text part. It distinguishes a structurally successful but content-free reply from the explicit error (390) and refusal (387) paths.","triggerScenarios":"BytePlus responses endpoint returns a response with error=None and zero output_text blocks — e.g. the model emitted only empty strings, the output array was truncated, or a service glitch returned a bare skeleton response.","commonSituations":"Edge-case prompts (empty after normalization, whitespace-only system prompts) that produce vacuous output; upstream incidents; unusual temperature settings causing degenerate output; very long prompts that get silently truncated server-side.","solutions":["Retry the request once — empty-but-successful responses are frequently transient.","Lower the temperature in the model widget if set very high.","Shorten/clarify the prompt and ensure it survives validate_string (non-empty after strip).","If persistent, check BytePlus service status or try another model from the dropdown."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"for attempt in range(2):\n    try:\n        return await seed_node.execute(...)\n    except ValueError as e:\n        if \"Empty response\" in str(e) and attempt == 0:\n            continue  # transient empty-but-successful response\n        raise","preventionTips":["Keep temperature near defaults; extreme values increase degenerate outputs.","Ensure prompts are substantive (non-empty after whitespace strip).","Treat one empty response as transient; treat repeated ones as a service/model issue."],"tags":["comfyui","bytedance","seed-llm","empty-response","api-error","transient"],"backgroundTag":null,"analyzedSha":"1c6d8d45b3693bfbb32385b410d813a7fd6be216","analyzedAt":"2026-08-14T19:37:18.893Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}