NousResearch/hermes-agent · error · ValueError
image input block requires 'data' bytes or 'url'
Error message
image input block requires 'data' bytes or 'url'
What it means
Error "image input block requires 'data' bytes or 'url'" thrown in NousResearch/hermes-agent.
Source
Thrown at agent/plugin_llm.py:473
"type": "image",
"mime_type": block.mime_type,
"file_name": block.file_name,
}
if block.data is not None:
d["data"] = block.data
if block.url:
d["url"] = block.url
return d
if isinstance(block, dict):
kind = block.get("type")
if kind == "text":
text = block.get("text")
if not isinstance(text, str):
raise ValueError("text input block requires 'text' string")
return {"type": "text", "text": text}
if kind == "image":
if "data" not in block and not block.get("url"):
raise ValueError("image input block requires 'data' bytes or 'url'")
return {
"type": "image",
"data": block.get("data"),
"url": block.get("url"),
"mime_type": block.get("mime_type") or "image/png",
"file_name": block.get("file_name") or "",
}
raise ValueError(f"Unknown input block type: {kind!r}")
raise ValueError(f"Unsupported input block: {type(block).__name__}")
def _build_structured_messages(
*,
instructions: str,
inputs: Sequence[PluginLlmInput],
json_mode: bool,
json_schema: Optional[Any],
schema_name: Optional[str],View on GitHub (pinned to c896c09c42)
Solutions
- Provide 'data' bytes or a 'url' on image input blocks.
- Fix the plugin code constructing the image block.
When it happens
Trigger: Thrown at agent/plugin_llm.py:473 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14).
Data as JSON: /api/errors/cfdc82849a1e2b35.
Report an issue: GitHub.