Skribby
GuidesUpdated 7 hours ago

Recordings Upload

The Recordings feature allows you to transcribe audio files outside of live meeting recordings. Upload your own audio files or re-transcribe existing bot recordings with different models or settings.

Use Cases

  • Transcribe pre-recorded audio (podcasts, interviews, voice memos)
  • Re-transcribe a meeting bot recording with a different model
  • Process audio files from other sources through Skribby's transcription pipeline

Creating a Recording

There are three ways to create a recording:

1. Upload a File Directly

Send the audio file as a multipart form upload:

curl -X POST https://platform.skribby.io/api/v1/recording \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "recording_file=@/path/to/audio.mp3" \ -F "transcription_model=whisper" \ -F "lang=en"

2. Provide a URL

If your audio is hosted online:

curl -X POST https://platform.skribby.io/api/v1/recording \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "recording_url": "https://example.com/audio.mp3", "transcription_model": "whisper", "lang": "en" }'

3. Re-transcribe from Meeting Bot

Re-process an existing bot recording with different settings:

curl -X POST https://platform.skribby.io/api/v1/recording \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "meeting_bot_id": "bot-uuid-here", "transcription_model": "deepgram-v3", "lang": "es" }'

When using meeting_bot_id:

  • The original recording file is reused
  • Default settings are inherited from the bot
  • You can override transcription_model, lang, profanity_filter, and custom_vocabulary

Accepted Formats

Skribby accepts common audio formats:

FormatExtensionNotes
MP3.mp3Most common
WAV.wavUncompressed
M4A.m4aApple format
WebM.webmWeb standard
OGG.oggOpen format
FLAC.flacLossless

All uploads are converted to WebM internally before processing.

Request Parameters

ParameterRequiredDescription
transcription_modelYes*Model to use (see Billing for options)
recording_fileYes*Audio file (multipart upload)
recording_urlYes*URL to audio file
meeting_bot_idYes*Bot ID to re-transcribe
langNoLanguage code (e.g., en, es, de)
webhook_urlNoURL for status updates
transcription_credentialsNoBYOK credential ID
store_recording_for_1_yearNoExtend storage to 1 year (addon fee applies)
profanity_filterNoCensor profanity (model-dependent)
custom_vocabularyNoArray of words/phrases to improve recognition

*One of recording_file, recording_url, or meeting_bot_id is required. When using meeting_bot_id, transcription_model is optional (inherits from bot).

Recording Lifecycle

StatusDescription
processingFile received, being prepared for transcription
transcribingTranscription in progress
finishedTranscription complete, results available
failedProcessing or transcription failed
invalid_api_keyBYOK credential was rejected by provider

Webhook Events

If you provide a webhook_url, you'll receive events:

{ "recording_id": "uuid", "type": "status_update", "data": { "old_status": "transcribing", "new_status": "finished" } }

Viewing Results

Via API

curl https://platform.skribby.io/api/v1/recording/{id} \ -H "Authorization: Bearer YOUR_API_KEY"

Response includes:

  • status: Current processing status
  • recording_url: Download link for the audio
  • recording_available_until: Expiration date
  • transcript: Transcription results (when finished)
  • events: Processing history

Via Dashboard

Navigate to Recordings in the Skribby Dashboard to:

  • View all recordings and their status
  • Download audio files
  • View transcripts
  • See processing events and any errors

Billing

Recordings are billed based on audio duration:

ComponentCost
Base processing$0.10/hour
TranscriptionModel-dependent (see Billing)
1-year storage addon$0.05/hour

What Counts as Billable

  • The full duration of the audio file (only charged on successful transcription)
  • Re-transcribing via meeting_bot_id incurs new transcription charges

Storage & Retention

SettingRetention Period
Default7 days
store_recording_for_1_year: true1 year

After expiration:

  • Audio file is deleted
  • Transcript remains accessible
  • recording_url becomes null