Upload File

Supported Providers
  • OpenAI

  • TogetherAI

Example Usage

import fs from "fs";
import OpenAI from 'openai';
import { PORTKEY_GATEWAY_URL, createHeaders } from 'portkey-ai'

const client = new OpenAI({
  baseURL: PORTKEY_GATEWAY_URL,
  defaultHeaders: createHeaders({
    apiKey: "PORTKEY_API_KEY",
    virtualKey: "PROVIDER_VIRTUAL_KEY"
  })
});

async function main() {
  const file = await client.files.create({
    file: fs.createReadStream("mydata.jsonl"),
    purpose: "batch",
  });

  console.log(file);
}

main();

Upload a file to be used across various endpoints, such as Assistant (<2M tokens), Fine-Tuning, and Batch (<100 MB). Total size of your bucket is 100 GB.

post
Authorizations
Body
filestring · binaryRequired

The File object (not file name) to be uploaded.

purposestring · enumRequired

The intended purpose of the uploaded file.

Use "assistants" for Assistants and Message files, "vision" for Assistants image file inputs, "batch" for Batch API, and "fine-tune" for Fine-tuning.

Possible values:
Responses
200

OK

application/json
post
curl https://api.portkey.ai/v1/files \
  -H "x-portkey-api-key: $PORTKEY_API_KEY" \
  -H "x-portkey-virtual-key: $PORTKEY_PROVIDER_VIRTUAL_KEY" \
  -F purpose="fine-tune" \
  -F file="@mydata.jsonl"
200

OK

{
  "id": "text",
  "bytes": 1,
  "created_at": 1,
  "filename": "text",
  "object": "file",
  "purpose": "assistants"
}

Last updated

Was this helpful?