Skip to content

API keys ​

Aparture routes LLM requests through Anthropic (Claude), OpenAI (GPT), or Google (Gemini). You need at least one provider API key to run the pipeline, and you can mix providers across pipeline stages or add additional keys later without changing your existing setup.

TL;DR ​

Choose one provider to get started. If you do not have an existing preference, start with Google AI because Aparture's default model slots use Gemini models that are covered by Google's free tier without requiring a credit card.

Pick a provider ​

Current models from all three providers perform well across Aparture's filtering, scoring, PDF reading, and synthesis stages, so your initial choice primarily comes down to billing structure and account setup.

After you get your key ​

Once you have generated an API key from your chosen provider, complete these steps in Aparture:

  1. Open .env.local in the repository root and confirm that ACCESS_PASSWORD is set (see the install page if you have not set a password yet).
  2. Add your API key under the corresponding environment variable name:
    • CLAUDE_API_KEY=sk-ant-api03-... for Anthropic
    • GOOGLE_AI_API_KEY=... for Google (pasted exactly as shown in Google AI Studio)
    • OPENAI_API_KEY=sk-proj-... for OpenAI
  3. Restart npm run dev if the server is already running, because Next.js loads .env.local at startup.
  4. Run the API Setup Check in the UI to verify your key, configured model IDs, and request syntax at zero token cost.
  5. Run the Minimal API Test in the UI to execute a five-paper end-to-end test run.

Because Aparture's default model slots all point to Google Gemini models, users starting with Anthropic or OpenAI should switch their active model slots in Settings to their configured provider before running the Minimal API Test, as detailed in the provider-specific guides.

How Aparture uses models ​

Aparture provides six pipeline model slots (filter, scoring, post-processing, PDF analysis, briefing, and quick summaries) plus one slot for the podcast add-on. Assigning appropriate model tiers to each stage balances synthesis quality and daily cost; Model selection explains the trade-offs in detail, and each provider guide recommends a complete single-provider lineup.

Every recommended lineup pairs a fast, low-cost model for initial filtering and quick summaries with a mid-tier model for abstract scoring and a frontier model for full-PDF reading and briefing synthesis. Aparture's default configuration follows this pattern with Gemini 3.5 Flash-Lite on the filter and quick summaries, Gemini 3.6 Flash on scoring and post-processing, and Gemini 3.8 Flash on PDF analysis and the briefing.

For a walkthrough of how each stage appears during a run, see Your first briefing.

Cost at a glance ​

During a run, the quick filter evaluates every fetched abstract, abstract scoring evaluates the papers that pass the filter, PDF analysis reads the top $N$ papers in full (defaulting to 30, controlled by Papers to Analyze in Settings), and briefing synthesis and auditing run once at the end. Because Stage 4 caps full-PDF reads at the top $N$ papers, total run cost flattens out even when daily submission volume is large.

The tables below use the same per-paper token planning estimates that power the in-app review gate projections. The 100-paper reference run fetches 100 papers, scores and post-processes 50, and reads 20 PDFs in full; the 250-paper run scores 125, post-processes 50 (the default cap), and reads 30 PDFs (where the default PDF cap binds). Figures reflect uncached list pricing and exclude adaptive-thinking or reasoning tokens, which are billed at output token rates. Individual stage rows are rounded to the nearest cent, so column sums may differ from the unrounded total by a cent or two.

Anthropic ​

StageModel100 papers in250 papers in
FilterClaude Haiku 5.5$0.01$0.03
ScoringClaude Sonnet 5.5$0.18$0.45
Post-processingGemini 3.6 Flash*$0.10$0.10
PDF analysisClaude Opus 5.5$3.00$4.50
Briefing + auditClaude Opus 5.5$0.63$0.86
Quick summariesClaude Haiku 5.5$0.01$0.01
Total / run~$3.93~$5.95

Assigning Claude Sonnet 5.5 to PDF analysis reduces that stage's cost by half (to roughly $1.50 on the 100-paper reference run).

Google (the defaults) ​

StageModel100 papers in250 papers in
FilterGemini 3.5 Flash-Lite$0.04$0.10
ScoringGemini 3.6 Flash$0.14$0.34
Post-processingGemini 3.6 Flash$0.10$0.10
PDF analysisGemini 3.8 Flash$1.13$1.69
Briefing + auditGemini 3.8 Flash$0.24$0.32
Quick summariesGemini 3.5 Flash-Lite$0.03$0.04
Total / run~$1.66~$2.59

Through 2026-12-31, Google offers promotional half-price rates on Gemini 3.6 Flash and 3.8 Flash, reducing those totals to roughly $0.86 and $1.36 on paid accounts, while runs that stay within the free tier's daily request caps cost $0.

OpenAI ​

StageModel100 papers in250 papers in
FilterGPT-6 Luna$0.01$0.03
ScoringGPT-6.1 Sol$0.18$0.45
Post-processingGemini 3.6 Flash*$0.10$0.10
PDF analysisGPT-6.1 Sol$1.50$2.25
Briefing + auditGPT-6.1 Sol$0.32$0.43
Quick summariesGPT-6 Luna$0.01$0.01
Total / run~$2.11~$3.26

* Stage 3.5 post-processing uses postProcessingModel, which remains on its Google default (gemini-3.6-flash) unless changed explicitly. If you do not have a Google API key configured, change the Review Model selector under Enable Post-Processing in Settings to match your active provider, or disable post-processing.

Prompt caching reduces input token costs on repeated calls within a run: Aparture marks the rubric template and research profile as cacheable on Anthropic calls, while OpenAI and Google apply automatic prefix caching once prompts exceed their minimum token thresholds. Because paper abstracts and PDFs change on every call, caching discounts apply specifically to the shared rubric-and-profile prefix.

Can I run completely free? ​

Yes. Every default model slot (gemini-3.5-flash-lite, gemini-3.6-flash, and gemini-3.8-flash) is covered by Google's free tier. Only gemini-4-argon (which requires a paid billing account) and the legacy gemini-2.5-* models (restricted to accounts with prior usage) fall outside the standard free tier.

When using the free tier, keep the daily request caps and Google's data-usage policy in mind:

  1. Daily request caps apply on the free tier: A 25-paper daily run fits comfortably within free-tier quotas, whereas a 250-paper run can reach the daily request limit. You can inspect your live per-model quotas in the AI Studio dashboard and review general tier policies on the Gemini API rate-limits page.
  2. Free-tier prompts and responses are used for Google product improvement: Paid-tier requests are excluded from model training. If your research profile contains unpublished notes that you prefer to keep private, upgrade to paid Tier 1 with a $5 prepayment, as described on the Google setup page.

Reference: provider table ​

Use the table below to look up key prefixes, environment variable names, and console URLs:

Anthropic (Claude)Google (Gemini)OpenAI (GPT)
Free tier~$5 starter credit, one-timeYes (covers every default model)No free credit
Billing to startNot required for starter creditNot required for free tierPrepaid credit; $5 to start
Key formatsk-ant-api03-...AIza... for standard keys, which must be restricted to the Gemini APIsk-proj-...
Env var in .env.localCLAUDE_API_KEYGOOGLE_AI_API_KEYOPENAI_API_KEY
Prompt cachingWired in explicitlyAutomatic above a minimum prompt sizeAutomatic
Signup pageplatform.claude.comaistudio.google.com/apikeyplatform.openai.com

Next ​

Once you have added your key to .env.local and restarted npm run dev, continue to Verify your setup.


Pricing snapshot taken 2026-10-17 from the model registry (utils/models.js). Provider pricing, free-tier policies, and rate-limit tiers evolve over time; check platform.claude.com/docs, developers.openai.com/api/docs, and ai.google.dev/gemini-api/docs/pricing before running large volumes.

Released under the MIT License.