Implementation:Openai Openai python Files Create
Appearance
| 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