@@ -657,11 +657,26 @@ class ImageContent(BaseModel):
657657 model_config = ConfigDict (extra = "allow" )
658658
659659
660+ class AudioContent (BaseModel ):
661+ """Audio content for a message."""
662+
663+ type : Literal ["audio" ]
664+ data : str
665+ """The base64-encoded audio data."""
666+ mimeType : str
667+ """
668+ The MIME type of the audio. Different providers may support different
669+ audio types.
670+ """
671+ annotations : Annotations | None = None
672+ model_config = ConfigDict (extra = "allow" )
673+
674+
660675class SamplingMessage (BaseModel ):
661676 """Describes a message issued to or received from an LLM API."""
662677
663678 role : Role
664- content : TextContent | ImageContent
679+ content : TextContent | ImageContent | AudioContent
665680 model_config = ConfigDict (extra = "allow" )
666681
667682
@@ -683,7 +698,7 @@ class PromptMessage(BaseModel):
683698 """Describes a message returned as part of a prompt."""
684699
685700 role : Role
686- content : TextContent | ImageContent | EmbeddedResource
701+ content : TextContent | ImageContent | AudioContent | EmbeddedResource
687702 model_config = ConfigDict (extra = "allow" )
688703
689704
@@ -801,7 +816,7 @@ class CallToolRequest(Request[CallToolRequestParams, Literal["tools/call"]]):
801816class CallToolResult (Result ):
802817 """The server's response to a tool call."""
803818
804- content : list [TextContent | ImageContent | EmbeddedResource ]
819+ content : list [TextContent | ImageContent | AudioContent | EmbeddedResource ]
805820 isError : bool = False
806821
807822
@@ -965,7 +980,7 @@ class CreateMessageResult(Result):
965980 """The client's response to a sampling/create_message request from the server."""
966981
967982 role : Role
968- content : TextContent | ImageContent
983+ content : TextContent | ImageContent | AudioContent
969984 model : str
970985 """The name of the model that generated the message."""
971986 stopReason : StopReason | None = None
0 commit comments