Google Sheets combined with Apps
Script lets you automate text-to-speech
generation right from your spreadsheet. Perfect for batch processing, content
automation, and team workflows!
What You Can Do
With Typecast and Google Sheets, you can:- Batch generate TTS - Convert multiple texts to speech with one click
- Automate workflows - Process data and generate audio automatically
- No coding required - Use the simple custom menu interface
- Team collaboration - Share sheets with team members for collaborative audio production
- Auto-save to Drive - Generated audio files are automatically stored in Google Drive
Prerequisites
Before you start, make sure you have:- Google Account - Access to Google Sheets
- Typecast API Key - Get yours here
Setup Guide
Step 1: Create Your Spreadsheet
- Open Google Sheets
- Create a new blank spreadsheet
- Set up your columns with headers in the first row:
- Column A:
Text- The text you want to convert to speech - Column B:
Voice- Voice ID (e.g.,tc_66aca22c7d31e45ff05ff418) or Voice Name from the Voice Library - Column C:
Language- Language code (eng,kor,jpn,cmn, etc.) - Column D:
Audio URL- Leave empty (will be auto-filled)
- Column A:
- Add your data starting from the second row (row 1 is reserved for headers)

Step 2: Open Apps Script Editor
- Click Extensions in the menu bar
- Select Apps Script

- A new tab will open with the Apps Script editor

Step 3: Add the Typecast Integration Code
- Delete the default
myFunction()code - Copy and paste the following code:
📋 Click to view the complete Apps Script code
📋 Click to view the complete Apps Script code

- Click the Save icon (💾) or press
⌘+S(Mac) /Ctrl+S(Windows) - Give your project a name (e.g., “Typecast TTS Integration”)
Step 4: Authorize the Script
The first time you run the script, Google will ask for permissions:- Close the Apps Script tab and return to your spreadsheet
- Refresh the page (F5 or
⌘+R) - You should see a new menu: 🎙️ Typecast TTS appear in the menu bar

- Click 🎙️ Typecast TTS → Generate All Audio

- Google will prompt you to authorize the script:
- Click Continue
- Select your Google account
- Click Advanced → Go to [Project Name] (unsafe)
- Click Allow
The “unsafe” warning appears because this is a custom script. It’s safe to
proceed if you trust the code you copied.
Usage
Generate Audio for All Rows
- Click 🎙️ Typecast TTS → Generate All Audio
- The script will process all rows with text and voice ID

- When complete, you’ll see a success message

- Audio URLs will appear in Column D
- Generated audio files are saved to your Google Drive
Smart Emotion is enabled by default! The script uses
emotion_type: 'smart' with the ssfm-v30 model for natural-sounding, emotionally
appropriate speech.
Generate Audio for Selected Rows
- Select the rows you want to process (click and drag on row numbers)
- Click 🎙️ Typecast TTS → Generate Selected Rows
- Only the selected rows will be processed
Clear Audio URLs
To remove all generated URLs (doesn’t delete audio files from Drive):- Click 🎙️ Typecast TTS → Clear Audio URLs
- Confirm the action
- All URLs in Column D will be cleared
Advanced Configuration
Smart Emotion (Default)
The script uses Smart Emotion by default, which automatically analyzes your text and applies appropriate emotions:Use Preset Emotions Instead
If you want to manually control emotions, changeemotion_type to preset:
Supported Languages
The script supports 37 languages with the ssfm-v30 model (used by default):| Code | Language | Code | Language | Code | Language |
|---|---|---|---|---|---|
ara | Arabic | ind | Indonesian | por | Portuguese |
ben | Bengali | ita | Italian | ron | Romanian |
bul | Bulgarian | jpn | Japanese | rus | Russian |
ces | Czech | kor | Korean | slk | Slovak |
dan | Danish | msa | Malay | spa | Spanish |
deu | German | nan | Min Nan | swe | Swedish |
ell | Greek | nld | Dutch | tam | Tamil |
eng | English | nor | Norwegian | tgl | Tagalog |
fin | Finnish | pan | Punjabi | tha | Thai |
fra | French | pol | Polish | tur | Turkish |
hin | Hindi | ukr | Ukrainian | vie | Vietnamese |
hrv | Croatian | yue | Cantonese | zho | Chinese |
hun | Hungarian |
ENG and eng both work).
Save to Specific Drive Folder
To save audio files to a specific folder instead of root:Add More Columns
You can extend the spreadsheet with additional columns for even more control:- Column E: Emotion Preset (happy, sad, angry, normal)
- Column F: Audio Tempo (0.5 to 2.0)
- Column G: Audio Pitch (-12 to +12)
- Column H: Status (Processing, Done, Error)
Why Use Google Sheets with Typecast?
No Coding Required
Simple copy-paste setup. Non-developers can easily generate professional
voiceovers in just 5 minutes.
Perfect for Automation
Set it up once and use forever. Ideal for repetitive TTS tasks and
macro-style workflows.
Batch Processing
Generate hundreds of audio files with a single click. Process entire content
calendars at once.
Team Collaboration
Share spreadsheets with your team. Everyone can contribute text and generate
audio together.
This is how simple the Typecast API is! With just a few lines of code and
Google Sheets, you can automate your entire TTS workflow. Perfect for content
creators, marketers, and educators who need to generate audio at scale without
technical expertise.
Use Cases
E-learning Content Creation
E-learning Content Creation
Create course narrations from lesson scripts. Add text in Column A, generate
audio, and download for your videos.
Podcast Production
Podcast Production
Generate intro/outro segments, ad reads, and announcements from a shared
Google Sheet.
Product Descriptions
Product Descriptions
Convert e-commerce product descriptions into audio for accessibility or
marketing videos.
Social Media Content
Social Media Content
Multilingual Content
Multilingual Content
Translate text in your sheet and generate audio in multiple languages for
global audiences.
Troubleshooting
Menu doesn't appear after refresh
Menu doesn't appear after refresh
Authorization error
Authorization error
API Error: 401 - Invalid API key
API Error: 401 - Invalid API key
- Check that you replaced
YOUR_API_KEY_HEREwith your actual API key - Verify your API key at Typecast API console - Make sure there are no extra spaces around the key
API Error: 402 - Insufficient credits
API Error: 402 - Insufficient credits
- Check your credit balance in the Typecast API console - Each character costs credits - make sure you have enough
Script times out on large datasets
Script times out on large datasets
- Process in smaller batches using “Generate Selected Rows” - Apps Script has a 6-minute execution limit - For very large datasets (500+ rows), split into multiple sheets
Audio files not appearing in Drive
Audio files not appearing in Drive
- Check your Google Drive root folder - Audio files are named
typecast_[timestamp].mp3- Make sure the script has Drive permissions (authorized correctly)