Files as input
Example: 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 via Python, get file contents with the standard f.read()
function.
Example: 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, the file content needs to be base64 encoded before it is sent.
Example: Send a URL to a public file
Rather than encoding and serializing a file to send in the HTTP request, you can instead 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.
Files as output
Example: Save model output to local file
When saving model output to a local file, there’s nothing Baseten-specific about the code. Just use the standard>
operator in bash or file.write()
function in Python to save the model output.