Audio
Audio values to BAML functions can be created in client libraries. This document explains how to use these functions both at compile time and runtime to handle audio data. For more details, refer to audio types.
Usage Examples
API Reference
Python
TypeScript
Go
Ruby
Static Methods
Creates an Audio object from a URL. Optionally specify the media type, otherwise it will be inferred from the URL.
Creates an Audio object using Base64 encoded data along with the given MIME type.
Instance Methods
Check if the audio is stored as a URL.
Get the URL of the audio if it’s stored as a URL. Raises an exception if the audio is not stored as a URL.
Get the base64 data and media type if the audio is stored as base64. Returns [base64_data, media_type]. Raises an exception if the audio is not stored as base64.
Convert the audio to a dictionary representation. Returns either {"url": str} or {"base64": str, "media_type": str}.
URL Handling
Audio URLs are processed according to your client’s media_url_handler configuration:
- OpenAI: By default converts to base64 (
send_base64) for compatibility. - Vertex AI: By default uses
send_url_add_mime_typeto include MIME type. - Anthropic: By default keeps URLs as-is (
send_url). - Google AI: By default keeps URLs as-is (
send_url). - AWS Bedrock: By default converts to base64 (
send_base64).
Note: OpenAI requires audio to be base64-encoded, which is why the default is send_base64.