Files as input
Send a file with JSON-serializable content
The Baseten CLI has a--file flag to pass file input. If you’re using the API endpoint from Python, get file contents with the standard f.read() function.
Send a file with non-serializable content
The--file flag for baseten model predict only applies to JSON-serializable content. For other files, like the audio files required by MusicGen Melody, base64-encode the file content before you send it:
call_model.py
Send a URL to a public file
Rather than encoding and serializing a file to send in the HTTP request, write a Truss that takes a URL as input and loads the content in thepreprocess() function. Here’s an example from Whisper in the model library:
model/model.py
Files as output
Save model output to a local file
Saving model output to a local file needs no Baseten-specific code. Use the standard> operator in bash or the file.write() function in Python: