Add multilingual audio to every new Webflow blog post
Every 30 minutes, freshly published Webflow posts get translated audio in Spanish, French, and German, uploaded to Drive, and linked back on the post.
Publish a multilingual audio version alongside every new Webflow blog post so international readers can listen in their own language. The three target languages are Spanish, French, and German, and each one gets its own script, its own voice, and its own audio file on the post.
Every 30 minutes, use Webflow's List Collection Items to find blog posts in the blog collection where audio_status is empty and the body is populated. Skip any post that already has audio_status set (including drafts marked done, in_progress, or anything non-empty) so we never redo finished work.
For each qualifying post, produce audio in Spanish, French, and German. For each target language, first rewrite the body for the ear in that language: translate the meaning (not the words), swap idioms for locale-natural equivalents, break long sentences, and sprinkle Cartesia SSML pacing marks like <break time="400ms"/> at natural pauses so it does not sound like a webpage being read aloud.
Pick the voice per language by calling Cartesia's List Voices and choosing one whose language matches the target (es for Spanish, fr for French, de for German). Then call Cartesia's Text to Speech (Bytes) with that voice, output_format set to mp3, and the rewritten SSML script. This returns the full audio file as bytes.
Upload each language's mp3 to Google Drive with Upload File (Multipart), naming it something like {post-slug}-{lang}.mp3. Then call Create Permission on the uploaded file with type=anyone, role=reader so anyone with the link can stream it. Grab the resulting shareable URL for that file.
Once all three languages are done (or as many as succeeded), use Webflow's Update Collection Item Live on the original post to fill audio_url_es, audio_url_fr, and audio_url_de with the corresponding Google Drive links, and set audio_status to "done". Because it is the live update, the site templates immediately have what they need to render the play buttons.
Error handling: if any single language's Cartesia call fails, leave that language's URL field blank and do NOT set audio_status to "done" for the post. Instead leave audio_status empty (or the partial state) so the next 30-minute run picks it up again and retries only the missing language, without regenerating the ones that already worked. Never overwrite an already-populated audio_url_* field.
Cron was chosen over a Webflow webhook so no site-level webhook configuration is needed; the audio_status field is the idempotency guard. Cartesia is the anchor here because expressive, native-quality multilingual voice is the whole value of the workflow (Cartesia advertises 40+ languages).
Additional information
What does this prompt do?
- Watches your Webflow blog for posts that still need audio and skips anything already done.
- Rewrites the body for the ear in Spanish, French, and German, adjusting idioms and pacing for a natural listen.
- Generates a lifelike voiceover per language with Cartesia, using a voice that natively speaks each language.
- Uploads every audio file to Google Drive, turns on shareable links, and writes the URLs back to the post so play buttons appear on the site.
What do I need to use this?
- A Webflow site with a blog collection that has an audio status field and one link field per language (Spanish, French, German).
- A Cartesia account for the voice generation.
- A Google account with Drive access to store the audio files and share them by link.
How can I customize it?
- Swap in different target languages or add more (Cartesia supports 40+).
- Pick a specific voice per language, or let it choose the best match from your library.
- Change how often it checks Webflow, or point it at a different collection like podcasts or press releases.
Frequently asked questions
Will this work with any Webflow site?
What if I only want two languages, or want to add more?
How natural does the voiceover sound?
What happens if one language fails to generate?
Are the audio files public?
Related templates
Make your blog listenable in every language your readers speak.
International readers do not want to fumble with translation tabs. Give every new post a native voiceover the moment it goes live.