← 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)