
OpenAI UploadFile
CertifiedUpload files to OpenAI storage
OpenAI UploadFile
Upload files to OpenAI storage
Sends a file from Kestra internal storage to OpenAI for assistants, fine-tune, search, or other purposes, returning the upload ID. Uses a temp copy locally before upload; unknown purposes fall back to assistants.
type: io.kestra.plugin.openai.UploadFileExamples
Upload a file to OpenAI and get its ID for later use.
id: openai_file_upload
namespace: company.team
inputs:
- id: dataFile
type: FILE
tasks:
- id: upload_file
type: io.kestra.plugin.openai.UploadFile
apiKey: "{{ secret('OPENAI_API_KEY') }}"
file: "{{ inputs.dataFile }}"
purpose: "fine-tune"
- id: use_file_id
type: io.kestra.plugin.core.log.Log
message: "Uploaded file ID: {{ outputs.upload_file.fileId }}"
Upload a user data file with description for search purposes
id: openai_search_file
namespace: company.team
inputs:
- id: documentFile
type: FILE
tasks:
- id: upload
type: io.kestra.plugin.openai.UploadFile
apiKey: "{{ secret('OPENAI_API_KEY') }}"
file: "{{ inputs.documentFile }}"
purpose: "search"
description: "Customer knowledge base articles for retrieval"
Properties
apiKey *Requiredstring
OpenAI API key
from *Requiredstring
Source file URI
Required kestra:// or other storage URI pointing to the file to upload.
Pebble expression referencing an Internal Storage URI e.g. {{ outputs.mytask.uri }}.
purpose *Requiredstring
Upload purpose
Accepted values include assistants, fine-tune, vision, user_data, evals, batch; defaults to assistants for unrecognized values.
clientTimeout Non-dynamicinteger
10The maximum number of seconds to wait for a response
pluginDefaultsRef Non-dynamicstring
Reference (ref) of the pluginDefaults to apply to this task.
user string
A unique identifier representing your end-user
Outputs
fileId string
Uploaded file ID