← upfile.sh
Google Gemini API
File Upload API for Gemini
Upload files from your terminal or scripts and get permanent CDN URLs for use with Gemini 1.5 Pro, Flash, and other multimodal models.
# Install once
$ npm install -g upfilesh
# Upload your file
$ upfile video.mp4
https://cdn.upfile.sh/abc123.mp4
Why use upfile with Gemini?
No Payload Limits
Stream large files — videos, PDFs, audio — without hitting API size limits.
Reuse Across Calls
Upload once, reference by URL in multiple Gemini prompts.
Works with 1.5 Pro & Flash
Send images, video, audio, and documents to any Gemini multimodal model.
Free tier
1GB storage free. No credit card required to start.
Python Example
import subprocess
import google.generativeai as genai
# Upload file, get permanent URL
url = subprocess.check_output(["upfile", "document.pdf"]).decode().strip()
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-1.5-pro")
response = model.generate_content([
{"file_data": {"file_uri": url}},
"Summarize this document"
])
print(response.text)