SuperPenguin Docs
Concepts

Pricing and cost semantics

How SuperPenguin estimates SDK costs and how that differs from provider-billed amounts.

Estimated SDK cost

When a wrapped call completes, SuperPenguin prices the observed usage against its model catalog (including cache, audio, character, and other meters). Dashboards and alerts use that estimate so you can attribute spend in dollars without waiting for an invoice.

Unknown models are still tracked (tokens, latency, metadata). Estimated cost stays at $0 until pricing exists.

Examples of catalog-backed prefixes and paths:

Model / pathProvider path
gpt-*, o3-*, o4-*OpenAI
claude-*Anthropic
gemini-*Google
Bedrock modelIdAWS Bedrock (server-side aws_bedrock rates; region auto-captured)
Azure OpenAI / FoundryAzure (pass location code region plus deployment_type for non-Global rates)
deepgram/nova-*Deepgram (per audio-second)
elevenlabs/eleven_*ElevenLabs (per character)

Provider-billed cost

Billed cost comes from the provider after you connect an account (or after a provider implements the billing export profile). It reflects invoice semantics: credits, commitments, and settlement state.

For provider implementers, BilledCost must be provider-reported billing data in decimal currency strings. It must not be a public-rate estimate labeled as billed. See Cost data.

What the SDK tracks by default

Each event includes provider, model, usage meters, latency, streaming/tool/vision flags, and attribution metadata. Prompt and completion text are not sent unless content capture is opted in. See Content capture and privacy.

Regional, deployment, service-tier, and batch pricing axes are covered in Batch and service-tier pricing. Azure region is not auto-captured; wrap-level location code (eastus2) and deployment_type select the regional rate card. For OpenRouter, Vercel AI Gateway, and LiteLLM, SuperPenguin captures billed cost (and, on OpenRouter, which upstream served the call). You do not pass region.

Hosted OTLP cost

Hosted OTLP uses the same request-log cost columns and pricing catalog. OpenRouter reported totals remain totals; a qualified separate BYOK fee/upstream shape adds the two legs once and retains the upstream leg. Explicit zero is never treated as missing. See OpenRouter Broadcast.