Interfaze

logo

we're hiring

pricing

help

docs

blog

sign in

Backed by

Y Combinator

Combinator

Interfaze vs Gemini

Every value, with where it is and how sure.

One API call returns your JSON fields plus the OCR underneath, with a bounding box and a confidence score for every word.

Build now

Trusted by builders at

NVIDIA
IBM
Vercel
Supabase
Notion
Zapier
Robinhood
Airwallex
Langflow
Smithery
Rho
Pocket
101 GenAI
Aegis
RMH
INTH
Andco

Why teams choose Interfaze over Gemini

Values you can check on the page, OCR and extraction in one call, and a lead on the public olmOCR benchmark.

INVOICE

NO.

INV-20418

DATE

2026-09-03

1,200.00

3,620.50

TOTAL

$4,820.50

total_due

0.98

01

Know where every value is

Every response comes with bounding boxes and a confidence score for each word, so you can check any value against the page. Gemini has no OCR layer or confidence scores.

.pdf
.jpg
.mp3
URL

02

OCR and extraction in one call

One request returns your JSON fields with the OCR underneath. No second OCR service and no code to match values back to the page.

LINE ITEMS

ITEM

QTY

AMOUNT

Valve, 2in

12

1,104.00

Gasket kit

40

386.40

Labour, site

6h

720.00

TOTAL

2,210.40

Net 30. 1.5% monthly on overdue balances. Prices exclude VAT at the prevailing rate.

03

Ahead on olmOCR

On the public olmOCR benchmark, interfaze-1 scores 85.7% against 82.3% for Gemini 3.8 Flash, with the widest leads on old scans and long tiny text.

Interfaze vs Gemini on the same document

Same pages and same fields, sent to both APIs. Three selected pages, two of them upside down, where interfaze-1 read every field right and Gemini missed at least one. Gemini was asked for values only, so its pane has no boxes. Pick one to see the boxes, or the JSON each API returned.

Handwritten plan

Upside-down fax

Upside-down slide

Boxes on the page

Returned JSON

correct value

wrong value, boxed where the API read it

no box from the API: boxed where the value is

○

not returned

Interfazeinterfaze-1

structured JSON

15/15 field checks passed

✓

test_market_date

Jan. 1967

0.96

✓

slogan

"Me and My Winstons"

0.94

✓

mediums

TV; Print; Merchandising; Sale- Promotions

0.82

✓

no_plans_years

1971- 1973

Read correctly.

✓

campaign_1973

"Theres a lot of Good"

Read correctly.

✓

test_markets

4 mini mkts and 1 full test market

Read correctly.

✓

bates_number

53727 7036

0.99

✓

first_heading

Winston 1969

0.97

✓

second_heading

Winston 1970

0.91

✓

fourth_heading

Winston - 1974

0.93

✓

item_3_1969

3. Combined brand group

0.98

✓

research_item_1

- awareness

Read correctly.

✓

national_month

April

0.95

✓

volume_item

1. Establish volume momentum

0.90

✓

last_bullet

- Camp Comm Study

0.90

Geminigemini-3.8-flash

structured JSON

14/15 field checks passed

✗

mediums

TV; Print; Merchandising; Sales Promotion · page says TV; Print; Merchandising; Sale Promotions

No box returned. The box marks where the value is on the page.

✓

test_market_date

Jan. 1967

Read correctly.

✓

slogan

"Me and My Winstons"

Read correctly.

✓

no_plans_years

1971- 1973

Read correctly.

✓

campaign_1973

"Theres a lot of Good"

Read correctly.

✓

test_markets

(4 mini mkts and 1 full test market)

Read correctly.

✓

bates_number

53727 7036

Read correctly.

✓

first_heading

Winston 1969

Read correctly.

✓

second_heading

Winston 1970

Read correctly.

✓

fourth_heading

Winston - 1974

Read correctly.

✓

item_3_1969

3. Combined brand group

Read correctly.

✓

research_item_1

- awareness

Read correctly.

✓

national_month

April

Read correctly.

✓

volume_item

1. Establish volume momentum

Read correctly.

✓

last_bullet

- Camp Comm Study

Read correctly.

One call instead of extract, then OCR

Gemini can estimate a box per field if you ask. Word boxes with confidence scores take a second OCR service and matching code; Interfaze returns both.

OCR docs

Interfaze vs Gemini on olmOCR-bench

Scores from the public olmOCR benchmark. The overall ranking first, then the three tasks with the biggest gap.

Full breakdown

Interfaze vs Gemini, feature by feature

Checked against both companies' docs.

Interfaze

Gemini

Bounding boxes with confidence scores

Every word and line with exact pixel bounds and a 0–1 confidence, in every response, no prompting needed

Bounding boxes with confidence scores

No OCR layer and no confidence scores; boxes only if you prompt for them, as model estimates on a 0–1000 grid

olmOCR and OCRBench v2 scores

1st on olmOCR (85.7%) and OCRBench v2 (70.7%)

olmOCR and OCRBench v2 scores

Behind on both: 82.3% on olmOCR (Gemini 3.8 Flash), 55.8% on OCRBench v2 (Gemini 3 Flash)

Open weights

interfaze-1.1-lite runs on your own 80 GB GPU

Open weights

Closed models, hosted by Google only; no weights to download

Zero data retention

Nothing kept after the request, on every plan, with one header

Zero data retention

Prompts and outputs kept 55 days for abuse monitoring unless you set up Google's zero-retention configuration

Structured JSON output

Your JSON schema in the same call as the OCR (OpenAI json_schema, Zod, Pydantic)

Structured JSON output

Your JSON schema through responseJsonSchema

Multimodal input

Documents, images, audio and video

Multimodal input

Documents, images, audio and video

Standard SDKs

OpenAI Chat Completions compatible: OpenAI SDK, Vercel AI SDK, LangChain

Standard SDKs

Google Gen AI SDKs, plus an OpenAI-compatible endpoint

How to migrate from Gemini to Interfaze

The same extraction in Interfaze and Gemini, side by side. Your existing schema works as is. Or let your coding agent make the switch.

SDK guide

Interfaze

OpenAI SDK

Vercel AI SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.interfaze.ai/v1",
  apiKey: process.env.INTERFAZE_API_KEY,
});

const res = await client.chat.completions.create({
  model: "interfaze-1",
  response_format: {
    type: "json_schema",
    json_schema: { name: "invoice", schema: INVOICE_SCHEMA },
  },
  messages: [{
    role: "user",
    content: [
      { type: "text", text: "Extract the fields" },
      { type: "file", file: { filename: "invoice.pdf",
        file_data: pdfUrl } },
    ],
  }],
});
const invoice = JSON.parse(res.choices[0].message.content);

Gemini

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: process.env.GEMINI_API_KEY });

const res = await ai.models.generateContent({
  model: "gemini-3.8-flash",
  contents: [{
    role: "user",
    parts: [
      { inlineData: { mimeType: "application/pdf", data: pdfBase64 } },
      { text: "Extract the fields" },
    ],
  }],
  config: {
    responseMimeType: "application/json",
    responseJsonSchema: INVOICE_SCHEMA,
  },
});
const invoice = JSON.parse(res.text);

Interfaze vs Gemini: common questions

What people usually ask before switching from Gemini.

Send us your hardest PDF.
If we can't beat your current provider,
we'll give you $3,000 in credits.

Start for free. No credit card required.

Build nowTalk to a founder

Interfaze

logo

Product

Playground

OCR

Models

Leaderboards

Pricing

OpenWebSearch

DefaultModel