SPB Git forge

spb/doc-api

Public
2commits 1branches 0releases
15.7 MBsize
maindefault branch
13 days agolast push
Python 88.3% TypeScript 7.6% Shell 4.1%
16.0 KB

# Cross-provider comparisons — OpenAI ↔ Anthropic ↔ xAI ↔ Gemini

Status: synthesis layer over the atlas, extended from two to four providers on 2026-09-18/19. Nothing on these pages was measured independently: every cell points back to a record in generated/*.json (statuses copied verbatim) or to a domain page under docs/openai/, docs/anthropic/, docs/xai/, docs/gemini/, docs/tools/, docs/models/, docs/errors/. When two sources disagree the disagreement is stated, not resolved. Generators: scripts/generators/synth/{features,endpoints,pricing,faq}.py (re-runnable; the other pages are hand-written from the same data). Sources: generated/{models,endpoints,parameters,tools,streaming-events,errors,headers,pricing,deprecations,objects,sdks,webhook-events,rate-limits}.json, generated/compatibility/*.json, generated/fragments/headers/*.json, generated/examples-manifest.json; vendor documentation as cited on each domain page (https://developers.openai.com/api/docs/… · https://platform.claude.com/docs/en/… · https://docs.x.ai/developers/… · https://ai.google.dev/gemini-api/docs/…). Last verified: 2026-09-18

# Pages

Page What it answers Machine-readable twin
models.md Which GPT / Claude / Grok / Gemini model corresponds to which for a given job; context, output, modalities, reasoning modes, tools, prices (incl. xAI ≥200k tier, Gemini >200k tier and free tier), cutoffs, lifecycle; naming (snapshots vs aliases vs -latest vs xAI redirect aliases vs Gemini -preview); deprecation policies; 29 data inconsistencies generated/models.json, generated/pricing.json, generated/deprecations.json, generated/compatibility/model-capability-matrix.json
features.md 125-row Feature × Provider matrix with four columns (how / endpoint / params / status each), coverage count per row, portable yes/no, differences generated/compatibility/cross-provider-feature-matrix.json (openai/anthropic/xai/gemini objects, providers_supporting[], provider_count)
state-management.md Stateless replay vs previous_response_id / Conversations / xAI stored Responses / Gemini Interactions previous_interaction_id; items vs blocks vs parts; system prompt; roles; prefill; storage & retention; compaction parameters.json (POST /v1/responses ×2 providers, POST /v1/messages, generateContent, interactions)
tool-execution.md Client tools, hosted/server tools (web/x/Google search, Maps, URL context, code execution, file search / collections / file-search stores, MCP), tool choice, parallel calls, thought signatures, computer use — parameter mapping and the same task on all four generated/tools.json, generated/compatibility/{model-tool-matrix,gemini-tool-model-matrix}.json
streaming.md Four wire formats (OpenAI Responses / xAI Responses, Anthropic Messages / xAI Messages, Chat Completions, Gemini array-or-SSE), event-name mapping table, Interactions events, Realtime / xAI realtime / Live / Lyria WebSocket message families generated/streaming-events.json
agents-platforms.md OpenAI Agents API vs Claude Managed Agents vs xAI Responses agentic loop (+ Grok Build) vs Gemini Interactions agents (Deep Research, Antigravity, custom agents, environments, triggers) endpoints.json (agents-platform/*, managed-agents, xai responses, gemini interactions, agents, environments, triggers, credentials, webhooks)
pricing.md Side-by-side price tables for four providers, tier structure, cost models (1M in + 100k out; cached prefix; batch), tool prices generated/models.json (pricing blocks), generated/pricing.json
caching-and-reasoning.md Implicit vs explicit caching (OpenAI, Anthropic cache_control, xAI automatic, Gemini implicit + cachedContents), TTLs, minimums, multipliers; reasoning.effort vs thinking+effort vs reasoning_effort+reasoning_content vs thinkingConfig+thoughtSignature parameters.json, generated/compatibility/anthropic-feature-model-matrix.json, gemini-feature-model-matrix.json
realtime-and-media.md Realtime/Live voice (OpenAI, xAI realtime, Gemini Live), TTS/STT, image / video / music generation, embeddings, moderation — and what Anthropic offers instead endpoints.json, models.json, pricing.json, streaming-events.json
responses-vs-chat-completions.md (existing) OpenAI-internal comparison of the two chat surfaces (xAI mirrors both; see state-management.md) —
../endpoints/index.md · ../endpoints/by-status.md Full endpoint catalogue (870 rows: OpenAI 359, Anthropic 282, xAI 104, Gemini 125) grouped by provider → family, and grouped by status generated/endpoints.json, generated/endpoints.csv
../faq.md The owner's questions answered with computed tables for four providers (which model accepts X+Y+Z, SSE/WebSocket events, which endpoint creates a session, beta headers vs /v1beta paths vs alpha gates, which provider offers X at what price…) all of the above

# Feature coverage summary (from cross-provider-feature-matrix.json, 125 features)

Coverage Count Examples
On all four providers 45 primary generation endpoint, system prompt, multi-turn, token counting, structured outputs, strict tool arguments, sampling params, stop sequences, refusal signalling, function calling, tool choice, parallel calls, web search, code execution, remote MCP, citations, image & PDF input, Files API, batch, prompt/context caching, reasoning control, reasoning visibility & replay, context window, max output, service tiers, end-user id, rate-limit tiers, overload error, error envelope, authentication, SDKs, webhooks, usage reporting, cloud availability, ZDR/data-use, agent harness / session / input / stream, client agent framework
On three 34 OpenAI + xAI + Gemini (14: chat-completions surface, response storage, background/deferred, JSON mode, managed RAG, image generation, TTS, STT, realtime voice, video, resumable upload, pro/extended compute, OpenAI-compat layer…) · OpenAI + Anthropic + xAI (12: tool search, shell, skills, stand-alone compaction, rate-limit headers, request id, admin API, audit, spend limits, data residency, self-hosted execution, multi-agent) · OpenAI + Anthropic + Gemini (6: computer use, tunnels/credentials, in-flight compaction, hosted sandbox, vaults, artifacts) · Anthropic + xAI + Gemini (2: task/session budgets)
On two 16 OpenAI + Anthropic (6: programmatic tool calling, file editing tool, cache diagnostics, mid-conversation effort/tool changes, beta header) · OpenAI + Gemini (5: safety thresholds, async tools, container/environment API, audio-video input, embeddings) · Anthropic + Gemini (3: web fetch / URL context, version header/path, scheduled runs) · xAI + Gemini (1: X search / Maps grounding) · Anthropic + xAI (1: Anthropic-compatible /v1/messages)
Unique to OpenAI 15 legacy completions that still answer, verbosity, logprobs, grammar tools, tool namespaces, SaaS connectors, Live delegation, moderation endpoint, content provenance, ChatKit/workspace agents, fine-tuning, evals, graders, stored completions, prompt templates
Unique to Anthropic 8 assistant prefill (deprecated), server-side fallback, memory tool, browser toolset, advisor, server-side context editing, outcome grading, memory stores/dreams
Unique to xAI 2 per-request dollar cost (cost_in_usd_ticks), retired-model redirect aliases (x_search is grouped with Gemini Maps under "social / vertical search")
Unique to Gemini 1 music generation (Lyria) — Google Search/Maps grounding, URL context, native audio/video input, free tier and Interactions agents are counted in shared rows
On none (legacy/absent) 4 idempotency keys, retired agent APIs, retired media models, retired text models
Marked portable 86 same task expressible on every provider that offers it

Per-provider supported rows: OpenAI 103 · Anthropic 83 · xAI 77 · Gemini 77.

# Methodology

  1. Objective differences only. Pages describe what each API accepts, returns and charges. No "winner", no quality judgement about model outputs. Where a capability exists on a subset of providers it is marked "— not offered" on the others.
  2. Statuses are inherited, never upgraded. A cell says LIVE_VERIFIED only if the underlying record was called successfully with this atlas's keys on 2026-09-18/19. DOCUMENTED = in current official docs, not tested; ACCOUNT_RESTRICTED = documented but our key was refused — for xAI that means the Management API (separate key), the Skills API, /v1/embeddings and alpha tool_search; for Gemini it means paid-tier-only models and features probed with a free-tier key (Pro models, image/video/music generation, cachedContents, Batch, Google Search grounding quota). A 403/404/429-with-limit-0 never means "does not exist". BETA/PREVIEW = gated by header (Anthropic, OpenAI), by /v1beta path or -preview id (Gemini), or by product stage (xAI multi-agent, Grok Build). GA appears only on Gemini fragments.
  3. Current models only in the model table. OpenAI: GPT-6 Astra, GPT-5.6 Sol/Terra/Luna, GPT-5.5(-pro), GPT-5.4(-pro/-mini/-nano), GPT-5.3-codex, GPT-5.2, GPT-5.1, GPT-5 family, o3/o3-pro/o4-mini (deprecated), GPT-4.1/4o lines. Anthropic: Fable 5.1 / 5, Mythos 5.1 / 5 (invite), Opus 5 / 4.8 / 4.7 / 4.6 / 4.5, Sonnet 5 / 4.6 / 4.5, Haiku 4.5. xAI: grok-4.6, grok-4.5, grok-4.3, grok-4.20-0309-reasoning / -non-reasoning / multi-agent (beta), grok-build-0.1 (preview), Imagine image/video, voice models. Gemini: 3.8 / 3.7 / 3.6 / 3.5 Flash, 3.5 Flash-Lite, 3.1 Pro Preview, 3.1 Flash-Lite (deprecated), 3 Flash Preview, 2.5 family (blocked for new users), Gemma 4, Live / TTS / transcribe / image / Veo / Lyria / embedding models, Interactions agents. Retired ids appear only in the lifecycle sections.
  4. Equivalence ≠ identity. "Portable" means the same task can be expressed with an equivalent parameter on every provider that offers the feature; a single-provider feature is never portable. The per-topic pages give the exact parameter mapping and a JSON quad ("the same task on all four providers"); the differences column lists what does not carry over (defaults, limits, billing, gating). xAI's Responses/Chat/Realtime surfaces reuse OpenAI's wire formats, so OpenAI↔xAI mappings are often literal; Gemini's generateContent (camelCase parts) and Interactions (snake_case steps) are distinct shapes.
  5. Prices come from generated/pricing.json and the pricing block of generated/models.json (vendor pricing and model pages retrieved 2026-09-18; xAI also from the live catalogue price ticks). Cost models are arithmetic on those list prices; no invoice was reconciled. Provider-specific rules that change the arithmetic are stated next to each table: xAI bills reasoning tokens on every call and applies its ≥200k-token tier to the whole request; Gemini 3.6–3.8 Flash prices are introductory until 2026-12-31 and Gemini has a $0 tier; only Anthropic and GPT-5.6+ charge cache writes.
  6. Traceability. The JSON twin of the feature matrix carries a ref per row (file or docs page). The FAQ shows the jq used for each computed table. Endpoint pages are rendered from generated/endpoints.json without manual edits.
  7. Known data inconsistencies found while synthesising are listed at the end of models.md (29 items, 13 new for xAI/Gemini) so the fragment owners can fix them at the source (generated/fragments/**), never in the merged files.

# Vocabulary map (the same idea, four names)

Concept OpenAI Anthropic xAI Gemini
One model call Response (resp_…) Message (msg_…) Response (resp_…) / Chat Completion GenerateContentResponse (responseId) / Interaction (v1_…)
Unit of context Item (message, function_call, reasoning, …) Content block (text, tool_use, thinking, …) Item (OpenAI shapes; custom_tool_call for x_search) Part inside a Content (text, inlineData, functionCall, thoughtSignature, …) / Step (Interactions)
Assistant role assistant assistant assistant model
System prompt instructions / developer message system instructions / system message systemInstruction / system_instruction
Your tool function / custom tool → function_call → function_call_output custom tool → tool_use → tool_result function → function_call → function_call_output (Chat: tool_calls → role: tool) functionDeclarations[] → functionCall (+ thoughtSignature) → functionResponse
Vendor-run tool hosted tool (web_search, code_interpreter, file_search, mcp, shell, image_generation) server tool (web_search_*, web_fetch_*, code_execution_*, tool_search_*, advisor_*, mcp_toolset) server-side tool (web_search, x_search, code_interpreter, file_search/collections_search, mcp, image_generation, attachment search) built-in tool (googleSearch, googleMaps, urlContext, codeExecution, fileSearch, mcpServers)
Vendor-defined, you-run tool computer, apply_patch, shell (local) bash_*, text_editor_*, memory_*, computer_*, browser_toolset_* shell (local) computerUse (predefined functionCalls)
Hidden reasoning reasoning item, reasoning_tokens, encrypted_content thinking block, thinking_tokens, signature reasoning item / reasoning_content text, reasoning_tokens, encrypted_content thought: true parts, thoughtsTokenCount, thoughtSignature
Reasoning depth reasoning.effort output_config.effort (+ thinking.type) reasoning.effort / reasoning_effort thinkingConfig.thinkingLevel (+ legacy thinkingBudget)
Cache control implicit prefix cache, prompt_cache_key, prompt_cache_breakpoint (5.6+) cache_control {type: ephemeral, ttl} automatic; prompt_cache_key / x-grok-conv-id routing implicit; explicit cachedContents + cachedContent
Structured output text.format {type: json_schema} output_config.format {type: json_schema} text.format / response_format.json_schema responseMimeType + responseJsonSchema / responseFormat.text.schema
Async discount Batch API (JSONL file) / flex tier Message Batches (inline requests[]) Batch API (inline or JSONL; −20 %, three models) Batch (:batchGenerateContent) / flex tier
Faster tier service_tier: fast speed: fast service_tier: priority serviceTier: priority
Context shrink context_management compaction / POST /v1/responses/compact context_management.edits / compaction param POST /v1/responses/compact Live contextWindowCompression; Antigravity auto-compaction
Beta gate OpenAI-Beta: <surface>=v1 anthropic-beta: <feature>-<date> none (account ACL / alpha) /v1beta path, -preview model id
Managed harness Agents API (agent, session, turn, item, environment) Managed Agents (agent version, session, thread, event, environment) Responses agentic loop (max_turns, stored response) · Grok Build CLI Interactions API (agent, environment, trigger, credential)
Secrets for agents Vaults Vaults inline authorization/headers Credentials
Per-org admin Admin API key (sk-admin-…), org/projects Admin API key (sk-ant-admin01-…), org/workspaces Management key (management-api.x.ai), team Google Cloud project / IAM (no Developer-API admin surface)
Overload HTTP 503 server_is_overloaded HTTP 529 overloaded_error HTTP 429 / 5xx internal HTTP 503 UNAVAILABLE
Exact cost of a call Admin costs report cost report usage.cost_in_usd_ticks in the response Cloud Billing