Lumi SDK script tag — one async <script> in your <head>. Works with OpenAI, Anthropic, Gemini, open-source models, and any agent framework (LangChain, Vercel AI SDK, CrewAI, custom orchestration). No backend changes required.
A <div data-lumi-slot> placed wherever you want it. Lumi only renders the inner card — your typography, spacing, and chrome carry through.
Copy your snippet from the dashboard. One publisher ID, ready to paste.
<head>Async, lazy-loaded, zero impact on first paint. Works in Next.js, Nuxt, Remix, Vite, plain HTML.
Drop a <div data-lumi-slot> wherever you want ads. Boost Boss renders the rest.
<script async src="https://boostboss.ai/lumi.js" data-publisher-id="pub_xxx"> </script> <div data-lumi-slot="banner"></div>
That's the entire integration. Same snippet for OpenAI, Anthropic, Gemini, LangChain, Vercel AI SDK, CrewAI — Lumi works at the rendering surface, not the agent logic. Full docs →
<div data-lumi-slot> placed below an answer. Style it to match your app — Lumi only renders the inner card.Numbers are illustrative for an AI app with conversational UX. Actual revenue depends on session length, slot placement, fill rate, and audience. Verticals with stronger commercial intent (developer tooling, finance, B2B SaaS) typically run higher CPMs.
Yes. Lumi is framework-agnostic. We integrate at the rendering surface, not the agent logic — so LangChain, Vercel AI SDK, CrewAI, LlamaIndex, AutoGen, Mastra, or your own custom orchestration all work the same way.
No. The script is async and lazy-loaded — zero impact on first paint, no blocking on your bundle. Ad slots render after your AI surface is interactive.
Lumi works alongside SSE. Ads render in your UI separately from your model's stream — you don't need to interleave anything. The ad slot is a sibling element, not a stream consumer.
Yes. Lumi reads your CSS variables for color and typography (--lumi-primary, --lumi-text, --lumi-radius, etc.). The default look is neutral; the themed look matches your brand.
Yes. We don't lock down inventory. Boost Boss renders only in slots you explicitly tag with data-lumi-slot — everything else is yours.