Good Ukrainian voices are rare in text-to-speech APIs: many offer none, and open voices often put the stress on the
wrong syllable. This guide shows one API call that turns Ukrainian text into an MP3 with subtitles, with a sample
you can play right here. The run below is from 7 November 2026.
Disclosure: I built the tool used here, Text to Speech on Apify. The
voices run inside it (Piper neural models), so no other service and no
key of yours is involved. The source code is open:
AndriyVK/-apify-document-tools.
Listen first
Voice uk_UA-tetiana-high, speed 1.12, MP3. This is the file exactly as the API returned it, not edited.
The call
from apify_client import ApifyClient client = ApifyClient("<YOUR_APIFY_TOKEN>") run = client.actor("ai_admin/text-to-speech").call(run_input={ "text": "Добрий день! Це український голос, створений нейромережею.\n\n" "Він читає статті, документи та субтитри природно і без акценту.", "voice": "uk_UA-tetiana-high", # or uk_UA-mykyta-high, uk_UA-oleksa-high "speed": 1.12, "format": "mp3", # mp3, wav or ogg "subtitles": True, # SRT and VTT, free }) item = next(client.dataset(run["defaultDatasetId"]).iterate_items()) print(item["durationSeconds"], item["audioUrl"], item["srtUrl"]) Instead of text you can pass sources: links to TXT, Markdown, HTML, DOCX or PDF files (with a text layer), one
audio file each.
The real output
voice: uk_UA-tetiana-high characters: 120 sentences: 3 durationSeconds: 10.59 And the subtitles that came with it - one cue per sentence, timed to the audio:
1 00:00:00,000 --> 00:00:01,068 Добрий день! 2 00:00:01,291 --> 00:00:04,240 Це український голос, створений нейромережею. 3 00:00:04,865 --> 00:00:10,589 Він читає статті, документи та субтитри природно і без акценту. The whole run took 30 seconds, most of it the container start. As a rule of thumb, 750-900 characters make one minute
of speech.
Price
Per started minute of audio: $40 per 1,000 minutes with the high voices (4 cents a minute) and $10 per 1,000
with medium/low voices. All three Ukrainian voices are high. The sample above is one started minute - 4 cents.
Subtitles are free.
Limits
- Numbers, abbreviations and foreign words are read by the voice's rules and may sound odd: write «двадцять п'ять» or check how «25» sounds.
- Scanned PDFs without a text layer are not read - run them through OCR first (see Ukrainian scans to Markdown).
- It is a synthetic voice. For an audiobook it is fine for drafts and accessibility; a professional narrator is still better for a final release.
From an AI agent
https://mcp.apify.com?tools=ai_admin/text-to-speech adds the voice as an MCP tool, so an agent can write a text and
hand back the audio.
Originally published at andriyvk.github.io.
![Path Planning and Autonomous Navigation — Ch.24: Advanced Autonomous Behaviors [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fgmggiae4nyxpukfvgqba.png)
![Path Planning and Autonomous Navigation — Ch.12: Reversing and Parking [EN]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1k9m20qhwzb1csyeu5v1.png)
![Path Planning and Autonomous Navigation — Ch.13: Docking and Charging [EN]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff66zllmrqlif2vsyczxb.png)