per-generation$3.16B image + $946M video generation
Per-Generation Billing for Image, Video, and Audio APIs
Monetize every image generated, every video rendered, and every voice clip synthesized. Wrap DALL-E, Stable Diffusion, Runway, ElevenLabs, or any media API.
How it works
TypeScript
import { settlegrid } from '@settlegrid/mcp'
import OpenAI from 'openai'
const sg = settlegrid.init({
toolSlug: 'my-image-gen',
pricing: { defaultCostCents: 25 },
})
const openai = new OpenAI()
const billedImageGen = sg.wrap(async (args: { prompt: string; size?: string }) => {
const response = await openai.images.generate({
model: 'dall-e-3',
prompt: args.prompt,
size: (args.size as '1024x1024') || '1024x1024',
})
return { content: [{ type: 'text', text: response.data[0].url! }] }
})Supported providers
SettleGrid works with any provider. Here are the most common ones for media generation.
| Provider | Pricing |
|---|---|
| OpenAI DALL-E | Image generation -- $0.04-0.12/image |
| Midjourney | Premium image gen -- subscription-based |
| Flux / Stable Diffusion | Open-source image gen -- per-image |
| Runway Gen-4 | Video generation -- per-second pricing |
| ElevenLabs | Voice synthesis -- per-character pricing |
| Suno | Music generation -- per-song pricing |
Billing model: per-generation
Why per-generation billing?
Media generation has natural per-unit billing: per image, per video second, per audio character. Each generation has a clear cost tied to compute and model complexity. SettleGrid lets you set rates per generation type and pass through costs with your margin built in.
$3.16B
Total Addressable Market
6
Supported Providers
2 min
Setup Time
Frequently asked questions
Can I charge different rates for different image sizes?
Yes. Use method-level pricing to set different rates for 256x256, 512x512, and 1024x1024 generations. The method name can encode the size, model, or quality level.
How do I handle video generation billing?
For video, use per-second pricing mode. Return the video duration in _meta.durationMs and SettleGrid calculates the charge based on your per-second rate.
What about voice synthesis (text-to-speech)?
Wrap your TTS API call with sg.wrap() and price per-call. For character-based pricing, calculate the character count in your wrapper and return it in _meta for transparent billing.
Can users see the price before generating?
Yes. SettleGrid exposes pricing in the tool discovery API, so agents and users know the cost before they invoke a generation. No surprise bills.
Start billing media generation today
Add per-generation billing to your media generation service in under 2 minutes. No upfront costs, no contracts.