{"openapi":"3.1.0","info":{"title":"Onchain Router","version":"0.5.0","description":"The x402-native AI model router: use provider-neutral text, image, and speech APIs, pay in USDC, and receive a durable receipt. OpenAI- and Anthropic-compatible request formats are available. A 0% service fee launch promotion is active.","contact":{"name":"Onchain Router","email":"saren@agenticfi.wtf","url":"https://llm.agenticfi.wtf"},"x-logo":{"url":"https://llm.agenticfi.wtf/assets/brand/onchain-router-favicon.png","altText":"Onchain Router"},"x-catalog-version":"d815ab0e8989b9e466280031ee859b916a676070cabc0e5b33e30d626957d9c0","x-pricing-promotion":{"label":"0% service fee launch promotion","serviceFeeBasisPoints":0},"x-guidance":"Read GET /v1/models and use only categories, models, and endpoints returned as available. text_generation supports POST /v1/chat/completions and POST /v1/messages. image_generation, when returned as available, supports POST /v1/images/generations. text_to_speech supports hosted audio through POST /v1/audio/speech; speech_to_text supports one bounded MP3 supplied as canonical Base64 JSON or multipart form data through POST /v1/audio/transcriptions. Categories and routes appear only when enabled. The interface remains provider-neutral. A 0% service fee launch promotion is active. On HTTP 402, use an official x402 v2 EVM upto client to authorize the advertised amount and retry the identical request, including the complete audio input."},"externalDocs":{"description":"Onchain Router documentation","url":"https://llm.agenticfi.wtf/docs"},"servers":[{"url":"https://llm.agenticfi.wtf","description":"Base mainnet production"}],"paths":{"/v1/chat/completions":{"post":{"operationId":"createChatCompletion","tags":["AI"],"summary":"Create an OpenAI-compatible LLM response","description":"Measured-usage LLM inference with a 0% service fee launch promotion. The live HTTP 402 response provides the request-specific spending limit before authorization.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.766952"},"protocols":[{"x402":{}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"parameters":[{"in":"header","name":"x-idempotency-key","required":true,"schema":{"type":"string"},"description":"Stable identity retained across the unpaid request and signed retry."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","enum":["gemini-3.6-flash","gemini-3.5-flash-lite","gemini-3.5-flash","gemini-3.1-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.5-flash-lite"]},"messages":{"type":"array","minItems":1,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"text"}},"additionalProperties":true},{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"image_url"}},"additionalProperties":true},{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"refusal"}},"additionalProperties":true}]}}]}},"additionalProperties":true}},"max_tokens":{"type":"integer","minimum":1,"maximum":65536,"default":512,"description":"Output ceiling used to calculate the signed authorization maximum. Actual settlement uses reported usage."},"stream":{"type":"boolean","const":false,"default":false},"tools":{"type":"array","items":{}},"response_format":{}},"required":["model","messages"],"additionalProperties":true},"example":{"model":"gemini-3.6-flash","messages":[{"role":"user","content":"Explain in two short sentences why the sky appears blue."}],"max_tokens":1024,"stream":false}}}},"responses":{"200":{"description":"Durably settled response with X-Receipt-ID and PAYMENT-RESPONSE headers","headers":{"X-Receipt-ID":{"description":"Immutable receipt identifier.","schema":{"type":"string","format":"uuid"}},"X-Receipt-Token":{"description":"Bearer capability for retrieving this receipt. Store securely; it is returned only with the protected response.","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Official x402 settlement response.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","object","model","choices","usage"],"properties":{"id":{"type":"string"},"object":{"type":"string","const":"chat.completion"},"model":{"type":"string"},"choices":{"type":"array","items":{"type":"object","additionalProperties":true}},"usage":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"400":{"description":"Invalid or unsupported request"},"402":{"description":"Payment required. The PAYMENT-REQUIRED header is authoritative and contains the official x402 challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded official x402 v2 payment requirement.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","message","price","paymentInfo"],"properties":{"error":{"type":"string","const":"Payment Required"},"message":{"type":"string"},"price":{"type":"object","required":["amount","currency","type"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USDC"},"type":{"type":"string","const":"maximum"}}},"paymentInfo":{"type":"object","required":["x402Version","scheme","network","asset"],"properties":{"x402Version":{"type":"integer","const":2},"scheme":{"type":"string","const":"upto"},"network":{"type":"string"},"asset":{"type":"string"}}}}}}}},"409":{"description":"Idempotency key reused with a different effective request"},"503":{"description":"Provider, payment, or safety dependency unavailable"}}}},"/v1/messages":{"post":{"operationId":"createMessage","tags":["AI"],"summary":"Create an Anthropic-compatible LLM response","description":"Measured-usage LLM inference with a 0% service fee launch promotion. The live HTTP 402 response provides the request-specific spending limit before authorization.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.766952"},"protocols":[{"x402":{}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"parameters":[{"in":"header","name":"x-idempotency-key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","enum":["gemini-3.6-flash","gemini-3.5-flash-lite","gemini-3.5-flash","gemini-3.1-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.5-flash-lite"]},"messages":{"type":"array","minItems":1,"items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string"},"content":{"oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"text"}},"additionalProperties":true},{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"image"}},"additionalProperties":true},{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"tool_use"}},"additionalProperties":true},{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"tool_result"}},"additionalProperties":true}]}}]}},"additionalProperties":true}},"max_tokens":{"type":"integer","minimum":1,"maximum":65536,"default":512,"description":"Output ceiling used to calculate the signed authorization maximum. Actual settlement uses reported usage."},"stream":{"type":"boolean","const":false,"default":false},"tools":{"type":"array","items":{}},"system":{"oneOf":[{"type":"string"},{"type":"array","items":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","const":"text"}},"additionalProperties":true}]}}]}},"required":["model","messages","max_tokens"],"additionalProperties":true},"example":{"model":"gemini-3.6-flash","messages":[{"role":"user","content":"Explain why the sky appears blue."}],"max_tokens":1024,"stream":false}}}},"responses":{"200":{"description":"Durably settled response with X-Receipt-ID and PAYMENT-RESPONSE headers","headers":{"X-Receipt-ID":{"description":"Immutable receipt identifier.","schema":{"type":"string","format":"uuid"}},"X-Receipt-Token":{"description":"Bearer capability for retrieving this receipt. Store securely; it is returned only with the protected response.","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Official x402 settlement response.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","type","role","model","content","usage"],"properties":{"id":{"type":"string"},"type":{"type":"string","const":"message"},"role":{"type":"string","const":"assistant"},"model":{"type":"string"},"content":{"type":"array","items":{"type":"object","additionalProperties":true}},"usage":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"400":{"description":"Invalid or unsupported request"},"402":{"description":"Payment required. The PAYMENT-REQUIRED header is authoritative and contains the official x402 challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded official x402 v2 payment requirement.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","message","price","paymentInfo"],"properties":{"error":{"type":"string","const":"Payment Required"},"message":{"type":"string"},"price":{"type":"object","required":["amount","currency","type"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USDC"},"type":{"type":"string","const":"maximum"}}},"paymentInfo":{"type":"object","required":["x402Version","scheme","network","asset"],"properties":{"x402Version":{"type":"integer","const":2},"scheme":{"type":"string","const":"upto"},"network":{"type":"string"},"asset":{"type":"string"}}}}}}}},"409":{"description":"Idempotency key reused with a different effective request"},"503":{"description":"Provider, payment, or safety dependency unavailable"}}}},"/v1/images/generations":{"post":{"operationId":"createImageGeneration","tags":["Images"],"summary":"Generate an image from a text prompt","description":"Provider-neutral image generation priced by model and requested image size. 1K and 1:1 are the defaults. Supported sizes and aspect ratios are published per model by GET /v1/models and GET /v1/pricing. Hosted image URLs expire seven days after generation. A 0% service fee launch promotion is active.","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.035"},"protocols":[{"x402":{}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"parameters":[{"in":"header","name":"x-idempotency-key","required":true,"schema":{"type":"string"},"description":"Stable identity retained across the unpaid request and signed retry."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","prompt"],"properties":{"model":{"type":"string","const":"gemini-3.1-flash-lite-image"},"prompt":{"type":"string","minLength":1,"maxLength":4000},"n":{"type":"integer","const":1,"default":1},"image_size":{"type":"string","enum":["1K"],"default":"1K","description":"Output price tier supported by the selected model."},"aspect_ratio":{"type":"string","enum":["1:1"],"default":"1:1","description":"Output shape supported by the selected model. Aspect ratio does not change the price tier."},"size":{"type":"string","const":"1024x1024","deprecated":true,"description":"Deprecated compatibility alias for image_size=1K and aspect_ratio=1:1."},"response_format":{"type":"string","enum":["url","b64_json"],"default":"url","description":"Durable encrypted hosted URL by default; use b64_json only when inline bytes are required."}},"additionalProperties":false},"example":{"model":"gemini-3.1-flash-lite-image","prompt":"A small observatory beneath a clear night sky, editorial illustration","n":1,"image_size":"1K","aspect_ratio":"1:1","response_format":"url"}}}},"responses":{"200":{"description":"Durably settled response with X-Receipt-ID and PAYMENT-RESPONSE headers","headers":{"X-Receipt-ID":{"description":"Immutable receipt identifier.","schema":{"type":"string","format":"uuid"}},"X-Receipt-Token":{"description":"Bearer capability for retrieving this receipt. Store securely; it is returned only with the protected response.","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Official x402 settlement response.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["created","model","image_size","aspect_ratio","data","price"],"properties":{"created":{"type":"integer"},"model":{"type":"string","enum":["gemini-3.1-flash-lite-image"]},"image_size":{"type":"string","enum":["1K"]},"aspect_ratio":{"type":"string","enum":["1:1"]},"data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","anyOf":[{"required":["url","backed_up","url_expires_at","url_retention_days"],"properties":{"url":{"type":"string","format":"uri"},"backed_up":{"type":"boolean","const":true},"url_expires_at":{"type":"string","format":"date-time","description":"The hosted URL stops serving the image at this time, seven days after generation."},"url_retention_days":{"type":"integer","const":7,"description":"The hosted URL is retained and served for seven days after generation."},"revised_prompt":{"type":"string"}}},{"required":["url","backed_up","url_expires_at","url_retention_days","b64_json"],"properties":{"url":{"type":"string","format":"uri"},"backed_up":{"type":"boolean","const":true},"url_expires_at":{"type":"string","format":"date-time","description":"The hosted URL stops serving the image at this time, seven days after generation."},"url_retention_days":{"type":"integer","const":7,"description":"The hosted URL is retained and served for seven days after generation."},"b64_json":{"type":"string","format":"byte"},"revised_prompt":{"type":"string"}}}]}},"price":{"type":"object","required":["amount","currency"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USD"}}}},"additionalProperties":true}}}},"400":{"description":"Invalid or unsupported request"},"402":{"description":"Payment required. The PAYMENT-REQUIRED header is authoritative and contains the official x402 challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded official x402 v2 payment requirement.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","message","price","paymentInfo"],"properties":{"error":{"type":"string","const":"Payment Required"},"message":{"type":"string"},"price":{"type":"object","required":["amount","currency","type"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USDC"},"type":{"type":"string","const":"maximum"}}},"paymentInfo":{"type":"object","required":["x402Version","scheme","network","asset"],"properties":{"x402Version":{"type":"integer","const":2},"scheme":{"type":"string","const":"upto"},"network":{"type":"string"},"asset":{"type":"string"}}}}}}}},"409":{"description":"Idempotency key reused with a different effective request"},"503":{"description":"Provider, payment, or safety dependency unavailable"}}}},"/v1/audio/voices":{"get":{"operationId":"listAudioVoices","tags":["Audio"],"summary":"List enabled curated text-to-speech voices","security":[],"responses":{"200":{"description":"Curated public voice aliases; upstream voice IDs are private.","content":{"application/json":{"schema":{"type":"object","required":["object","defaults","data"],"properties":{"object":{"type":"string","const":"list"},"defaults":{"type":"object","description":"Default public voice alias keyed by enabled text-to-speech model.","additionalProperties":{"type":"string","enum":["darian","talia","elara","baxter","eldrin","kellan","elowen","kaelen","lawrence","alicia","maisie","warren","jade","eddie","caleb","sawyer","finley","florence","wyatt","bella"]}},"data":{"type":"array","items":{"type":"object","required":["id","name","description","provider","languages","models","default_for_models","retirement_date"],"properties":{"id":{"type":"string","enum":["darian","talia","elara","baxter","eldrin","kellan","elowen","kaelen","lawrence","alicia","maisie","warren","jade","eddie","caleb","sawyer","finley","florence","wyatt","bella"]},"name":{"type":"string"},"description":{"type":"string"},"provider":{"type":"string"},"languages":{"type":"array","items":{"type":"string"}},"models":{"type":"array","items":{"type":"string"}},"default_for_models":{"type":"array","items":{"type":"string","enum":["elevenlabs/flash-v2.5"]}},"retirement_date":{"type":["string","null"],"format":"date"}},"additionalProperties":false}}}}}}}}}},"/v1/audio/speech":{"post":{"operationId":"createSpeech","tags":["Audio"],"summary":"Generate a hosted speech audio asset","description":"OpenAI-shaped JSON request with a settled hosted response. The encrypted capability URL expires after 24 hours. A 0% service fee launch promotion is active.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.002","max":"0.441"},"protocols":[{"x402":{}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"parameters":[{"in":"header","name":"x-idempotency-key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","input"],"properties":{"model":{"type":"string","enum":["elevenlabs/flash-v2.5"]},"input":{"type":"string","minLength":1,"maxLength":2000},"voice":{"type":"string","enum":["darian","talia","elara","baxter","eldrin","kellan","elowen","kaelen","lawrence","alicia","maisie","warren","jade","eddie","caleb","sawyer","finley","florence","wyatt","bella"],"default":"darian","description":"Optional public voice alias. When omitted, the selected model's catalog default is used."},"response_format":{"type":"string","enum":["mp3"],"default":"mp3"},"speed":{"type":"number","minimum":0.7,"maximum":1.2,"multipleOf":0.001,"default":1}},"additionalProperties":false},"example":{"model":"elevenlabs/flash-v2.5","input":"Your text to speak.","voice":"darian","response_format":"mp3","speed":1}}}},"responses":{"200":{"description":"Durably settled response with X-Receipt-ID and PAYMENT-RESPONSE headers","headers":{"X-Receipt-ID":{"description":"Immutable receipt identifier.","schema":{"type":"string","format":"uuid"}},"X-Receipt-Token":{"description":"Bearer capability for retrieving this receipt. Store securely; it is returned only with the protected response.","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Official x402 settlement response.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","created","model","data","usage"],"properties":{"id":{"type":"string"},"created":{"type":"integer"},"model":{"type":"string","enum":["elevenlabs/flash-v2.5"]},"data":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","required":["url","format","content_type","bytes","duration_ms","characters","expires_at","backed_up"],"properties":{"url":{"type":"string","format":"uri"},"format":{"type":"string","enum":["mp3"]},"content_type":{"type":"string"},"bytes":{"type":"integer","minimum":1},"duration_ms":{"type":"integer","minimum":1},"characters":{"type":"integer","minimum":1},"expires_at":{"type":"string","format":"date-time"},"backed_up":{"type":"boolean","const":true}}}},"usage":{"type":"object","required":["input_characters"],"properties":{"input_characters":{"type":"integer","minimum":1}},"additionalProperties":false}}}}}},"400":{"description":"Invalid or unsupported request"},"402":{"description":"Payment required. The PAYMENT-REQUIRED header is authoritative and contains the official x402 challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded official x402 v2 payment requirement.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","message","price","paymentInfo"],"properties":{"error":{"type":"string","const":"Payment Required"},"message":{"type":"string"},"price":{"type":"object","required":["amount","currency","type"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USDC"},"type":{"type":"string","const":"maximum"}}},"paymentInfo":{"type":"object","required":["x402Version","scheme","network","asset"],"properties":{"x402Version":{"type":"integer","const":2},"scheme":{"type":"string","const":"upto"},"network":{"type":"string"},"asset":{"type":"string"}}}}}}}},"409":{"description":"Idempotency key reused with a different effective request"},"503":{"description":"Provider, payment, or safety dependency unavailable"}}}},"/v1/audio/transcriptions":{"post":{"operationId":"createTranscription","tags":["Audio"],"summary":"Transcribe one bounded audio upload","description":"Send one audio file either as standard multipart form data or as JSON with canonical Base64 in audio_base64. The unpaid HTTP 402 and paid retry must include the complete identical body. Audio is decoded, inspected, and validated before quoting, then staged encrypted only after payment verification. ElevenLabs processes audio and transcript output in standard retained mode; Onchain Router's local encrypted-stage deletion does not delete provider-held data. Do not submit sensitive or regulated audio. A 0% service fee launch promotion is active.","x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.005034","max":"0.122"},"protocols":[{"x402":{}}],"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"parameters":[{"in":"header","name":"x-idempotency-key","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["audio_base64","model"],"properties":{"audio_base64":{"type":"string","format":"byte","minLength":4,"maxLength":34952536,"example":"//NIxAAaMLJMA1lIADIB0A6AdAOgHQDorpjqDoSAIAYgRdBWcyVTflOWM30zYOMwwyiDEALiJEMQciHBWKwTBMEw2K0bcIIECBAxCJwfB/Uco8/yjtAf4EdoD/AjuH+Ud39HvwfAgIAgCAYB8Hw+sCAgcwffoTEFNRQMACQgABAAAAAAAAAAAAAAAAAAAAAA//NIxAAguhLWX5aqAkBQOBSMBQKBgMBgIAABSQau8DCOGYDAgEXwM8zqQP/WdDhEVD2BitHgZSGYGJBWvVgYJEgGJQ8Bh8SAGAv/BuEG1RHQYqDAX/izRBUPhHKFzCtv/xSIfKGrRjhQQhYcn//FyitSHC5hcxDRzRzSa///IsRYokVIqZEWLxiXS6Zf/h0q//NIxAAdeyYQA944Asfz96oGvKZQW3hgFgJGBCC8YPIChg8BgmK0cSceBbR9IniGUmV0Y3QqpiRETmAGHaYNgEICAVVSWtGoBFxrFqP/X5mu23/9//Tt67abb/f03xz7VSUGOohe2mbk/vuggac0czd//X//ypLb9wk0q16fc1fu6NqYgpqKBgASEAAIAAAA//NIxAAb0poUFP7EpAH9D//+ZS1rygoIAAQSAGAAAdMAJAPjAIgI8wHUHIML+SoDGeQlowFwB5MrDDquMztHMzABIFXs/M9YRUXf/+/32////9q6Ztd6m3x6/C4f+o0EN4keCz5qk2ro8MNB4ue3cn/Wcr+md3s27t/9OhMQU1FAwAJCAAEAAAAAAAAAAAAA//NIxAAeY5YIAP8OpP1/5138YOxUgAAQQANGAJgHZgGgDgYDaBzmB/BUhioLTsZZEHIGCtgmJrVcnGtQZrQBk8HhAcSTYI78ODQ9i9X/p8ttnU//zv/vt6a6Zm33rrpmffaUbxM9dts3+mPlrPNx3/f7//3qHer/+Zl96vKOYrTp2qfzvI6UxBTUUDAAkIAA//NIxAAbyyYQFOeOiAG4D9/+V2DGMrSQHEQVGh+Dj4Z/A5zAPG0SGUe8wKRiwg9mC2FSYDRBwNCuHAHUOzRYKj9Qwualf/999t//TN/+9W9dNc3bfffz8b/0xM1MLFpr33yf9MQ5THs7fff0//9COn58ptU5itGjarz29KYgpqKBgASEAAIAAAAAAAAAAAAA//NIxAAcwyIQDOfEiAyB+v/mMaYaisAQIYCB5gkRGGCKY9TRqr2mIKqD5kYQUSYE6A6GAQAF5gW4J4YCAA0GAbABYQAHKWuNFb6mZqt//bJrv//Tb/ev+fTff7+mXJ9qPBfDjU220+1MKPPg8u339P//BH9/qnULkNu/pXZ1++pMQU1FAwAJCAAEAAAAAAAA","description":"Canonical RFC 4648 Base64 audio bytes with no data-URL prefix or whitespace."},"model":{"type":"string","enum":["elevenlabs/scribe-v2"]},"file_format":{"type":"string","enum":["other"],"default":"other"},"language":{"type":"string"},"diarize":{"type":"boolean","default":false},"num_speakers":{"type":"integer","minimum":1,"maximum":32},"timestamps":{"type":"string","enum":["none","word","character"],"default":"none"},"tag_audio_events":{"type":"boolean","default":false},"response_format":{"type":"string","enum":["json","verbose_json"],"default":"json"}},"additionalProperties":false}},"multipart/form-data":{"schema":{"type":"object","required":["file","model"],"properties":{"file":{"type":"string","format":"binary"},"model":{"type":"string","enum":["elevenlabs/scribe-v2"]},"file_format":{"type":"string","enum":["other"],"default":"other","description":"Use other for the catalog-advertised encoded audio formats."},"language":{"type":"string"},"diarize":{"type":"boolean","default":false},"num_speakers":{"type":"integer","minimum":1,"maximum":32},"timestamps":{"type":"string","enum":["none","word","character"],"default":"none"},"tag_audio_events":{"type":"boolean","default":false},"response_format":{"type":"string","enum":["json","verbose_json"],"default":"json"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Durably settled response with X-Receipt-ID and PAYMENT-RESPONSE headers","headers":{"X-Receipt-ID":{"description":"Immutable receipt identifier.","schema":{"type":"string","format":"uuid"}},"X-Receipt-Token":{"description":"Bearer capability for retrieving this receipt. Store securely; it is returned only with the protected response.","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Official x402 settlement response.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["id","created","model","text","usage"],"properties":{"id":{"type":"string"},"created":{"type":"integer"},"model":{"type":"string","enum":["elevenlabs/scribe-v2"]},"text":{"type":"string"},"language":{"type":"string"},"language_probability_millionths":{"type":"integer","minimum":0,"maximum":1000000},"usage":{"type":"object","required":["input_audio_ms"],"properties":{"input_audio_ms":{"type":"integer","minimum":1}},"additionalProperties":false},"words":{"type":"array","items":{"type":"object"}}}}}}},"400":{"description":"Invalid or unsupported request"},"402":{"description":"Payment required. The PAYMENT-REQUIRED header is authoritative and contains the official x402 challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded official x402 v2 payment requirement.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","required":["error","message","price","paymentInfo"],"properties":{"error":{"type":"string","const":"Payment Required"},"message":{"type":"string"},"price":{"type":"object","required":["amount","currency","type"],"properties":{"amount":{"type":"string"},"currency":{"type":"string","const":"USDC"},"type":{"type":"string","const":"maximum"}}},"paymentInfo":{"type":"object","required":["x402Version","scheme","network","asset"],"properties":{"x402Version":{"type":"integer","const":2},"scheme":{"type":"string","const":"upto"},"network":{"type":"string"},"asset":{"type":"string"}}}}}}}},"409":{"description":"Idempotency key reused with a different effective request"},"503":{"description":"Provider, payment, or safety dependency unavailable"}}}},"/v1/models":{"get":{"operationId":"listModels","tags":["Discovery"],"summary":"List available capability categories, endpoints, and models","security":[],"responses":{"200":{"description":"Current categorized catalog. Only returned categories and endpoints are available.","content":{"application/json":{"schema":{"type":"object","required":["object","catalog_version","categories","data"],"properties":{"object":{"type":"string","const":"list"},"catalog_version":{"type":"string"},"categories":{"type":"array","items":{"type":"object","required":["id","object","label","description","status","endpoints","model_ids"],"properties":{"id":{"type":"string","enum":["text_generation","image_generation","text_to_speech","speech_to_text"]},"object":{"type":"string","const":"model_category"},"label":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","const":"available"},"endpoints":{"type":"array","items":{"type":"object","required":["method","path","compatibility"],"properties":{"method":{"type":"string","const":"POST"},"path":{"type":"string"},"compatibility":{"type":"string"}}}},"model_ids":{"type":"array","items":{"type":"string","enum":["gemini-3.6-flash","gemini-3.5-flash-lite","gemini-3.5-flash","gemini-3.1-flash-lite","gemini-3.1-flash-lite-image","gemini-2.5-flash","gemini-2.5-pro","gemini-2.5-flash-lite","elevenlabs/flash-v2.5","elevenlabs/scribe-v2"]}}}}},"data":{"type":"array","items":{"type":"object","required":["id","object","category","input_modalities","output_modalities","supported_endpoints"],"properties":{"id":{"type":"string","enum":["gemini-3.6-flash","gemini-3.5-flash-lite","gemini-3.5-flash","gemini-3.1-flash-lite","gemini-3.1-flash-lite-image","gemini-2.5-flash","gemini-2.5-pro","gemini-2.5-flash-lite","elevenlabs/flash-v2.5","elevenlabs/scribe-v2"]},"object":{"type":"string","const":"model"},"category":{"type":"string","enum":["text_generation","image_generation","text_to_speech","speech_to_text"]},"input_modalities":{"type":"array","items":{"type":"string","enum":["text","image","video","audio"]}},"output_modalities":{"type":"array","items":{"type":"string","enum":["text","image","video","audio"]}},"supported_endpoints":{"type":"array","items":{"type":"string","enum":["/v1/chat/completions","/v1/messages","/v1/images/generations","/v1/audio/speech","/v1/audio/transcriptions"]}}},"additionalProperties":true}}}}}}}}}},"/v1/pricing":{"get":{"operationId":"listPricing","tags":["Discovery"],"summary":"List detailed pricing for all available models","security":[],"responses":{"200":{"description":"Current model rates and pricing policy","content":{"application/json":{"schema":{"type":"object","required":["object","catalog_version","service_fee_basis_points","data"],"properties":{"object":{"type":"string","const":"pricing_catalog"},"catalog_version":{"type":"string"},"service_fee_basis_points":{"type":"integer"},"promotion":{"type":["string","null"]},"data":{"type":"array","items":{"type":"object","required":["model","category","currency","billing_mode"],"properties":{"model":{"type":"string","enum":["gemini-3.6-flash","gemini-3.5-flash-lite","gemini-3.5-flash","gemini-3.1-flash-lite","gemini-3.1-flash-lite-image","gemini-2.5-flash","gemini-2.5-pro","gemini-2.5-flash-lite","elevenlabs/flash-v2.5","elevenlabs/scribe-v2"]},"category":{"type":"string","enum":["text_generation","image_generation","text_to_speech","speech_to_text"]},"currency":{"type":"string","const":"USD"},"billing_mode":{"type":"string","enum":["measured_tokens","per_image_specification","measured_characters","measured_audio_duration"]},"input_per_million_tokens":{"type":"string"},"output_per_million_tokens":{"type":"string"},"size":{"type":"string"},"price_per_successful_image_usd":{"type":"string"},"price_per_thousand_characters_usd":{"type":"string"},"maximum_characters":{"type":"integer"},"response_formats":{"type":"array","items":{"type":"string"}},"default_response_format":{"type":"string"},"default_voice":{"type":"string"},"url_retention_hours":{"type":"integer"},"price_per_audio_hour_usd":{"type":"string"},"maximum_audio_duration_ms":{"type":"string"},"maximum_audio_bytes":{"type":"integer"},"accepted_formats":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}}}}}}}}}},"/v1/balance":{"get":{"operationId":"getWalletBalance","tags":["Wallet"],"summary":"Check a Base wallet USDC balance","security":[],"parameters":[{"in":"query","name":"address","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"description":"Base wallet address to inspect. Wallet balances are public chain data."}],"responses":{"200":{"description":"Current Base USDC wallet balance","content":{"application/json":{"schema":{"type":"object","required":["object","network","asset","currency","wallet","balance_usdc_atomic","balance_usdc"],"properties":{"object":{"type":"string","const":"wallet_balance"},"network":{"type":"string","const":"eip155:8453"},"asset":{"type":"string","const":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"currency":{"type":"string","const":"USDC"},"wallet":{"type":"string"},"balance_usdc_atomic":{"type":"string","pattern":"^\\d+$"},"balance_usdc":{"type":"string"}}}}}},"400":{"description":"Invalid or missing Base wallet address"},"503":{"description":"Base balance lookup temporarily unavailable"}}}}}}