Fact check anything
you watch, as you watch it.

FactLens listens to your browser tab, transcribes what is said, spots checkable claims, and brings back source-backed evidence cards inside a floating panel. No switching tabs. No copy-pasting.

You choose Sources. We provide Evidence.

Try Now for FREE Read the setup guide

Demo Showcase.

FactLens real-time video fact checking preview
FactLens real-time image fact checking preview

How it works

Six steps from play to verdict.

FactLens runs in your browser and only uses external services you choose. Transcription, AI, and Search are configured separately.

1

Tab audio capture

Once you press Start, FactLens captures audio from the active tab using the Chrome tab capture API. Nothing is recorded before you press Start or after you press Stop.

2

Real-time transcription

For audio and video sessions, FactLens turns speech into text with your selected transcription provider. Deepgram, Gladia, OpenAI STT, and custom transcription endpoints are transcription choices, not AI fact-checking providers.

3

Claim detection

FactLens separates checkable factual claims from opinions, personal-state statements, and uncheckable assertions. Only externally verifiable claims move to the next step.

4

Source retrieval

When Search is on, FactLens sends a short claim-derived query to your selected search provider and returns source URLs and snippets. Blocked sites are filtered out before evidence is shown, and trusted sites are prioritized.

5

Evidence verification

FactLens sends detected claims, limited context, and retrieved source snippets only to the cloud, self-hosted, or custom AI provider you select.

6

Evidence card in the overlay

The result appears in the floating panel as an evidence card with a label, source links, and a short explanation. The overlay stays visible during YouTube fullscreen. You can resize the panel or close it any time.


Evidence types

Seven outcomes. No hand-waving.

FactLens does not collapse everything into true or false. Each evidence card is specific about what the sources actually show.

True

Independent sources directly support the claim as stated.

Mostly True

The core claim holds but a detail is imprecise or missing context.

Misleading

Technically accurate but framed in a way that creates a false impression.

False

Retrieved sources directly contradict the claim.

Unverified

Not enough independent evidence either way at the time of the check.

Opinion

Subjective or value-based. Not externally checkable. Labelled and left alone.

Larping

Someone is doing a bit, playing a persona, or exaggerating for the timeline. FactLens only checks it when there is a concrete claim.


Getting Started

Set up transcript, AI, and search separately.

FactLens has three independent tracks: speech-to-text for audio/video, AI for reasoning and vision, and Search for evidence retrieval. You can combine provider-hosted, self-hosted, and custom services for your workflow.

Transcript / speech-to-text

Used only for audio and video sessions. It converts spoken audio into text for YouTube, podcasts, streams, meetings, lectures, and similar pages. It is not used for image or post scanning.

AI / reasoning / vision

Controls how FactLens understands claims, classifies verdicts, and summarizes source snippets. For screenshots, memes, charts, and visual claims, choose a vision-capable AI model.

Search / evidence retrieval

Retrieves live source material for claims. Search can run with AI or without AI. Without Search, FactLens may still detect claims, but it has no live web evidence to ground them.

Transcript options
Option Used for Key needed? Notes
Deepgram (recommended) Audio/video transcription Yes Fast live transcription. Audio is sent to Deepgram. Not used for image/post scanning.
Gladia Audio/video transcription Yes Cloud live transcription. Audio is sent to Gladia.
OpenAI STT Audio/video transcription Yes Cloud speech-to-text chunks. Audio is sent to OpenAI.
Custom transcription endpoint Audio/video transcription Optional Connect a Whisper-compatible or custom HTTP transcription service that you operate or choose.
AI / vision options
Option Used for Key needed? Notes
Self-hosted Models AI reasoning through a service you operate Depends Connect Ollama, LM Studio, vLLM, or another compatible model server. Models run in that service, not inside the FactLens extension.
Gemini AI reasoning + vision Yes Use a vision-capable Gemini model for image/post scanning.
OpenAI AI reasoning + vision depending on model Yes Choose a vision model when scanning images, screenshots, or posts.
Anthropic Claude AI reasoning + vision depending on model Yes Choose a vision model when visual context matters.
Custom endpoint AI reasoning, optionally vision Depends Ollama, LM Studio, vLLM, RunPod, Modal, your own proxy, or another endpoint you control. Vision depends on the selected model and endpoint.
Search options
Option Used for Key needed? Notes
Search off No live evidence retrieval No Claims may be detected, but they are not web-grounded.
Your Browser Browser search No Easiest evidence retrieval. No search API key required.
Serper Search API Yes Consistent API search.
Brave Search Search API Yes Independent search API.
SerpApi Search API Yes Search API provider.
Custom Search Custom retrieval Depends User-controlled retrieval configuration when available.

Configure transcription

Choose how FactLens turns speech into text. This only affects audio/video sessions. Image and post scanning do not use Deepgram or any speech-to-text provider.

Open FactLens Settings, go to Transcription, choose Deepgram, Gladia, OpenAI STT, or a custom transcription endpoint, then add the matching API key or endpoint and save settings.

In the popup, use the Transcript dropdown to switch the active transcript provider quickly. Deepgram is not an AI fact-checking provider; it only turns audio into text.

Configure AI and vision

Choose how FactLens reasons about claims. Connect Gemini, OpenAI, Anthropic, a self-hosted model service, or another compatible custom endpoint.

Open Settings, go to AI provider, choose the provider, paste the API key if required, choose a model, and save. For Custom, enter the endpoint URL, exact model name, optional API key, then click Test provider.

Use the popup AI Provider and Model dropdowns to switch quickly. For image/post scanning, use a vision-capable AI model.

Configure search and source preferences

Choose where FactLens gets evidence. Search can run with or without AI. Your Browser needs no key; API search providers can be more reliable for consistent retrieval.

Open Settings, go to Search engine, then choose Search off, Your Browser, Serper, Brave Search, SerpApi, or Custom Search. Add an API key or configuration only when that option requires one.

Open Source preferences to add trusted sites, prioritized sites, and blocked sites. Use the popup Search dropdown to switch quickly.

Configure image and post scanning

Open the popup, choose Check Images on This Page, choose AI Provider, choose model, choose Search, then click Scan For Posts/Images. FactLens finds visible posts/images and lets you review and select them.

Image scanning is not an audio workflow. It does not use Deepgram. Use a vision-capable AI model for screenshots, memes, charts, and visual claims. Use Search when you want source-backed evidence.

Multilingual posts/images work best with vision models. Text-heavy images can still work through OCR plus Search, but full visual context requires a vision-capable model.


Setup

Custom and self-hosted setup.

Use this section when you want to connect your own local, self-hosted, LAN, or hosted-compatible services. Cloud providers like Gemini, OpenAI, Anthropic, Deepgram, and Gladia stay in the normal Settings flow; Custom means you control the endpoint.

Self-hosted transcription

FactLens can connect to a Whisper-compatible HTTP service that you run locally, on your network, or on your own infrastructure. Compatible setups include faster-whisper-server and whisper.cpp HTTP server mode.

Minimum setup with faster-whisper-server:

pip install faster-whisper-server
uvicorn faster_whisper_server.main:app --port 9000

In Settings, set the custom transcription URL to http://localhost:9000/v1/audio/transcriptions, then select the model exposed by your service.

Custom / OpenAI-compatible

Custom is for endpoints you control: local, LAN, self-hosted, or a hosted server you manage. It should speak the OpenAI /v1/chat/completions format.

Recommended minimum model size is 7B parameters, instruction-tuned. Minimum context window is 4,096 tokens; 8,192+ is recommended because verdict prompts with evidence can reach 4,000–6,000 tokens.

Useful options include Ollama, LM Studio, vLLM, Mistral local servers, RunPod, Modal, and your own compatible proxy.

Ollama tutorial

Use Ollama when you want a local model running on your machine. Install Ollama, pull a model, and point FactLens to Ollama's OpenAI-compatible chat endpoint.

curl -fsSL https://ollama.com/install.sh | sh
ollama pull llama3.2
ollama serve

In FactLens, open Settings > AI Provider, choose Custom, set Base URL to http://localhost:11434/v1/chat/completions, set Model to llama3.2, leave API key blank unless your server requires one, then click Test provider.

Use an instruction-tuned model. Larger models and larger context windows usually produce more stable claim extraction and verdict JSON.

LM Studio tutorial

Use LM Studio when you want a local GUI for downloading and serving models. Download LM Studio, load a GGUF instruct model, then enable the Local Server tab.

In FactLens, open Settings > AI Provider, choose Custom, paste the server URL shown by LM Studio, set the model name exactly as LM Studio displays it, leave API key blank unless you configured one, then click Test provider.

For image/post scanning, the loaded model and local server must support image input. Text-only local models can still help with text claims, but they cannot fully understand screenshots, charts, or memes.

vLLM tutorial

Use vLLM for GPU-backed local or hosted model serving. It exposes an OpenAI-compatible server that FactLens can call.

python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-7B-Instruct \
  --port 8000

In FactLens: set Base URL to http://localhost:8000/v1/chat/completions, set Model to the same model string vLLM was started with, enter an API key only if your vLLM server requires one, then click Test provider.

Custom search tutorial

Search is separate from the AI provider. Use Your Browser for no-key search, or configure a search provider under Settings → Search.

Use Search when you want source-backed evidence. Use Search in English when the source content is in a language with fewer fact-checking results; FactLens translates the search query before retrieving evidence.


Privacy

What goes where, written plainly.

FactLens is user-directed. Information is sent only to the transcription, AI, search, vision, or custom services you select.

Your API keys stay private

Provider keys are stored locally and encrypted in extension storage. They go only to the configured provider, not to FactLens servers.

Audio goes only where you configure it

When transcription is enabled, audio is sent only to the provider or custom transcription endpoint you select.

AI receives limited context

If cloud AI is enabled, detected claims, limited context, and source snippets may go to that AI provider. If image/post scanning uses a cloud vision model, selected images/posts may go to that vision provider.

Search sends claim queries

If Search is enabled, claim-derived search queries go to the selected search provider. Search off is valid, but evidence-backed verdicts are less useful without live sources.

You choose sources. We provide evidence.

Use Source preferences to add trusted sites, prioritized sites, and blocked sites. FactLens skips blocked sites when gathering evidence, so verdicts stay tied to sources you allow.

Control your local data

Clear History removes local session data. Signing out clears local account session information, and uninstalling removes extension-managed local storage through Chrome.


Coming soon

More control over cards, context, and filtering.

These are planned improvements for making FactLens more adaptable to different creators, formats, moderation workflows, and long-form review styles.

Prompt Customization

Customize the instructions and context FactLens sends to your selected AI provider. Use dynamic fields such as {claim}, {video_metadata}, {current_date}, {speaker_context}, and {retrieved_sources}, then preview the final prompt before it is sent. This gives advanced users precise control over context, response structure, and model guidance.

Music filtering AI

Improve speech detection in soundtrack-heavy videos, intros, edits, clips, livestreams, and commentary formats. The goal is to reduce noise from music and background audio so FactLens focuses on spoken claims.

Custom token limit

Control how much context each selected model receives during claim extraction, evidence review, and verdict generation. This gives advanced users a way to trade off speed, cost, memory, and accuracy.

Custom evidence cards

Create your own card types with custom labels, rules, and evaluation logic. This would let you add workflow-specific cards similar to Larping, while deciding exactly when a card should appear and what kind of source support it requires.

Rename cards

Rename built-in verdict labels so the overlay matches your preferred vocabulary. A research workflow, creator workflow, classroom workflow, and moderation workflow may all want different wording for the same underlying result.

Speaker personality memory

Build speaker-level history over time. FactLens could track repeated claims, correction patterns, source quality, and past verdicts to create a clearer trust profile for specific speakers or channels.

Cloud Sync Activity & Analytics

Review synced activity across devices, track usage patterns, and see higher-level analytics for sessions, claims, evidence cards, and source behavior when cloud sync is enabled.


Pricing

Start with a 7-day free trial.

Try FactLens Pro free for 7 days. Continue with a $9.99 one-time purchase for lifetime Pro access.

Start from the extension so your trial and account state are attached securely. Prices in USD. Taxes may apply after the trial if you continue.