feat(capture): switch Gemini 2.5 Flash → 3.1 Flash Lite

Gemini 3.1 Flash Lite Preview: 2.5x faster TTFT, 45% faster output,
slightly cheaper ($0.25/M vs $0.30/M input), near-2.5-Flash quality.
Descriptions are actually more detailed in testing.
This commit is contained in:
ularkim
2026-04-16 22:58:50 -04:00
committed by ukimsanov
parent a77a6cbbf7
commit de5b53c08b
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -174,7 +174,7 @@ export async function captionImagesWithGemini(
// Free tier: 5 RPM → batch 5, 12s pause (~$0 but slow)
// Paid tier: 2000 RPM → batch 20, 1s pause (~$0.001/image, fast)
// We try a larger batch first; if rate-limited, fall back to smaller batches.
const model = "gemini-2.5-flash";
const model = "gemini-3.1-flash-lite-preview";
const BATCH_SIZE = 20;
for (let i = 0; i < imageFiles.length; i += BATCH_SIZE) {
const batch = imageFiles.slice(i, i + BATCH_SIZE);
@@ -210,7 +210,7 @@ export async function captionImagesWithGemini(
geminiCaptions[result.value.file] = result.value.caption;
}
}
// Pace requests to stay under free tier rate limits (5 RPM for gemini-2.5-flash)
// Pace requests between batches (paid tier: 2000+ RPM, free tier: rate-limited)
if (i + BATCH_SIZE < imageFiles.length) {
await new Promise((r) => setTimeout(r, 2000)); // 2s pause between batches — paid tier handles 2000 RPM, free tier retries via Promise.allSettled
}
@@ -8,7 +8,7 @@ npx hyperframes capture <URL> -o captures/<project-name>
No API keys required. The capture extracts design tokens, screenshots, fonts, and assets with DOM-context descriptions automatically.
**Optional:** Set `GEMINI_API_KEY` (or `GOOGLE_API_KEY`) in a `.env` file at the repo root for richer AI-powered image descriptions via Gemini 2.5 Flash vision. Free tier: 5 RPM; paid tier removes the bottleneck.
**Optional:** Set `GEMINI_API_KEY` (or `GOOGLE_API_KEY`) in a `.env` file at the repo root for richer AI-powered image descriptions via Gemini 3.1 Flash Lite vision (~$0.001/image).
Wait for it to complete. Print how many screenshots, assets, sections, and fonts were extracted.