upload method uploads files to Reductoβs servers and returns a file reference that you can use with other endpoints.
Basic Usage
Method Signature
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
file | Path | bytes | tuple | BinaryIO | Yes | The file to upload. Can be a Path object, file-like object, bytes, or a tuple of (filename, contents, media_type). |
extension | str | None | No | Override the file extension (e.g., ".pdf"). Useful when uploading bytes without filename context. |
Returns
Upload with the following fields:
file_id(str): The file reference to use with other endpoints (format:reducto://...)presigned_url(str | None): A presigned URL for the uploaded file (if applicable)
Upload Options
From File Path
The most common way to upload. Usepathlib.Path:
From File Object
From Bytes
When uploading raw bytes, use a tuple to provide filename and content type:With Extension Override
Useextension when the file type cannot be inferred:
From URL (Presigned URLs)
For large files, you can generate a presigned URL and pass it directly to parse/extract endpoints without uploading:Async Upload
The async client uses the same interface:File Size Limits
- Direct upload: Up to 100MB
- Presigned URLs: Up to 5GB
Large File Upload Guide
Complete guide to uploading large files using presigned URLs.
Supported File Types
The SDK accepts any file type that Reducto supports. Common formats include:- Documents: PDF, DOCX, DOC, RTF
- Images: PNG, JPEG, TIFF, BMP
- Spreadsheets: XLSX, XLS, CSV
- Presentations: PPTX, PPT
Supported File Formats
Complete list of supported file formats.
Error Handling
- File not found: The file path doesnβt exist
- File too large: File exceeds 100MB limit (use presigned URLs)
- Invalid file type: File format not supported
- Network error: Connection issues during upload
Examples
Upload and Parse
Batch Upload
Upload with Extension Override
Best Practices
Use Path Objects
Prefer
pathlib.Path over string paths for better cross-platform compatibility.Handle Large Files
For files > 100MB, use presigned URLs instead of direct upload.
Reuse File IDs
File IDs can be reused across multiple operations without re-uploading.
Error Handling
Always wrap uploads in try/except blocks for production code.
Next Steps
- Learn about parsing documents after upload
- Explore extracting data from uploaded files
- Check out large file uploads for files > 100MB