# INFRO > One API for frontier text, image, video, and audio models — request-level observability, organization-wide governance, and savings of up to 50% versus the official APIs. INFRO is one API for text, image, video, and audio models. Base URL: https://api.infro.io/v1. Text endpoints are OpenAI-compatible; media runs as async jobs with signed webhooks. Full documentation text: https://infro.io/llms-full.txt ## Get started - [Overview](https://infro.io/docs): INFRO is one API for text, image, video, and audio models, with automatic routing and failover, per-unit pricing at or below list, and a single bill. - [Quickstart](https://infro.io/docs/quickstart): Create an INFRO API key, install the SDK, and make your first text, image, video, or audio request — in about five minutes, with no provider accounts. - [Authentication](https://infro.io/docs/authentication): Authenticate with the INFRO API using sk_infro_ keys and the Authorization header. Create, label, rotate, and revoke keys, and set spend limits. - [Models](https://infro.io/docs/models): Browse INFRO's model catalog: vendor/model-name IDs, GET /v1/models, capability flags, context length, per-token pricing, and the deprecation policy. ## Modalities - [Chat completions](https://infro.io/docs/api/chat-completions): Full reference for POST /v1/chat/completions: every standard OpenAI parameter plus INFRO's routing, fallbacks, and logging extensions. - [Image generation](https://infro.io/docs/modalities/images): Generate and edit images with POST /v1/images/generations and /v1/images/edits — parameters, sizes, response shape, and per-image billing. - [Video generation](https://infro.io/docs/modalities/video): Generate video with POST /v1/videos: the asynchronous job lifecycle, request parameters, polling and webhooks, and billing per second of output. - [Audio & speech](https://infro.io/docs/modalities/audio): Text-to-speech with POST /v1/audio/speech and speech-to-text with POST /v1/audio/transcriptions: voices, formats, timestamps, and billing. ## API reference - [Streaming](https://infro.io/docs/api/streaming): Stream chat completions from INFRO over SSE: chunk format, usage and cost reporting, incremental tool calls, and mid-stream error handling. - [Async jobs](https://infro.io/docs/api/jobs): The job object, status lifecycle, polling with backoff, listing and filtering, cancellation, 24-hour output retention, and idempotent submits. - [Webhooks](https://infro.io/docs/api/webhooks): Receive job events over HTTP: event types, delivery payloads, signature verification in Python, TypeScript, and Dart, retries, and idempotency. - [Errors](https://infro.io/docs/api/errors): Every INFRO error uses one JSON shape. Status codes and type strings, which failures to retry with backoff, and how errors surface mid-stream. - [Rate & spend limits](https://infro.io/docs/api/limits): Per-key rate limits, pooled model throughput, X-RateLimit headers, 429 handling, spend ceilings, and 402 semantics on the INFRO API. ## Features - [Smart routing](https://infro.io/docs/features/routing): How INFRO picks a provider for every request: price, latency, and health scoring, the cheapest, fastest, and balanced policies, and region pinning. - [Failover & fallbacks](https://infro.io/docs/features/fallbacks): How INFRO keeps requests flowing: automatic provider failover, ordered model fallbacks, streaming behavior, and how to pick safe fallback models. - [Tool calling](https://infro.io/docs/features/tool-calling): Use the OpenAI tools schema with every tool-capable model on INFRO. Covers the full loop, tool_choice, parallel calls, and streaming deltas. - [Structured outputs](https://infro.io/docs/features/structured-outputs): Request JSON from any model on INFRO: json_object and strict json_schema modes, model support, prompting tips, and handling validation failures. - [Images & vision](https://infro.io/docs/features/vision): Send images to vision-capable models through one API: image_url content parts with https URLs or base64 data URIs, up to 20MB per request. - [Prompt caching](https://infro.io/docs/features/prompt-caching): Provider-side prompt caching through INFRO: prefix-matching rules, Anthropic cache_control passthrough, verifying hits via usage.cost, and typical savings. - [Bring your own key](https://infro.io/docs/features/byok): Attach your own provider API keys to INFRO: requests route through your key, the provider bills you directly, and INFRO charges a 5% routing fee. ## Observability - [Request traces](https://infro.io/docs/observability/traces): Every INFRO request leaves a trace record — route, fallback attempts, latency, spans, and exact cost — queryable via GET /v1/requests and enrichable with metadata. - [Usage analytics](https://infro.io/docs/observability/analytics): Aggregate INFRO usage with GET /v1/usage: spend, units, error rate, and latency grouped by model, project, key, end user, or tag, per hour or per day. - [Alerts](https://infro.io/docs/observability/alerts): Create spend, error-rate, and p95 latency alerts scoped to an org, project, or key, delivered by email, Slack, or signed webhooks, with the full alerts API. - [Exports & OpenTelemetry](https://infro.io/docs/observability/exports): Get your data out of INFRO: async CSV exports of requests, usage, and audit events, plus OTLP/HTTP trace streaming from the gateway to your collector. ## Organizations - [Members & roles](https://infro.io/docs/org/members): How INFRO organizations work: one bill and shared projects, the four member roles and their exact permissions, invites, role changes, and removal. - [Spend controls](https://infro.io/docs/org/spend-controls): Cap INFRO spend with monthly limits at the org, project, member, and key level: alert or block behavior, threshold notifications, billing-day resets. - [Model allowlists](https://infro.io/docs/org/model-allowlists): Restrict a project to approved models with allowed_models. Exact IDs and vendor wildcards, a 403 model_not_allowed refusal, and fallback interaction. - [Audit log](https://infro.io/docs/org/audit-log): Every administrative change in your INFRO organization, recorded: the event catalog, GET /v1/org/audit filters, 12-month retention, and CSV export. - [SSO & SCIM](https://infro.io/docs/org/sso): Put the INFRO console behind SAML or OIDC single sign-on, sync members with SCIM group-to-role mapping, enforce MFA, and keep break-glass access. ## Platform - [Privacy & data](https://infro.io/docs/privacy): How INFRO handles your data: never trained on, 30-day default content retention, per-request zero-logging, region pinning, and GDPR posture. - [EU compliance](https://infro.io/docs/compliance/eu): Run INFRO under European rules: EU routing zone pinning, zero retention, GDPR tooling with a DPA and SCCs, and EU AI Act transparency records. - [SDKs & frameworks](https://infro.io/docs/sdks): Connect the OpenAI SDKs, LangChain, Vercel AI SDK, LlamaIndex, and LiteLLM to INFRO. Every OpenAI-compatible tool works with one base URL and key.