OpenAI UploadFile

OpenAI UploadFile

Certified

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.

yaml
type: io.kestra.plugin.openai.UploadFile

Upload a file to OpenAI and get its ID for later use.

yaml
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

yaml
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

OpenAI API key

Source file URI

Required kestra:// or other storage URI pointing to the file to upload.

Upload purpose

Accepted values include assistants, fine-tune, vision, user_data, evals, batch; defaults to assistants for unrecognized values.

Default10

The maximum number of seconds to wait for a response

Reference (ref) of the pluginDefaults to apply to this task.

A unique identifier representing your end-user

Uploaded file ID