Class MultimodalToolCallResultConverter
java.lang.Object
com.alibaba.cloud.ai.graph.agent.tool.multimodal.MultimodalToolCallResultConverter
- All Implemented Interfaces:
org.springframework.ai.tool.execution.ToolCallResultConverter
- Direct Known Subclasses:
MultimodalBase64ToolCallResultConverter
public class MultimodalToolCallResultConverter
extends Object
implements org.springframework.ai.tool.execution.ToolCallResultConverter
ToolCallResultConverter that handles ToolMultimodalResult for
image/audio and other multimodal tool outputs.
Tools return ToolMultimodalResult with Media (URI or bytes) without
caring about output format. This converter serializes based on OutputFormat:
- url (default): Prefer url when available; Media(bytes) → save to temp file
- base64: Prefer base64 when available; Media(URI) → fetch and encode if needed
When both url and base64 are available (ToolMultimodalResult.mediaFromUrlAndBase64(java.lang.String, java.lang.String, org.springframework.util.MimeType)),
the converter uses the format matching OutputFormat without unnecessary fetch or encode.
Usage: configure at instantiation. For @Tool(resultConverter = X.class),
use default (url) or MultimodalBase64ToolCallResultConverter for base64.
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor for@Tool(resultConverter = MultimodalToolCallResultConverter.class).MultimodalToolCallResultConverter(OutputFormat outputFormat) Constructor with configurable output format. -
Method Summary
-
Constructor Details
-
MultimodalToolCallResultConverter
public MultimodalToolCallResultConverter()Default constructor for@Tool(resultConverter = MultimodalToolCallResultConverter.class). UsesOutputFormat.url. -
MultimodalToolCallResultConverter
Constructor with configurable output format.- Parameters:
outputFormat- url (model-friendly) or base64 (inline for client)
-
-
Method Details
-
convert
- Specified by:
convertin interfaceorg.springframework.ai.tool.execution.ToolCallResultConverter
-