How-to guide
How to Inject Ads Into a Streaming Response in Flowise
This guide shows how to inject ads into a streaming response in a Flowise app, the goal being to wrap the LLM token stream so contextual ads appear inside the assistant's reply. It builds on the Monetzly server SDK, so the approach is specific to how Flowise produces and streams responses.
Overview
This is the core of monetizing a Flowise app: instead of returning the raw model stream, you pass it through Monetzly, which injects contextual, labelled ads into the token stream and hands you back the enhanced stream to forward to the client.
You keep your existing Flowise model call untouched. Injection is additive — a wrapper around the stream you already produce, keyed on the session and the live prompt so the ad matches what the user is asking about.
Flowise apps are usually built for visual chatbot building, no-code RAG, and prototyping agent flows, so inject ads into a streaming response typically comes up while a user is mid-conversation, the moment where monetization has to be additive rather than disruptive.
How this works on Flowise
Flowise runs on Node, so the Monetzly SDK can live in the layer that consumes a flow's prediction stream. Call the Flowise prediction API with streaming enabled, adapt its SSE token events to { content }, and pass them through sdk.inject() before relaying to your users. Confirm the streaming response shape for your Flowise version / deployment.
Because Monetzly's inject() accepts any async token stream, the Flowise side of this task is just mapping your output to it, no rewrite of your Flowise model call.
Steps
- Produce your Flowise response as a token stream as you already do.
- Pass that stream into the Monetzly injection call with the session id and prompt.
- Forward the enhanced tokens to the client (SSE, WebSocket, or your existing transport).
Integration snippet
import { MonetzlySDK } from "@monetzly/server-sdk";
const sdk = new MonetzlySDK({
apiKey: process.env.MONETZLY_API_KEY!,
serverAddress: process.env.MONETZLY_SERVER_ADDRESS!,
});
await sdk.connect();
// TODO_VERIFY: adapt to your Flowise streaming prediction response shape.
async function* flowiseChunks() {
const res = await fetch(`${FLOWISE_URL}/api/v1/prediction/${flowId}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ question, streaming: true }),
});
for await (const token of parseSSE(res.body!)) yield { content: token };
}
for await (const t of sdk.inject(flowiseChunks(), { prompt: question })) send(t.content ?? "");
await sdk.disconnect();Frequently asked questions
Start monetizing in about 5 minutes
Wrap your existing LLM response stream with the Monetzly SDK and earn on every session, no paywall required.