{"openapi":"3.1.0","info":{"title":"Cesium2 API","description":"MORPH-AI v7 (Cesium2) text + vision inference API backed by Ollama.","version":"7.0.0"},"paths":{"/auth/google/start":{"get":{"summary":"Auth Start","operationId":"auth_start_auth_google_start_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/google/callback":{"get":{"summary":"Auth Callback","operationId":"auth_callback_auth_google_callback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/logout":{"post":{"summary":"Logout","operationId":"logout_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/mint-key":{"post":{"summary":"Mint Key","operationId":"mint_key_admin_mint_key_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/usage":{"get":{"summary":"V1 Usage","operationId":"v1_usage_v1_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/usage-browser":{"get":{"summary":"Usage Browser","operationId":"usage_browser_v1_usage_browser_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/dashboard":{"get":{"summary":"Dashboard","operationId":"dashboard_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/messages":{"get":{"summary":"Endpoint Info","operationId":"endpoint_info_v1_messages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Anthropic Messages","operationId":"anthropic_messages_v1_messages_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_AnthropicReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/messages/count_tokens":{"post":{"summary":"Anthropic Count Tokens","operationId":"anthropic_count_tokens_v1_messages_count_tokens_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_AnthropicReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/models":{"get":{"summary":"Models","operationId":"models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/chat/completions":{"get":{"summary":"Endpoint Info","operationId":"endpoint_info_v1_chat_completions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Oai Chat","operationId":"oai_chat_v1_chat_completions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_OAIReq"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat":{"post":{"summary":"Chat","operationId":"chat_v1_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/vision":{"post":{"summary":"Vision","operationId":"vision_v1_vision_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ChatRequest":{"properties":{"message":{"type":"string","minLength":1,"title":"Message"},"system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System"},"temperature":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Temperature","default":0.7},"max_tokens":{"type":"integer","maximum":8192.0,"minimum":1.0,"title":"Max Tokens","default":1024},"stream":{"type":"boolean","title":"Stream","default":false}},"type":"object","required":["message"],"title":"ChatRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VisionRequest":{"properties":{"question":{"type":"string","minLength":1,"title":"Question"},"image_b64":{"type":"string","minLength":32,"title":"Image B64","description":"Base64-encoded image (jpeg/png/webp)"},"system":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System"},"temperature":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Temperature","default":0.7},"max_tokens":{"type":"integer","maximum":4096.0,"minimum":1.0,"title":"Max Tokens","default":512}},"type":"object","required":["question","image_b64"],"title":"VisionRequest"},"_AnthropicReq":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"messages":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Messages"},"system":{"anyOf":[{},{"type":"null"}],"title":"System"},"max_tokens":{"type":"integer","maximum":8192.0,"minimum":1.0,"title":"Max Tokens","default":1024},"stream":{"type":"boolean","title":"Stream","default":false},"temperature":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Temperature","default":0.7}},"type":"object","required":["messages"],"title":"_AnthropicReq"},"_OAIReq":{"properties":{"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"messages":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Messages"},"stream":{"type":"boolean","title":"Stream","default":false},"temperature":{"type":"number","maximum":2.0,"minimum":0.0,"title":"Temperature","default":0.7},"max_tokens":{"type":"integer","maximum":8192.0,"minimum":1.0,"title":"Max Tokens","default":1024}},"type":"object","required":["messages"],"title":"_OAIReq"}}}}