File Handling & Size Limits
How indie.money handles files, binary data, and what size limits apply
Written By pvdyck
Last updated 9 days ago
File Handling & Size Limits
indie.money processes files entirely in memory. This makes execution fast and secure, but limits the maximum file size you can work with.
File Size Limit
Maximum file size: 50 MB per file.
This applies to:
- Files downloaded by nodes (HTTP Request, Telegram Get a File, Google Drive Download, etc.)
- Files uploaded by nodes (Google Drive Upload, Telegram Send Photo, etc.)
- Binary data passed between nodes in a workflow
If a file exceeds 50 MB, the workflow stops with a clear error message explaining the limit.
How Files Work
When a node downloads a file:
- The file is fetched from the external service
- It is held in memory for the duration of the workflow
- It can be passed to the next node (e.g., download from Telegram, upload to Google Drive)
- After the workflow finishes, the file is released from memory
Files are not stored permanently on the platform. Each execution starts fresh.
Working with Files
Download and Forward
The most common pattern: one node downloads a file and the next node uploads it somewhere else.
Example: Telegram photo to Google Drive
- Telegram Trigger receives a photo message
- Telegram "Get a File" downloads the photo (enable the Download option)
- Google Drive "Upload File" receives the binary data and uploads it
File Metadata
When a file is downloaded, the platform detects:
- File name from the source or URL
- MIME type (image/jpeg, application/pdf, etc.) from file content or extension
- File size in bytes
Nodes that output files include this metadata automatically.
Supported File Types
Any file type is supported as long as it is under 50 MB. Common examples:
- Images (JPEG, PNG, GIF, WebP, SVG)
- Documents (PDF, DOCX, XLSX, CSV)
- Audio (MP3, OGG, WAV)
- Video (MP4, WebM) β keep under 50 MB
- Archives (ZIP, TAR) β the platform transfers them but cannot extract contents
Tips for Staying Under the Limit
- Use URLs instead of binary data when possible. Many nodes accept a file URL directly (e.g., Telegram sendPhoto with a URL). This avoids downloading the file through the platform entirely.
- Resize images before processing. If you are generating images with AI, request a smaller resolution.
- Split large datasets. Instead of downloading one 100 MB CSV, paginate the API to get smaller chunks.
- Avoid video processing. Video files are often large. If you need to handle video, use a URL reference and let the destination service fetch it directly.
Error Messages
Both errors stop the workflow immediately with details about the file size.