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).
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.
FAQs
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
Generate on-brand ad variants in every format, approve the winners, and keep a ready library you can swap in the day an ad starts to fatigue.
Search, filter and sort your whole signed contract repository, then have an assistant read any contract and write a plain English brief back onto the row.
Open one screen each Monday to see which upcoming posts still have no image, generate three on-brand options, and file the one you pick.
See every page's translation status at a glance, edit translations side by side with the English, and publish only what your team has actually approved.
See every upcoming Zoom webinar that is close, under-registered and still has no promo graphics, then build a full image kit in one click.
One desk to pull scripts from Drive, give every line its own voice, redo the one take that missed, and share approved audio in Slack.
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.