@@ -651,11 +651,26 @@ class ImageContent(BaseModel):
651651 model_config = ConfigDict (extra = "allow" )
652652
653653
654+ class AudioContent (BaseModel ):
655+ """Audio content for a message."""
656+
657+ type : Literal ["audio" ]
658+ data : str
659+ """The base64-encoded audio data."""
660+ mimeType : str
661+ """
662+ The MIME type of the audio. Different providers may support different
663+ audio types.
664+ """
665+ annotations : Annotations | None = None
666+ model_config = ConfigDict (extra = "allow" )
667+
668+
654669class SamplingMessage (BaseModel ):
655670 """Describes a message issued to or received from an LLM API."""
656671
657672 role : Role
658- content : TextContent | ImageContent
673+ content : TextContent | ImageContent | AudioContent
659674 model_config = ConfigDict (extra = "allow" )
660675
661676
@@ -677,7 +692,7 @@ class PromptMessage(BaseModel):
677692 """Describes a message returned as part of a prompt."""
678693
679694 role : Role
680- content : TextContent | ImageContent | EmbeddedResource
695+ content : TextContent | ImageContent | AudioContent | EmbeddedResource
681696 model_config = ConfigDict (extra = "allow" )
682697
683698
@@ -796,7 +811,7 @@ class CallToolRequest(Request[CallToolRequestParams, Literal["tools/call"]]):
796811class CallToolResult (Result ):
797812 """The server's response to a tool call."""
798813
799- content : list [TextContent | ImageContent | EmbeddedResource ]
814+ content : list [TextContent | ImageContent | AudioContent | EmbeddedResource ]
800815 isError : bool = False
801816
802817
@@ -960,7 +975,7 @@ class CreateMessageResult(Result):
960975 """The client's response to a sampling/create_message request from the server."""
961976
962977 role : Role
963- content : TextContent | ImageContent
978+ content : TextContent | ImageContent | AudioContent
964979 model : str
965980 """The name of the model that generated the message."""
966981 stopReason : StopReason | None = None
0 commit comments