Comfy-Org/ComfyUI · error · ValueError
Empty response from Seed model.
Error message
Empty response from Seed model.
What it means
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.
Source
Thrown at comfy_api_nodes/nodes_bytedance_llm.py:234
response = await sync_op(
cls,
ApiEndpoint(path=BYTEPLUS_RESPONSES_ENDPOINT, method="POST"),
response_model=BytePlusResponseObject,
data=BytePlusResponseCreateRequest(
model=model_id,
input=[BytePlusInputMessage(role="user", content=content)],
instructions=system_prompt or None,
temperature=temperature,
store=False,
stream=False,
),
)
if response.error:
raise ValueError(f"Seed API error ({response.error.code}): {response.error.message}")
result = _get_text_from_response(response)
if not result:
raise ValueError("Empty response from Seed model.")
return IO.NodeOutput(result)
class ByteDanceLLMExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[IO.ComfyNode]]:
return [ByteDanceSeedNode]
async def comfy_entrypoint() -> ByteDanceLLMExtension:
return ByteDanceLLMExtension()
View on GitHub (pinned to 1c6d8d45b3)
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.
Defensive patterns
Strategy: retry
Try / catch
for attempt in range(2):
try:
return await seed_node.execute(...)
except ValueError as e:
if "Empty response" in str(e) and attempt == 0:
continue # transient empty-but-successful response
raise Prevention
- 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.
When it happens
Trigger: 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.
Common situations: 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.
Related errors
- Seed API error ({response.error.code}): {response.error.mess
- ByteDance request failed. Code: {response.error['code']}, me
- Seed Audio returned no audio (code={response.code}): {respon
- Model refused to respond: {block.refusal}
- Up to {SEED_MAX_IMAGES} images are supported per request.
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/c5f88b8a53814b33.
Report an issue: GitHub.