Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Openai Openai node Files Create

From Leeroopedia
Knowledge Sources
Domains Fine_Tuning, Data_Preparation
Last Updated 2026-02-15 00:00 GMT

Overview

Concrete tool for uploading files to the OpenAI platform provided by the openai-node SDK.

Description

The Files.create() method uploads a file via multipart form POST to the /files endpoint. It accepts an Uploadable (File, Response, ReadStream, or BlobLike) with a purpose string. For fine-tuning, the purpose must be fine-tune. The SDK's internal multipartFormRequestOptions handles encoding the file as multipart form data across different runtime environments.

Usage

Use this method to upload JSONL training files before creating a fine-tuning job. Also used for uploading files for Assistants (purpose: 'assistants' ) and batch processing (purpose: 'batch' ).

Code Reference

Source Location

  • Repository: openai-node
  • File: src/resources/files.ts
  • Lines: L37-39

Signature

class Files extends APIResource {
  create(
    body: FileCreateParams,
    options?: RequestOptions,
  ): APIPromise<FileObject>;
}

interface FileCreateParams {
  file: Uploadable;
  purpose: FilePurpose;  // 'fine-tune' | 'assistants' | 'batch' | ...
  expires_after?: ExpiresAfter;
}

Import

import OpenAI, { toFile } from 'openai';
// Access via: client.files.create(...)

I/O Contract

Inputs

Name Type Required Description
file Uploadable Yes File to upload (File, ReadStream, Response, Blob)
purpose FilePurpose Yes File purpose ('fine-tune' for training data)
expires_after ExpiresAfter No Optional expiration policy

Outputs

Name Type Description
fileObject FileObject Uploaded file metadata with id, filename, bytes, purpose, status, created_at

Usage Examples

Upload Training File (Node.js)

import OpenAI from 'openai';
import fs from 'fs';

const client = new OpenAI();

const file = await client.files.create({
  file: fs.createReadStream('training_data.jsonl'),
  purpose: 'fine-tune',
});

console.log('File ID:', file.id);
console.log('Status:', file.status);

Upload with toFile Helper

import OpenAI, { toFile } from 'openai';

const client = new OpenAI();

// From a buffer or blob
const file = await client.files.create({
  file: await toFile(Buffer.from('...jsonl content...'), 'training.jsonl'),
  purpose: 'fine-tune',
});

Related Pages

Implements Principle

Requires Environment

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment