Type Alias UpsertFileOptions

UpsertFileOptions: { assistantFileId: string; multimodal?: boolean } & (
    | { file?: never; fileName?: never; path: string }
    | { file: Uploadable; fileName: string; path?: never }
)

Options for creating or replacing a file on an assistant at a caller-supplied file ID.

Provide the assistantFileId to create or replace, along with either path (a local file path) or file + fileName (an in-memory buffer, blob, or readable stream). The two content forms are mutually exclusive.

Unlike UploadFileOptions — which always creates a new file with a server-generated ID — upsert is keyed on the ID you supply and does not accept metadata.

Type declaration

  • assistantFileId: string

    The ID of the file to create or replace. If a file with this ID already exists, its content is replaced; otherwise a new file is created with this identifier.

  • Optionalmultimodal?: boolean

    Whether to process the file as multimodal (enabling image extraction). Defaults to false.

  • { file?: never; fileName?: never; path: string }
    • Optionalfile?: never
    • OptionalfileName?: never
    • path: string

      The local path to the file to upload. The file is read asynchronously.

  • { file: Uploadable; fileName: string; path?: never }
    • file: Uploadable

      The file data to upload. Accepts a Buffer, Blob, or Node.js ReadableStream. When passing a stream, fileName is required so the server receives a meaningful filename.

    • fileName: string

      The filename to use in the multipart upload (e.g. "report.pdf"). Required when using file.

    • Optionalpath?: never