{"openapi":"3.0.0","info":{"description":"Text-to-speech platform API — generate speech with 1000+ AI voices and VoxFX effects, clone voices from audio samples, convert speech to speech (voice changer), and transcribe audio to text (Voicemaker)"},"servers":[{"description":"Text-to-speech platform API — generate speech with 1000+ AI voices and VoxFX effects, clone voices from audio samples, convert speech to speech (voice changer), and transcribe audio to text (Voicemaker)","url":"https://api.apirails.com/voicemaker"}],"paths":{"/api/v1/voice/convert":{"post":{"tags":["Text To Speech"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/generate-tts","api_endpoint":"https://developer.voicemaker.in/api/v1/voice/convert"},"summary":"Generate text to speech audio","description":"Generate ultra-realistic text to speech with customizable voice settings, effects, and audio parameters; optionally apply a VoxFx preset (VoxFX variant uses the same endpoint).","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"AccentCode":{"type":"string","description":"Optional accent code. Compatible with AI1, Pro1 (Multilingual), Pro2 (Multilingual), ProPlus, and FlashX voices. For Pro1 voices, accent codes can make the voice speak in specific languages and accents. For ProPlus and FlashX, pass a BCP-47 language code (e.g. en-US, hi-IN, es-ES) or auto for auto-detect."},"CustomFileName":{"type":"string","description":"Custom name for the output audio file. Not supported when using 'stream' response type."},"Effect":{"type":"string","description":"Optional speaking style or effect. Supported effects vary by voice and engine; retrieve the supported effects for any voice via the List Voices API. default, breathing, soft, whispered, conversational, news, customersupport, assistant, happy, empathic, clam, sad, angry, excited, friendly, hopeful, shouting, terrified, unfriendly and more."},"FileStore":{"type":"number","description":"Duration in hours to retain the output file on the server (max 240 hours). Not supported when using 'stream' response type."},"LanguageCode":{"type":"string","description":"Language code for the voice. Use 'multi-lang' for Pro Voices (proplus, prov1, pro2). Examples: en-US, en-GB, en-AU, es-ES, fr-FR, de-DE, ja-JP, zh-CN, multi-lang","required":true},"MasterPitch":{"type":"string","description":"Pitch adjustment (-100 to 100). Not supported for neural Engine AI1 voices when using MasterSettings as advanced_v1."},"MasterSpeed":{"type":"string","description":"Speed adjustment (-100 to 100)"},"MasterVolume":{"type":"string","description":"Volume adjustment (-20 to 20)"},"OutputFormat":{"type":"string","description":"Output audio format. mp3 is recommended for real-time applications, as WAV files may take longer to convert.","enum":["mp3","wav","ogg","opus","aac","ulaw","alaw"]},"ProEngine":{"type":"string","description":"ProEngine type (ProPlus and Custom Pro voices only). turbo: 2x character charge, real-time applications; highres: 4x character charge, high-quality accurate outputs; expressive: 4x character charge, state-of-the-art prompt-driven model with 70+ languages.","enum":["turbo","highres","expressive"]},"ResponseType":{"type":"string","description":"Response type. 'file' provides a downloadable URL (default). 'stream' returns audio in AudioBuffer format.","enum":["file","stream"]},"SampleRate":{"type":"string","description":"Sample rate for output audio. 48000 is recommended for best quality.","enum":["48000","44100","24000","22050","16000","8000"]},"Similarity":{"type":"number","description":"Similarity setting (ProPlus and Custom Pro voices only). 0 = slightly robotic; 100 = closely matches original voice talent."},"Stability":{"type":"number","description":"Stability setting (ProPlus and Custom Pro voices only). 0 = more expressive with varying output; 100 = more stable and consistent (recommended for longer text)."},"Text":{"type":"string","description":"The text to convert to speech. Supports up to 10,000 characters per request (requests over 3,000 characters may take longer). Supports inline SSML tags for AI1, AI2, AI3 and AI4 voices only. VoxFX requests support up to 3,000 characters.","required":true},"VoiceId":{"type":"string","description":"Voice ID to use for generation. See the full list of available voices in documentation or by calling the List Voices API. Examples: ai3-Jony, ai2-Katie, ai1-Joanna, pro1-Catherine, proplus-Richard","required":true},"VoxFx":{"type":"object","description":"Optional VoxFX effect settings. Apply a VoxFx preset (see List VoxFX Effects API) with a dryWet intensity and optional per-effect controls. VoxFX is unlimited free as long as you do not change the VoiceId or Text.","properties":{"dryWet":{"type":"number","description":"dryWet adjustment (0 to 100) that controls the intensity of the applied effects.","required":true},"effects":{"type":"array","description":"An array of effect objects containing key-value pairs for individual effect settings."},"presetId":{"type":"string","description":"VoxFx preset ID. Retrieve the full list of preset IDs by calling the List VoxFX Effects API.","required":true}}}}},"example":{"AccentCode":"en-US","CustomFileName":"my-audio-file","Effect":"conversational","FileStore":24,"LanguageCode":"en-US","MasterPitch":"0","MasterSpeed":"0","MasterVolume":"0","OutputFormat":"mp3","ProEngine":"highres","ResponseType":"file","SampleRate":"48000","Similarity":80,"Stability":50,"Text":"Welcome to the Air, The Future is Here.","VoiceId":"ai3-Jony","VoxFx":{"dryWet":100,"effects":[{"key":"low_pitch","value":2}],"presetId":"67841788096cecfe8b18b2d1"}}}}}}},"/api/v1/voice/list":{"post":{"tags":["Text To Speech"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/list-of-all-voices","api_endpoint":"https://developer.voicemaker.in/api/v1/voice/list"},"summary":"List all available voices","description":"Retrieve a list of all available voices (excluding voice clones). List requests are not counted or charged.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"language":{"type":"string","description":"Language code to filter voices. If no language code is specified, all voices will be shown. Use 'multi-lang' to access Pro Voice category voices."}}},"example":{"language":"en-US"}}}}}},"/effects/voxfx":{"get":{"tags":["VoxFX Effects"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/list-of-all-voxfx","api_endpoint":"https://developer.voicemaker.in/effects/voxfx"},"summary":"List VoxFX effects","description":"Retrieve a categorized list of all VoxFx presets and their available effect controls. Each preset lists the effects that can be applied and their ranges/defaults.","security":[{"bearerAuth":[]}]}},"/api/v1/voice-clones/add":{"post":{"tags":["Voice Cloning"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/create-voice-clone","api_endpoint":"https://developer.voicemaker.in/api/v1/voice-clones/add"},"summary":"Create voice clone","description":"Create a new voice clone by uploading audio samples and providing metadata. Requires an active paid subscription with available voice clone slots; processing is asynchronous and may take several minutes.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"Description of the voice clone (2-500 characters).","required":true},"files":{"type":"string","format":"binary","description":"Audio files for voice cloning (mp3, wav, mp4). Requirements: minimum 60 seconds total duration, maximum 1 hour total duration, up to 20 files allowed, maximum 100MB total size.","required":true},"labels":{"type":"string","description":"Stringified JSON object with voice attributes. Each value must be 2-50 characters. Example attributes: category, accent, gender, age.","required":true},"name":{"type":"string","description":"Name of the voice clone (2-50 characters).","required":true},"removeBackground":{"type":"boolean","description":"Boolean flag to remove background noise from audio files.","required":true,"enum":[true,false]}}},"example":{"description":"A professional voice for business presentations","files":"(binary)","labels":"{\"category\":\"Professional\",\"accent\":\"American\",\"gender\":\"Female\",\"age\":\"Adult\"}","name":"My Custom Voice","removeBackground":""}}}}}},"/api/v1/voice-clones":{"get":{"tags":["Voice Cloning"],"parameters":[{"name":"limit","in":"query","description":"Number of results per page. Default is 5.","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"Page number for pagination. Default is 1.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/list-of-all-voice-clones","api_endpoint":"https://developer.voicemaker.in/api/v1/voice-clones"},"summary":"List voice clones","description":"Retrieve a paginated list of all voice clones created in your account.","security":[{"bearerAuth":[]}]}},"/api/v1/voice-clones/{VoiceId}":{"get":{"tags":["Voice Cloning"],"parameters":[{"name":"VoiceId","in":"path","description":"Voice clone ID returned in the response of Create Voice Clone.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/get-single-voice","api_endpoint":"https://developer.voicemaker.in/api/v1/voice-clones/{VoiceId}"},"summary":"Get single voice clone","description":"Retrieve metadata for a single voice clone by id.","security":[{"bearerAuth":[]}]},"put":{"tags":["Voice Cloning"],"parameters":[{"name":"VoiceId","in":"path","description":"Voice clone ID returned in the response of Create Voice Clone.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/edit-voice-clone","api_endpoint":"https://developer.voicemaker.in/api/v1/voice-clones/{VoiceId}"},"summary":"Edit voice clone","description":"Edit metadata of an existing voice clone in your account. Does not support modifying or re-cloning the actual voice; to change the voice itself, delete the clone and create a new one.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"description":{"type":"string","description":"Updated description of voice clone."},"labels":{"type":"string","description":"JSON-formatted labels (e.g. {\"category\":\"Updated Category\",\"accent\":\"Updated Accent\"})."},"name":{"type":"string","description":"Updated display name of voice clone."}}},"example":{"description":"Updated voice description","labels":"{\"category\":\"Updated Category\",\"accent\":\"Updated Accent\"}","name":"Updated voice name"}}}}},"delete":{"tags":["Voice Cloning"],"parameters":[{"name":"VoiceId","in":"path","description":"Voice clone ID returned in the response of Create Voice Clone.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/delete-voice-clone","api_endpoint":"https://developer.voicemaker.in/api/v1/voice-clones/{VoiceId}"},"summary":"Delete voice clone","description":"Permanently delete a clone and its stored samples. This is irreversible.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/api/v1/speech-to-speech":{"post":{"tags":["Speech To Speech"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/speech-to-speech-api","api_endpoint":"https://developer.voicemaker.in/api/v1/speech-to-speech"},"summary":"Convert speech to speech","description":"Convert an existing audio file into a different voice (voice changer API), re-voicing audio while preserving the original timing, pacing, and structure. Supported voices: ProPlus and Cloned voice IDs only. Pricing: 100 credits per second of audio.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"MasterPitch":{"type":"number","description":"Pitch adjustment (-100 to 100)."},"MasterSpeed":{"type":"number","description":"Speed adjustment (-100 to 100)."},"MasterVolume":{"type":"number","description":"Volume adjustment (-20 to 20)."},"OutputFormat":{"type":"string","description":"Output audio format. mp3 is recommended for real-time applications.","enum":["mp3","wav"]},"ResponseType":{"type":"string","description":"Response type. 'file' provides a downloadable URL (default). 'stream' returns audio in AudioBuffer format.","enum":["file","stream"]},"SampleRate":{"type":"string","description":"Sample rate for output audio. 48000 is recommended for best quality.","enum":["48000","44100","24000","22050","16000","8000"]},"VoiceId":{"type":"string","description":"Voice ID to use for conversion. Must be a ProPlus or Cloned voice.","required":true},"file":{"type":"string","format":"binary","description":"Audio file to convert. Supported formats: mp3, wav, mp4.","required":true}}},"example":{"MasterPitch":"","MasterSpeed":"","MasterVolume":"","OutputFormat":"mp3","ResponseType":"file","SampleRate":"48000","VoiceId":"proplus-W3RIL0QGGn","file":"(binary)"}}}}}},"/api/v1/speech-to-text":{"post":{"tags":["Speech To Text"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/speech-to-text-api","api_endpoint":"https://developer.voicemaker.in/api/v1/speech-to-text"},"summary":"Transcribe audio to text","description":"Convert speech to text by uploading an audio file to the transcription API. Flagship V1 supports 90+ languages, SRT subtitle generation, and high accuracy on long, complex recordings. Files 3 minutes or shorter are processed synchronously; longer files asynchronously. Pricing: 5 credits per second of audio.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"detectSpeakers":{"type":"boolean","description":"Boolean flag to detect and label multiple speakers in the audio (speaker diarization). When enabled, transcribed text and SRT cues are prefixed with speaker labels (e.g. [speaker_1]:) and each word includes a speakerId. Available with the flagship model.","enum":[true,false]},"file":{"type":"string","format":"binary","description":"The audio file to transcribe. Supported formats include MP3, WAV.","required":true},"includeSubtitle":{"type":"boolean","description":"Whether to generate a subtitle file (SRT) along with the transcription result.","enum":[true,false]},"language":{"type":"string","description":"The language code of the spoken audio in ISO 639-3 (for example: en-US, es-ES, fr-FR, hi-IN, mr-IN). Set to auto to automatically detect the spoken language. Flagship V1 supports 90+ languages."},"model":{"type":"string","description":"Transcription model to use.","required":true,"enum":["stt-flagship-v1"]},"responseFormat":{"type":"string","description":"The format of the transcription output. text returns the transcription as plain text only; json returns a structured transcription with metadata, timestamps, and additional details.","enum":["text","json"]},"tagAudioEvents":{"type":"boolean","description":"Whether to detect and tag non-speech audio events (such as silence, music, or background noise) in the transcription output.","enum":[true,false]}}},"example":{"detectSpeakers":"","file":"(binary)","includeSubtitle":"","language":"auto","model":"stt-flagship-v1","responseFormat":"text","tagAudioEvents":""}}}}},"get":{"tags":["Speech To Text"],"parameters":[{"name":"limit","in":"query","description":"Number of transcriptions per page.","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"Page number for pagination.","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/list-transcription-files-api","api_endpoint":"https://developer.voicemaker.in/api/v1/speech-to-text"},"summary":"List transcription files","description":"Retrieve a paginated list of all transcription jobs created within the last 1 hour. Pending jobs older than 15 minutes are automatically marked as failed.","security":[{"bearerAuth":[]}]}},"/api/v1/speech-to-text/{taskId}":{"get":{"tags":["Speech To Text"],"parameters":[{"name":"taskId","in":"path","description":"Task ID of the transcription job (created within the last 1 hour).","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://developer.voicemaker.in/apidocs/get-single-transcription-api","api_endpoint":"https://developer.voicemaker.in/api/v1/speech-to-text/{taskId}"},"summary":"Get single transcription","description":"Retrieve a single transcription job using its task ID created within the last 1 hour. Track job status (completed, pending, failed).","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}