{"openapi":"3.1.0","info":{"title":"Convai Interaction Cost Calculator API","version":"1.0.0","description":"Estimate the Convai credits an interaction consumes for a given character configuration. All amounts are in Convai credits. Estimates only. Actual billing follows your subscription plan and the published rate card at convai.com/pricing."},"servers":[{"url":"/api/v1"}],"paths":{"/estimate":{"get":{"summary":"Estimate credits per interaction (query parameters)","description":"Same semantics as POST /estimate; selections and assumptions are passed as query parameters. Responses are cacheable.","parameters":[{"name":"llm","in":"query","schema":{"type":"string","enum":["gpt_realtime_1_5","gemini_2_5_flash_live","gpt_realtime_mini","deepseek_v4_flash","glm_5_2","grok_4_3","grok_4_20","qwen3_6_35b_a3b","qwen3_6_27b","gpt_5_6_luna","gpt_5_6_terra","gpt_5_6_sol","claude_haiku_4_5","claude_4_5_sonnet","gpt_4_1","gpt_4_1_mini","gpt_4_1_nano","gpt_4o","gpt_4o_mini","gpt_oss_120b","llama_4_maverick","llama_4_scout","llama3_70b","gemini_2_5_flash","gemini_2_5_flash_lite","gemma_4_31b_fast","gemma_4_26b_a4b_fast","claude_5_sonnet_none","claude_5_sonnet_low","claude_5_sonnet_medium","claude_5_sonnet_high","gpt_5_1_none","gpt_5_1_low","gpt_5_1_medium","gpt_5_1_high","gemini_3_1_flash_lite_minimal","gemini_3_1_flash_lite_low","gemini_3_1_flash_lite_medium","gemini_3_1_flash_lite_high","gemini_3_5_flash_minimal","gemini_3_5_flash_low","gemini_3_5_flash_medium","gemini_3_5_flash_high","gemini_3_5_flash_lite_minimal","gemini_3_5_flash_lite_low","gemini_3_5_flash_lite_medium","gemini_3_5_flash_lite_high","gemini_3_6_flash_minimal","gemini_3_6_flash_low","gemini_3_6_flash_medium","gemini_3_6_flash_high","gemini_3_7_flash_low","gemini_3_7_flash_medium","gemini_3_7_flash_high","gpt_5_4","gpt_5_4_mini","gpt_5_4_nano","byo_openai_compatible_endpoint"]}},{"name":"memory","in":"query","schema":{"type":"boolean"}},{"name":"knowledge","in":"query","schema":{"type":"boolean"}},{"name":"stt","in":"query","schema":{"type":"string","enum":["included_in_realtime","stt_v2_chirp_real_time","nova_3_streaming","no_stt_input","soniox_stt_streaming"]}},{"name":"tts","in":"query","schema":{"type":"string","enum":["included_in_realtime","convai_tts_managed","convai_cloned_voice","cloud_tts_standard","cloud_tts_wavenet","cloud_tts_neural2","cloud_tts_chirp_3_hd","cloud_tts_studio","azure_neural_prebuilt","azure_neural_hd","azure_custom_professional","tts_1","tts_1_hd","gpt_4o_mini_tts","sonic_3","eleven_multilingual_v2","eleven_v3","eleven_flash_v2_5","eleven_turbo_v2_5","external_tts_via_api_key","no_tts"]}},{"name":"animation","in":"query","schema":{"type":"string","enum":["no_animation","convai_neurosync"]}},{"name":"inputTokens","in":"query","schema":{"type":"number","minimum":0}},{"name":"outputChars","in":"query","schema":{"type":"number","minimum":0}},{"name":"sttSeconds","in":"query","schema":{"type":"number","minimum":0}},{"name":"ttsSeconds","in":"query","schema":{"type":"number","minimum":0}}],"responses":{"200":{"description":"Credit estimate","content":{"application/json":{"schema":{"type":"object","properties":{"api_version":{"type":"string"},"rate_card":{"type":"object","properties":{"version":{"type":"number"},"effective_date":{"type":"string"}}},"selections":{"type":"object","description":"Character configuration. Every field is optional; defaults are the calculator's defaults.","properties":{"llm":{"type":"string","enum":["gpt_realtime_1_5","gemini_2_5_flash_live","gpt_realtime_mini","deepseek_v4_flash","glm_5_2","grok_4_3","grok_4_20","qwen3_6_35b_a3b","qwen3_6_27b","gpt_5_6_luna","gpt_5_6_terra","gpt_5_6_sol","claude_haiku_4_5","claude_4_5_sonnet","gpt_4_1","gpt_4_1_mini","gpt_4_1_nano","gpt_4o","gpt_4o_mini","gpt_oss_120b","llama_4_maverick","llama_4_scout","llama3_70b","gemini_2_5_flash","gemini_2_5_flash_lite","gemma_4_31b_fast","gemma_4_26b_a4b_fast","claude_5_sonnet_none","claude_5_sonnet_low","claude_5_sonnet_medium","claude_5_sonnet_high","gpt_5_1_none","gpt_5_1_low","gpt_5_1_medium","gpt_5_1_high","gemini_3_1_flash_lite_minimal","gemini_3_1_flash_lite_low","gemini_3_1_flash_lite_medium","gemini_3_1_flash_lite_high","gemini_3_5_flash_minimal","gemini_3_5_flash_low","gemini_3_5_flash_medium","gemini_3_5_flash_high","gemini_3_5_flash_lite_minimal","gemini_3_5_flash_lite_low","gemini_3_5_flash_lite_medium","gemini_3_5_flash_lite_high","gemini_3_6_flash_minimal","gemini_3_6_flash_low","gemini_3_6_flash_medium","gemini_3_6_flash_high","gemini_3_7_flash_low","gemini_3_7_flash_medium","gemini_3_7_flash_high","gpt_5_4","gpt_5_4_mini","gpt_5_4_nano","byo_openai_compatible_endpoint"],"description":"AI model"},"memory":{"type":"boolean","description":"Long-term memory (flat 1-credit charge when true)"},"knowledge":{"type":"boolean","description":"Knowledge bank (flat 1-credit charge when true)"},"stt":{"type":"string","enum":["included_in_realtime","stt_v2_chirp_real_time","nova_3_streaming","no_stt_input","soniox_stt_streaming"],"description":"Voice input (speech-to-text) option"},"tts":{"type":"string","enum":["included_in_realtime","convai_tts_managed","convai_cloned_voice","cloud_tts_standard","cloud_tts_wavenet","cloud_tts_neural2","cloud_tts_chirp_3_hd","cloud_tts_studio","azure_neural_prebuilt","azure_neural_hd","azure_custom_professional","tts_1","tts_1_hd","gpt_4o_mini_tts","sonic_3","eleven_multilingual_v2","eleven_v3","eleven_flash_v2_5","eleven_turbo_v2_5","external_tts_via_api_key","no_tts"],"description":"Voice output (text-to-speech) option"},"animation":{"type":"string","enum":["no_animation","convai_neurosync"],"description":"Character animation option"}}},"assumptions":{"type":"object","description":"Per-interaction quantities. Every field is optional; defaults are the calculator's base values.","properties":{"inputTokens":{"type":"number","minimum":0,"description":"Prompt/context tokens per interaction (default 4000)"},"outputChars":{"type":"number","minimum":0,"description":"Response characters per interaction (default 150; 4 chars = 1 token)"},"sttSeconds":{"type":"number","minimum":0,"description":"Seconds of user speech per interaction (default 8)"},"ttsSeconds":{"type":"number","minimum":0,"description":"Seconds of spoken response per interaction (default 10; also drives animation)"}}},"totals":{"type":"object","properties":{"credits":{"type":"number"}}},"lines":{"type":"array","description":"Per-component credit breakdown. Realtime (Live) models bill speech I/O as the model's audio tokens on the Voice Input/Output lines and have no separate text-response charge.","items":{"type":"object","properties":{"key":{"type":"string","enum":["ai_response","prompt","memory","knowledge","voice_input","voice_output","animation","platform"]},"label":{"type":"string"},"credits":{"type":"number"},"detail":{"type":"string"},"latency_ms":{"oneOf":[{"type":"number"},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}},{"type":"null"}]}}}},"latency_ms":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid option or quantity; the message lists valid values","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}},"post":{"summary":"Estimate credits per interaction (JSON body)","requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"selections":{"type":"object","description":"Character configuration. Every field is optional; defaults are the calculator's defaults.","properties":{"llm":{"type":"string","enum":["gpt_realtime_1_5","gemini_2_5_flash_live","gpt_realtime_mini","deepseek_v4_flash","glm_5_2","grok_4_3","grok_4_20","qwen3_6_35b_a3b","qwen3_6_27b","gpt_5_6_luna","gpt_5_6_terra","gpt_5_6_sol","claude_haiku_4_5","claude_4_5_sonnet","gpt_4_1","gpt_4_1_mini","gpt_4_1_nano","gpt_4o","gpt_4o_mini","gpt_oss_120b","llama_4_maverick","llama_4_scout","llama3_70b","gemini_2_5_flash","gemini_2_5_flash_lite","gemma_4_31b_fast","gemma_4_26b_a4b_fast","claude_5_sonnet_none","claude_5_sonnet_low","claude_5_sonnet_medium","claude_5_sonnet_high","gpt_5_1_none","gpt_5_1_low","gpt_5_1_medium","gpt_5_1_high","gemini_3_1_flash_lite_minimal","gemini_3_1_flash_lite_low","gemini_3_1_flash_lite_medium","gemini_3_1_flash_lite_high","gemini_3_5_flash_minimal","gemini_3_5_flash_low","gemini_3_5_flash_medium","gemini_3_5_flash_high","gemini_3_5_flash_lite_minimal","gemini_3_5_flash_lite_low","gemini_3_5_flash_lite_medium","gemini_3_5_flash_lite_high","gemini_3_6_flash_minimal","gemini_3_6_flash_low","gemini_3_6_flash_medium","gemini_3_6_flash_high","gemini_3_7_flash_low","gemini_3_7_flash_medium","gemini_3_7_flash_high","gpt_5_4","gpt_5_4_mini","gpt_5_4_nano","byo_openai_compatible_endpoint"],"description":"AI model"},"memory":{"type":"boolean","description":"Long-term memory (flat 1-credit charge when true)"},"knowledge":{"type":"boolean","description":"Knowledge bank (flat 1-credit charge when true)"},"stt":{"type":"string","enum":["included_in_realtime","stt_v2_chirp_real_time","nova_3_streaming","no_stt_input","soniox_stt_streaming"],"description":"Voice input (speech-to-text) option"},"tts":{"type":"string","enum":["included_in_realtime","convai_tts_managed","convai_cloned_voice","cloud_tts_standard","cloud_tts_wavenet","cloud_tts_neural2","cloud_tts_chirp_3_hd","cloud_tts_studio","azure_neural_prebuilt","azure_neural_hd","azure_custom_professional","tts_1","tts_1_hd","gpt_4o_mini_tts","sonic_3","eleven_multilingual_v2","eleven_v3","eleven_flash_v2_5","eleven_turbo_v2_5","external_tts_via_api_key","no_tts"],"description":"Voice output (text-to-speech) option"},"animation":{"type":"string","enum":["no_animation","convai_neurosync"],"description":"Character animation option"}}},"assumptions":{"type":"object","description":"Per-interaction quantities. Every field is optional; defaults are the calculator's base values.","properties":{"inputTokens":{"type":"number","minimum":0,"description":"Prompt/context tokens per interaction (default 4000)"},"outputChars":{"type":"number","minimum":0,"description":"Response characters per interaction (default 150; 4 chars = 1 token)"},"sttSeconds":{"type":"number","minimum":0,"description":"Seconds of user speech per interaction (default 8)"},"ttsSeconds":{"type":"number","minimum":0,"description":"Seconds of spoken response per interaction (default 10; also drives animation)"}}}}},"example":{"selections":{"llm":"claude_sonnet_5","memory":true,"animation":"convai_neurosync"},"assumptions":{"inputTokens":6000}}}}},"responses":{"200":{"description":"Credit estimate","content":{"application/json":{"schema":{"type":"object","properties":{"api_version":{"type":"string"},"rate_card":{"type":"object","properties":{"version":{"type":"number"},"effective_date":{"type":"string"}}},"selections":{"type":"object","description":"Character configuration. Every field is optional; defaults are the calculator's defaults.","properties":{"llm":{"type":"string","enum":["gpt_realtime_1_5","gemini_2_5_flash_live","gpt_realtime_mini","deepseek_v4_flash","glm_5_2","grok_4_3","grok_4_20","qwen3_6_35b_a3b","qwen3_6_27b","gpt_5_6_luna","gpt_5_6_terra","gpt_5_6_sol","claude_haiku_4_5","claude_4_5_sonnet","gpt_4_1","gpt_4_1_mini","gpt_4_1_nano","gpt_4o","gpt_4o_mini","gpt_oss_120b","llama_4_maverick","llama_4_scout","llama3_70b","gemini_2_5_flash","gemini_2_5_flash_lite","gemma_4_31b_fast","gemma_4_26b_a4b_fast","claude_5_sonnet_none","claude_5_sonnet_low","claude_5_sonnet_medium","claude_5_sonnet_high","gpt_5_1_none","gpt_5_1_low","gpt_5_1_medium","gpt_5_1_high","gemini_3_1_flash_lite_minimal","gemini_3_1_flash_lite_low","gemini_3_1_flash_lite_medium","gemini_3_1_flash_lite_high","gemini_3_5_flash_minimal","gemini_3_5_flash_low","gemini_3_5_flash_medium","gemini_3_5_flash_high","gemini_3_5_flash_lite_minimal","gemini_3_5_flash_lite_low","gemini_3_5_flash_lite_medium","gemini_3_5_flash_lite_high","gemini_3_6_flash_minimal","gemini_3_6_flash_low","gemini_3_6_flash_medium","gemini_3_6_flash_high","gemini_3_7_flash_low","gemini_3_7_flash_medium","gemini_3_7_flash_high","gpt_5_4","gpt_5_4_mini","gpt_5_4_nano","byo_openai_compatible_endpoint"],"description":"AI model"},"memory":{"type":"boolean","description":"Long-term memory (flat 1-credit charge when true)"},"knowledge":{"type":"boolean","description":"Knowledge bank (flat 1-credit charge when true)"},"stt":{"type":"string","enum":["included_in_realtime","stt_v2_chirp_real_time","nova_3_streaming","no_stt_input","soniox_stt_streaming"],"description":"Voice input (speech-to-text) option"},"tts":{"type":"string","enum":["included_in_realtime","convai_tts_managed","convai_cloned_voice","cloud_tts_standard","cloud_tts_wavenet","cloud_tts_neural2","cloud_tts_chirp_3_hd","cloud_tts_studio","azure_neural_prebuilt","azure_neural_hd","azure_custom_professional","tts_1","tts_1_hd","gpt_4o_mini_tts","sonic_3","eleven_multilingual_v2","eleven_v3","eleven_flash_v2_5","eleven_turbo_v2_5","external_tts_via_api_key","no_tts"],"description":"Voice output (text-to-speech) option"},"animation":{"type":"string","enum":["no_animation","convai_neurosync"],"description":"Character animation option"}}},"assumptions":{"type":"object","description":"Per-interaction quantities. Every field is optional; defaults are the calculator's base values.","properties":{"inputTokens":{"type":"number","minimum":0,"description":"Prompt/context tokens per interaction (default 4000)"},"outputChars":{"type":"number","minimum":0,"description":"Response characters per interaction (default 150; 4 chars = 1 token)"},"sttSeconds":{"type":"number","minimum":0,"description":"Seconds of user speech per interaction (default 8)"},"ttsSeconds":{"type":"number","minimum":0,"description":"Seconds of spoken response per interaction (default 10; also drives animation)"}}},"totals":{"type":"object","properties":{"credits":{"type":"number"}}},"lines":{"type":"array","description":"Per-component credit breakdown. Realtime (Live) models bill speech I/O as the model's audio tokens on the Voice Input/Output lines and have no separate text-response charge.","items":{"type":"object","properties":{"key":{"type":"string","enum":["ai_response","prompt","memory","knowledge","voice_input","voice_output","animation","platform"]},"label":{"type":"string"},"credits":{"type":"number"},"detail":{"type":"string"},"latency_ms":{"oneOf":[{"type":"number"},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}},{"type":"null"}]}}}},"latency_ms":{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}}},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid option or quantity","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/options":{"get":{"summary":"List every valid option with its credit rate","description":"Discovery endpoint: all model/option keys with labels and credit rates, the defaults applied when an estimate field is omitted, and the subscription plans.","responses":{"200":{"description":"Options catalog","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}