uploadFile
Upload a file to a provider and get a reference back.
Uploads bytes through any FileUploadAPI (OpenAI Files, Anthropic Files) and
returns a handle you can attach to a message. The resulting
providerReference reaches OpenAI as file_id and Anthropic as a file
source, and is ignored by providers it was not minted for.
let file = try await uploadFile(
api: OpenAIFiles(),
data: pdf,
filename: "report.pdf"
)Signature
func uploadFile(
api: any FileUploadAPI,
data: Data,
filename: String,
mediaType: String = "application/octet-stream",
purpose: String = "user_data"
) async throws -> UploadedFileDefined in Sources/AI/Providers/FileUploads.swift.
Parameters
| Parameter | Type | Default |
|---|---|---|
api | any FileUploadAPI | required |
data | Data | required |
filename | String | required |
mediaType | String | "application/octet-stream" |
purpose | String | "user_data" |
Returns
An UploadedFile.