{"openapi":"3.1.0","info":{"title":"Speech","version":"0.1.0"},"paths":{"/speech/synthesize":{"post":{"summary":"Synthesize","description":"Synthesize speech from text. x402 paywalled (exclusive tier).\n\n1. Validate voice/format/ranges against the live-verified catalog.\n2. Register the job as ``synthesizing`` (paid caller can always see state).\n3. Launch a background task: DashScope synthesize → download bytes → save.\n4. Return the audio_id; poll GET /speech/status/{id}, then GET\n   /speech/audio/{id}.","operationId":"synthesize_speech_synthesize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_synthesize_speech_synthesize_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/speech/status/{audio_id}":{"get":{"summary":"Status","description":"Check the status of a synthesis (free).","operationId":"status_speech_status__audio_id__get","parameters":[{"name":"audio_id","in":"path","required":true,"schema":{"type":"string","title":"Audio Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/speech/audio/{audio_id}":{"get":{"summary":"Audio","description":"Download a completed clip (free).","operationId":"audio_speech_audio__audio_id__get","parameters":[{"name":"audio_id","in":"path","required":true,"schema":{"type":"string","title":"Audio Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/seo.json":{"get":{"summary":"Seo Json","operationId":"seo_json_seo_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/about":{"get":{"summary":"About","operationId":"about_about_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response About About Get"}}}}}}},"/tools":{"get":{"summary":"Tools","operationId":"tools_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Tools Tools Get"}}}}}}},"/.well-known/x402.json":{"get":{"summary":"X402 Manifest","operationId":"x402_manifest__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response X402 Manifest  Well Known X402 Json Get"}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/robots.txt":{"get":{"summary":"Robots Txt","operationId":"robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/speech/voices":{"get":{"summary":"List Voices","description":"Advertised voices and accepted parameter ranges (free).","operationId":"list_voices_speech_voices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response List Voices Speech Voices Get"}}}}}}},"/speech/feedback":{"get":{"summary":"Get Feedback","operationId":"get_feedback_speech_feedback_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Feedback Speech Feedback Get"}}}}}},"post":{"summary":"Submit Feedback","operationId":"submit_feedback_speech_feedback_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Submit Feedback Speech Feedback Post"}}}}}}},"/stats":{"get":{"summary":"Stats","operationId":"stats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stats Stats Get"}}}}}}}},"components":{"schemas":{"Body_synthesize_speech_synthesize_post":{"properties":{"text":{"type":"string","title":"Text","default":""},"voice":{"type":"string","title":"Voice","default":"longanlufeng"},"format":{"type":"string","title":"Format","default":"mp3"},"sample_rate":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sample Rate"},"volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Volume"},"rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate"},"pitch":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Pitch"}},"type":"object","title":"Body_synthesize_speech_synthesize_post"},"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"}}}}