Business APIsIntegrations › Airtable

Airtable transcription integration

For content teams whose production calendar is a base, with one row per episode or lesson. The job: attach the transcript to the row that triggered it so the rest of the base can key off it.

The one thing that breaks this

An Airtable script action gets 30 seconds and cannot be resumed. Submit from the script, store the job_id on the record, and let a scheduled automation poll the records whose transcript field is still empty.

ModuleAutomations → Run script
ShapePoll
Step timeout30s
Recipes1

Wiring it up

1 · Trigger

Any of these start the run:

2 · Submit from Automations → Run script

# submit — returns immediately, does not block
curl -X POST https://whipscribe.com/api/v1/transcribe/url \
  -H "X-API-Key: $KEY" \
  -H "Idempotency-Key: airtable-$FILE_ID" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/recording.mp4",
       "diarize":true,
       "word_timestamps":true}'

→ 202 {"job_id":"a1b2…","status":"queued"}

# then poll — a self-serve (Pro) key collects by polling
curl "https://whipscribe.com/api/v1/jobs/$JOB" -H "X-API-Key: $KEY"
→ {"status":"processing"} … {"status":"done"}
Retry safety. Long transcripts exceed Airtable's 100,000-character cell limit. Write the first section to a Long text field and attach the full file.

3 · Collect

Submit, store the job id, and poll only the rows still queued.

# one job, every format — never re-submit per format
curl "https://whipscribe.com/api/v1/jobs/$JOB/result?format=txt" -H "X-API-Key: $KEY"
curl "https://whipscribe.com/api/v1/jobs/$JOB/result?format=srt" -H "X-API-Key: $KEY"
curl "https://whipscribe.com/api/v1/jobs/$JOB/result?format=vtt" -H "X-API-Key: $KEY"

What your key can actually do

TierReq/minMinutes/dayLongest fileResultsHow you get it
Free1060 min2 hoursPollNot self-serve — existing keys only
Pro60Unlimited10 hoursPollWhat POST /v1/keys mints, once your account has credit
Enterprise120Unlimited10 hoursSigned webhooksTalk to us
Collecting results. Self-serve keys are Pro tier, and Pro collects results by polling — webhook_url on a Pro key returns 403 TIER_FORBIDDEN. Signed callbacks are an Enterprise feature.

What it costs to run

Rate$0.008 / min
Per audio hour$0.48
10 hours of audio$4.80
CreditsNever expire

$8 per 1,000 minutes — about $0.48 an audio hour — and credits never expire.

Why run it here

No subscription to size wrongCompeting transcription tools sell $25–$65 monthly plans with a minute cap that resets whether you used it or not. Credits here are bought once and do not expire, so a quiet month costs nothing and a backlog run does not need an upgrade.
Your audio is not sent to a third-party modelTranscription runs on our own GPUs in our own private cloud. Nothing is forwarded to OpenAI or any other vendor's API, which is usually the blocking question when the recordings are customer calls or unreleased material.
One job, every formattxt, json, srt, vtt and docx all come from the same job id. Re-submitting a file per format is the most common way teams pay several times for one transcription.
Built to be retriedIdempotency-Key means an automation platform's automatic retry returns the original job instead of billing a second one. Every no-code platform retries; most transcription APIs charge you for it.

Recipes that use Airtable

Turn recorded calls into searchable notesThe recording exists, the answer is in it, and nobody will scrub an hour to find the ninety seconds that …200 calls a month ≈ $48
Try the quality free, then wire it up

Your first transcript in the web app is free, any length, no card — that is how to check accuracy on your own audio before writing any code. The API itself has no free tier: a key is self-serve once your account has credit ($50 minimum, spendable on transcription, and it does not expire). $8 per 1,000 minutes — about $0.48 an audio hour — and credits never expire.

Transcribe a file free →Create an API keyAPI reference
Platform reference: Airtable docs ↗