Skip to main content
Glama
604,399 tools. Updated 2026-09-23 19:38

"A platform providing TTS (Text-to-Speech) capabilities" matching MCP tools:

  • Voice TTS/STT (placeholder) — SUPERSEDED. Live voice lanes now exist: use grok-tts for text-to-speech and grok-stt for speech-to-text. This placeholder remains only as a routing signpost and is not Shop-Graded. (0 MESH/call, a tool · audio)
    ConnectorNo auth
  • Set voiceover text and/or trigger speech generation for any number of clips in a single call. Each entry chooses its own action: - "set_text" — set transcript for a clip (clip_index + text) - "generate_speech" — async TTS for a clip (returns immediately) - "set_and_generate" — set text and kick off TTS in one entry (+ text) Address a clip the same way as everywhere else: `clip_index`. Pass `clip_id` instead if you already have it — it survives clips being inserted or reordered mid-build — but you never need both; whichever you omit is looked up once for the whole call. Entries within one call are applied in order. Returns one result object per input entry. All text-set actions land in ONE save; the TTS for generate/set_and_generate runs async per clip after. IMPORTANT — generating speech RESCALES the whole clip, it does not clamp it: when audio is generated (generate_speech / set_and_generate), the clip's duration is reset to the spoken audio length, and then EVERY element on that clip is retimed proportionally by (new duration ÷ old duration). start_time, end_time and every keyframe timestamp are multiplied by that factor. Nothing is merely truncated — on a 6s clip that becomes 1.02s, an animation you placed at [0, 1.6] ends up at [0, 0.27]. Zoom elements whose window falls under the minimum after scaling are DROPPED entirely. Generation is async, so this lands AFTER this call has already returned success. So: generate speech BEFORE placing time-sensitive elements, or size them against estimate_duration first — then re-read the clip and check what your elements actually became, not just the clip duration. Concurrency: parallel-safe (conflict domain: a clip's voiceover). The server merges each clip's voiceover under a per-guide lock and preserves that clip's elements, so you can fan voiceover work out across subagents by clip — and it's safe to run alongside element edits. Two concurrent edits to the SAME clip's voiceover do not last-write-win — both claim that clip's voiceover path, so the later one is REJECTED and nothing is written; re-read and re-apply. Do NOT run concurrently with whole-clip/whole-project mutations on the same guide (update_clips on that clip, structural clip ops, add_audio, update_project).
    Connector
    Destructive
    No auth
  • RAW text-to-speech from the voice-model catalog: speak a script in a chosen voice and return the served MP3 URL. For a standalone voiceover / narration clip — NOT for adding audio to a video (render_ad and generate_video voice their own spots; change_voice re-voices a finished clip). engine picks the voice model (default 'seed-audio'; also 'eleven-v3', 'minimax-speech', 'kokoro'); voice is a preset name from that engine (see hermoso_capabilities -> voice engines) — a name that engine does not have is REFUSED for free with its real list, and a few engines generate their own voice and take no preset at all (the reply says which voice actually spoke). Paid (a couple of credits by length; ≤900 characters).
    ConnectorNo auth
  • Fetch a single post by id: views, likes, comments, engagement rate, outlier scores for seven time windows, thumbnail and the owning profile. When a transcript or visual analysis already exists it is included at no extra cost. The visual analysis is a structured scene-by-scene breakdown (per-scene timing, on-screen text, visual elements and a recreation note) plus an overall-style summary. Request new enrichment via request_transcript (speech / on-screen text) or request_visual_analysis (scene breakdown). Use after search_outliers to deep-dive a result. Cost: 1 credit per call.
    ConnectorNo auth
  • Design a new voice from a character description (such as "deep-voiced warrior" or "cheerful young girl") and have it speak a short line of text, returning a sample of that newly created voice. Both voice_description and text are required, the spoken text is limited to 200 characters or the call returns HTTP 400, and type selects "human" or "non-human" voices. The job result is a single audio result containing a URL. Credits are held when the job is accepted and refunded if it fails or is cancelled. Use this to invent and audition a voice from a description; use createSpeech for text-to-speech that clones a specific voice from an audio sample, and createSpeechPreset for text-to-speech using a named preset voice. Pass an optional request_id to tag the result so you can locate it later via listGenerations (type audio). Async generation job: returns `{id, status}` - poll `getApiJob` (job and credit contract: see the server instructions). Credits: This endpoint consumes 1 credits per call.
    ConnectorNo auth
  • Convert text to speech by cloning the voice from an audio sample you provide (voice-cloning text-to-speech). Both text and sample are required; the text is limited to 1000 characters and the sample is supplied as a URL or base64 audio that must be at most 15MB, with violations returning HTTP 400. The job result is a single audio result containing a URL. Credits are held when the job is accepted and refunded if it fails or is cancelled. Use this when you have a reference voice sample to clone; use createSpeechPreset to speak with a built-in named preset voice instead, and createVoice to design a brand-new voice from a text description rather than cloning one. Pass an optional request_id to tag the result so you can locate it later via listGenerations (type audio). Async generation job: returns `{id, status}` - poll `getApiJob` (job and credit contract: see the server instructions). Credits: This endpoint consumes 1 credits per call.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • Generate highly realistic Text to Speech voiceovers.

  • Hosted pay-per-use TTS: 54 neural voices, 9 languages incl. Brazilian Portuguese. $10 free credits.

  • Transcribe the actual audio of a YouTube, TikTok or Instagram video with Whisper large-v3. Not caption scraping: the audio is downloaded and run through speech recognition, so it works on videos with no subtitles, in any language, and on TikTok and Instagram where no caption track exists at all. Extraction runs from a real residential IP, reaching sources that refuse datacenter ranges. Returns full text plus sentence-level timestamps. — $0.020006/call, paid per request via x402 (USDC). Use when asked: "transcribe this youtube video", "get the transcript of this tiktok", "speech to text from a video URL".
    ConnectorNo auth
  • Generate natural speech audio from English text. Produces high-quality speech with 12 English voices. Returns base64-encoded WAV audio (16-bit PCM, 24kHz mono) along with metadata. Available voices: - af_heart (default), af_bella, af_nicole, af_sarah, af_sky (American female) - am_adam, am_michael (American male) - bf_emma, bf_isabella (British female) - bm_george, bm_lewis, bm_daniel (British male) Args: text: English text to synthesize (1-5000 characters). voice: Voice ID. See list above. Defaults to 'af_heart'. speed: Speed multiplier from 0.5 to 2.0 (default: 1.0). Returns: dict with keys: - audio_base64 (str): Base64-encoded WAV audio (16-bit PCM, 24kHz) - duration_ms (str): Audio duration in milliseconds - voice (str): Voice ID used - text_length (str): Input text character count - processing_ms (str): Synthesis time in milliseconds
    ConnectorNo auth
  • Set the project's narrator TTS voice — required before generate_voiceover whenever the script has narration. Browse ids with list_voices. (Character dialogue voices are separate: set_character_voice.)
    ConnectorNo auth
  • Search the Qencode knowledge base (recipes + reference docs). Returns a ranked list of MCP resource URIs that match the query, each with a short summary. Call this first whenever you're unsure which recipe applies. To read the full content of any URI returned here, call `fetch_qencode_doc(uri)` next. Args: query: free-text search — output type, codec, DRM provider, feature name, etc. (e.g. "hls widevine ezdrm", "thumbnail sprite", "stitching", "speech to text translation") limit: max number of hits to return. Default 8. Returns: A dict with `hits`, each containing `uri`, `title`, `summary`, `score`. Pass `uri` to `fetch_qencode_doc` to read the full markdown.
    ConnectorOAuth
  • Speech and sound: text-to-speech (default; optional voice_id, see list_resources), sound effects (model 'sfx', optional duration), multi-voice dialogue (model 'dialogue': pass the turns in the dialogue parameter, not prompt), transcription (model 'stt': pass audio_url, get text back; optional diarize/language_code), voice change (model 'voice-changer': audio_url + target voice_id) and audio cleanup (model 'voice-isolation': audio_url). Returns the audio URL (or the transcript for 'stt'). For music, use generate_music.
    Connector
    Destructive
    No auth
  • Transcribe what is said in a video. Not done automatically — ask for it only when the traveller wants what was said kept, because a travel video's audio often catches other people talking, and turning that into a written record is a different thing from keeping the video. The transcript is stored on the media and returned to you; it is raw speech-to-text, so treat it as material to write from, not as finished text for the page.
    ConnectorOAuth
  • Fetch one scheduler-side post by id (drafts / queued / recurring / scheduler-published). **Scheduler-side, not platform-published.** Call AFTER `list_scheduled_posts` when the user references a specific scheduler entry. For platform-published media use `get_published_media`. Returns full text + recurrence + status detail.
    ConnectorAPI key
  • Convert text to speech using a named built-in preset voice, with optional emotion and language settings. Both text and voice_preset_id are required and the text is limited to 1000 characters; invalid input returns HTTP 400. The job result is a single audio result containing a URL. Credits are held when the job is accepted and refunded if it fails or is cancelled. Use this when you want a ready-made catalog voice and do not need to supply your own sample; use createSpeech to clone a voice from an audio sample instead, and createVoice to design a new voice from a text description. Pass an optional request_id to tag the result so you can locate it later via listGenerations (type audio). Async generation job: returns `{id, status}` - poll `getApiJob` (job and credit contract: see the server instructions). Credits: This endpoint consumes 1 credits per call.
    ConnectorNo auth
  • Generate AI-powered platform-optimized content without publishing. Uses AI to create platform-specific text, hashtags, and titles from a prompt or media URL. Respects brand voice profiles if configured. Returns generated content variants for each target platform. Use publish_content to publish the generated content, or publish_ai to generate and publish in one step.
    ConnectorNo auth
  • Text-to-speech with 3 tiers: OmniVoice Global (602+ languages including Yoruba, Bengali, Cebuano, Twi, zero-shot voice cloning, ~106 chars/sat — use 'language' parameter with ISO code), Inworld Premium (#1 ranked TTS ELO 1217, emotion control, 40+ languages, ~16 chars/sat), Minimax Studio (voice cloning from reference clip, 40+ languages, ~5 chars/sat). Adjustable speed (0.5-2.0x). Returns audio URL. Pay with Bitcoin Lightning — no API key or signup needed. When NOT to use: not for phone calls (use place_call for one-shot broadcasts, ai_call for AI voice agents, or open_voice_bridge to drive the call with your own LLM). For rare/underserved languages (Yoruba, Twi, Marathi, Cebuano, etc.), pick OmniVoice Global via language= — Inworld/Minimax don't cover these. Requires create_payment with toolName='text_to_speech'.
    ConnectorNo auth
  • Route a natural-language intent to the right platform on the ComOS network — the first thing to call. Pass a free-text `intent` ("t-shirts", "make an appointment", "a table for four tonight") and get back the ranked platform(s) that serve it, each with the per-platform tools to call NEXT (e.g. bookings → appointment_search). This returns a ROUTE, not a transaction: it tells you where to go; you then act on that platform with the chosen tenant. An intent no platform serves returns an empty route (unroutable: true), never a silent default. Fast and deterministic — the same intent always routes the same way. Returns: A route: ranked platforms (platform_id, label, why_matched, score, entry_points) plus unroutable:true when no platform serves the intent. Example: call federation_search with arguments {}.
    ConnectorNo auth
  • Route a natural-language intent to the right platform on the ComOS network — the first thing to call. Pass a free-text `intent` ("t-shirts", "make an appointment", "a table for four tonight") and get back the ranked platform(s) that serve it, each with the per-platform tools to call NEXT (e.g. bookings → appointment_search). This returns a ROUTE, not a transaction: it tells you where to go; you then act on that platform with the chosen tenant. An intent no platform serves returns an empty route (unroutable: true), never a silent default. Fast and deterministic — the same intent always routes the same way. Returns: A route: ranked platforms (platform_id, label, why_matched, score, entry_points) plus unroutable:true when no platform serves the intent. Example: call federation_search with arguments {}.
    ConnectorNo auth
  • Convert Kurdish text (Sorani or Kurmanji) to speech audio. Requires a TTS API key; characters are billed against your plan. Get speaker_id from list_voices called with the SAME model_version you pass here (default "v3") — ids are not shared between catalogs. Returns one complete clip: MCP cannot stream, so for a live voice agent call POST https://www.kurdishtts.com/api/tts-stream directly instead (SSE, first audio in ~1s). Max 4000 characters per call in the default mp3 container, 600 with format "wav"; free plans are capped at 500 server-side. Note: speed is caller-facing (higher = faster).
    ConnectorNo auth
  • Open a live speech-to-text session for LISTENING — a microphone or audio stream you transcribe in real time. This does NOT make anything speak; to speak Kurdish use synthesize_speech, or POST https://www.kurdishtts.com/api/tts-stream for progressive audio. WARNING: calling this immediately consumes one streaming session from your STT plan quota — only call it when you are ready to connect. Returns a websocket_url: open it, stream PCM16 mono 16kHz audio chunks, send {"type": "finalize"} to flush and {"type": "done"} to close. Session duration is limited by plan.
    Connector
    Destructive
    No auth
  • Route a natural-language intent to the right platform on the ComOS network — the first thing to call. Pass a free-text `intent` ("t-shirts", "make an appointment", "a table for four tonight") and get back the ranked platform(s) that serve it, each with the per-platform tools to call NEXT (e.g. bookings → appointment_search). This returns a ROUTE, not a transaction: it tells you where to go; you then act on that platform with the chosen tenant. An intent no platform serves returns an empty route (unroutable: true), never a silent default. Fast and deterministic — the same intent always routes the same way. Returns: A route: ranked platforms (platform_id, label, why_matched, score, entry_points) plus unroutable:true when no platform serves the intent. Example: call federation_search with arguments {}.
    ConnectorNo auth