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 python Files Create

From Leeroopedia
Knowledge Sources
Domains Data_Engineering, File_Management
Last Updated 2026-02-15 00:00 GMT

Overview

Concrete tool for uploading files to OpenAI including chunked upload for large files provided by the OpenAI Python SDK.

Description

The Files resource provides create() for single-request uploads. The Uploads resource provides upload_file_chunked() for multi-part chunked uploads of large files with automatic part management and checksum verification.

Usage

Use client.files.create() for standard uploads. Use client.uploads.upload_file_chunked() for files larger than 512MB or when upload reliability is important.

Code Reference

Source Location

  • Repository: openai-python
  • File: src/openai/resources/files.py
  • Lines: L58-136 (Files.create sync)
  • File: src/openai/resources/uploads/uploads.py
  • Lines: L94-163 (upload_file_chunked sync), L390-470 (async)

Signature

class Files(SyncAPIResource):
    def create(
        self,
        *,
        file: FileTypes,
        purpose: FilePurpose,
        # ... additional parameters
    ) -> FileObject:
        """
        Uploads a file for use with fine-tuning, assistants, or batch.

        Args:
            file: File to upload (path, bytes, or file-like).
            purpose: "fine-tune", "assistants", "batch", etc.
        """
class Uploads(SyncAPIResource):
    def upload_file_chunked(
        self,
        *,
        file: os.PathLike[str] | bytes,
        mime_type: str,
        purpose: FilePurpose,
        filename: str | None = None,
        bytes: int | None = None,
        part_size: int | None = None,
        md5: str | NotGiven = NOT_GIVEN,
    ) -> Upload:
        """
        Uploads a large file in chunks.

        Args:
            file: File path or bytes to upload.
            mime_type: MIME type (e.g., "application/jsonl").
            purpose: File purpose.
            part_size: Chunk size in bytes (default 64MB).
            md5: Optional checksum for verification.
        """

Import

from openai import OpenAI
# client.files.create() and client.uploads.upload_file_chunked()

I/O Contract

Inputs

Name Type Required Description
file FileTypes Yes File to upload (path, bytes, file-like)
purpose FilePurpose Yes "fine-tune", "assistants", "batch"
mime_type str Yes (chunked) MIME type of the file
part_size int No Chunk size for chunked upload (default 64MB)

Outputs

Name Type Description
file_object FileObject Uploaded file with .id for use in API calls
upload (chunked) Upload Upload object with nested FileObject

Usage Examples

Standard Upload

from openai import OpenAI

client = OpenAI()
file = client.files.create(
    file=open("training_data.jsonl", "rb"),
    purpose="fine-tune",
)
print(f"File ID: {file.id}")

Chunked Upload for Large Files

from pathlib import Path

upload = client.uploads.upload_file_chunked(
    file=Path("large_training_data.jsonl"),
    mime_type="application/jsonl",
    purpose="fine-tune",
)
print(f"File ID: {upload.file.id}")

Related Pages

Implements Principle

Requires Environment

Page Connections

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