CORS bypass + API key injection for browser AI apps. Make API calls from any webpage. Your keys stay secure.
Everything you need to call AI APIs from static webpages
Make cross-origin requests from any webpage. The extension routes requests through its background script, which has no CORS restrictions.
API keys are stored in extension storage, never exposed to page JavaScript. Keys are auto-injected per provider.
DevTools-style panel shows all requests/responses. See headers, bodies, timing, and errors in real-time.
Built-in support for OpenAI, Anthropic Claude, Google Gemini, and Mistral. Add custom rules for any API.
Just add your API key and start making requests. Works with existing fetch() code - no changes needed.
Control which pages can use the bridge and which APIs can be called. Prevent unauthorized access.
Built-in injection rules for major AI APIs
Just use fetch() - the extension handles the rest
// Call OpenAI from any webpage - no backend needed const response = await fetch("https://api.openai.com/v1/chat/completions", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ model: "gpt-5.1-codex-mini", messages: [{ role: "user", content: "Hello!" }] }) }); const data = await response.json(); console.log(data.choices[0].message.content); // API key auto-injected by FranzAI Bridge!
Get started in under 2 minutes
Loading version...
Click the Download ZIP button above to get the latest version of FranzAI Bridge.
Unzip the downloaded file to a folder you'll keep (e.g., ~/Extensions/franzai-bridge).
unzip franzai-bridge-latest.zip -d franzai-bridge
Go to chrome://extensions in your browser, or:
Click "Load unpacked" and select the extracted folder.
Click the FranzAI Bridge icon in your toolbar to open the side panel.
In the side panel, go to Settings and click "+ Add ENV Variable".
Start making AI API calls from any webpage. Try the live demo to test your setup.
Test Your Setup →To use FranzAI Bridge with file:// URLs, enable file access:
chrome://extensionsThe extension intercepts fetch() and routes requests through its background script
fetch("api.openai.com")
chrome.runtime.sendMessage
response.json()
Yes. API keys are stored in Chrome's extension storage, which is not accessible to page JavaScript. Keys are only used when making requests through the bridge.
Yes. While we have built-in support for major AI providers, you can add custom injection rules for any API.
Bodies are limited to 5 MB due to Chrome extension messaging constraints. This is sufficient for most API calls.
Not currently. Responses are fully buffered before being returned to the page.
Yes. Enable "Allow access to file URLs" in the extension settings at chrome://extensions.