RUNTIME BILLING FOR AI SYSTEMS AND INFRASTRUCTURE.
AI is a black box.
Open it.
Meter AI calls in your runtime, enforce spend limits, and block overages before they execute.
Free for 10K calls/month • No credit card
Runtime policy enforcement, not post-hoc alerts.
Catch expensive calls before they run. Every policy decision is linked to the full request path.
- ✓ Stop over-limit calls early
- ✓ Trace every block to source
- ✓ Ship billing-ready events
Your AI bill is lying to you.
What actually happens in production:
Provider-aligned billing telemetry.
Read token values from provider responses and emit exact billing events with stable customer identity mapping.
Every request becomes a billing decision - before execution.
Runtime Function Path
Request trigger to billing event in one sequence.
→ API Request
POST /api/chat
chatCompletion()
/src/ai.ts
OpenAI.post()
<from openai>
Two Layers. One Platform.
UsageFlow meters AI calls and AI infrastructure at API and function level. Function-level where cost matters. API-level everywhere else.
Function-Level Metering
For AI calls, models, and expensive infra operations.
- Provider token usage and cost
- Retry loops (47 attempts)
- Pre-execution blocking
47 retries = $847 • blocked before spend ✓
API-Level Metering
For traditional endpoints and quotas.
- Request counts
- Endpoint usage
- Rate limiting
/api/users: 1,247 requests • quota: 950/1,000
Use Function-Level When:
- Enforcing runtime spend limits
- Billing by tokens, model, or function path
Use API-Level When:
- Counting API requests
- Managing quotas and standard rate limits
Most tools see the request. UsageFlow sees inside it.
| Feature | UsageFlow | Kong | OpenMeter |
|---|---|---|---|
| Function-Level Metering | ✓ | ✗ | ✗ |
| API-Level Metering | ✓ | ✓ | ✓ |
| Pre-Execution Blocking | ✓ | ✗ | ✗ |
Built to integrate: billing events, policy alerts, webhooks, and custom sinks.
Meter at both levels with one integration.
One integration. Both layers. No extra config. Works across leading model providers and your internal function calls.
import { ExpressUsageFlowAPI } from '@usageflow/express';
const usageFlow = new ExpressUsageFlowAPI('YOUR_API_KEY');
app.use(usageFlow.createMiddleware());
from usageflow.fastapi import UsageFlowMiddleware app.add_middleware(UsageFlowMiddleware, api_key="YOUR_API_KEY")
FAQ
Clear answers on setup, performance, metering layers, and billing behavior.
Make AI spend enforceable.
Meter AI calls and infrastructure, enforce runtime policy, and ship Stripe-ready events from one control plane.
Free for 10K calls/month • JavaScript & Python ready now • Golang API layer only