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

  1. Provide 'data' bytes or a 'url' on image input blocks.
  2. 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.