Files as input
Send a file with JSON-serializable content
The Truss CLI has a-f 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-f flag for truss 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: