{"openapi":"3.1.0","info":{"title":"NeuroDynamic catalogue narration","version":"1.0"},"paths":{"/v1/audio/voices":{"get":{"summary":"Free measured voice catalogue","operationId":"voices_v1_audio_voices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/audio/voices/{voice_id}/sample":{"get":{"summary":"Free synthetic voice sample","operationId":"sample_v1_audio_voices__voice_id__sample_get","parameters":[{"name":"voice_id","in":"path","required":true,"schema":{"type":"string","title":"Voice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}},"audio/mpeg":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audio/narration/client.py":{"get":{"summary":"Client","operationId":"client_v1_audio_narration_client_py_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/v1/audio/narration/capabilities":{"get":{"summary":"Capabilities","operationId":"capabilities_v1_audio_narration_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/audio/narration/openapi.json":{"get":{"summary":"Schema","operationId":"schema_v1_audio_narration_openapi_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/audio/speech":{"post":{"summary":"Create narration with a catalogue voice; no account required","operationId":"transcribe_v1_audio_speech_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"input":{"type":"string","maxLength":1000,"minLength":1},"voice":{"type":"string","enum":["af_heart","af_bella","bf_emma","bf_alice","bm_george","am_michael","am_fenrir"]},"model":{"enum":["kokoro"]},"response_format":{"enum":["mp3"]},"speed":{"enum":[1]},"stream":{"enum":[false]}},"additionalProperties":false,"type":"object","required":["input"]}}},"required":true},"responses":{"200":{"description":"MP3 and PAYMENT-RESPONSE receipt","content":{"application/json":{"schema":{}},"audio/mpeg":{"schema":{"type":"string","format":"binary"}}}},"402":{"description":"Free x402 quote"},"409":{"description":"Payment conflict or uncertainty: do not pay again"},"503":{"description":"Busy: retry same proof"}}}}},"components":{"schemas":{"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"}}},"servers":[{"url":"https://api.neurodynamic.tech"}]}