Skip to main content
The TranscriptionForm component provides a comprehensive UI for configuring all ElevenLabs Speech-to-Text API options, handling file uploads, and submitting transcription requests.

Component Props

string
required
ElevenLabs API key for authentication
File | null
required
Selected audio or video file for transcription
TranscriptOptions
required
Current transcription configuration options
boolean
required
Loading state indicating if transcription is in progress
string | null
required
Error message to display if transcription fails
(value: string) => void
required
Callback fired when API key input changes
(file: File | null) => void
required
Callback fired when a file is selected or cleared
(options: TranscriptOptions) => void
required
Callback fired when any transcription option changes
SubmitEventHandler<HTMLFormElement>
required
Form submit handler for initiating transcription

TypeScript Interface

Usage Example

Configuration Options

The form provides inputs for all ElevenLabs Speech-to-Text API parameters:

Model Selection

Select between Scribe V1 and Scribe V2 models:

Language Configuration

Optional language code input (e.g., “en”, “es”, “fr”):

Timestamps Granularity

Control the level of timestamp detail:

Speaker Detection (Diarization)

Number of Speakers

Optional input (1-32) for specifying speaker count:

Temperature Control

Adjust model randomness (0.0-2.0):

Seed for Reproducibility

Keyterms

Comma-separated list of important terms:

Additional Options

  • Tag Audio Events: Detect non-speech audio like music, applause
  • Multi-channel Audio: Process multi-channel audio files
  • Entity Detection: Detect entities (e.g., “pii”, “phi”, “all”)
  • Diarization Threshold: Fine-tune speaker detection (0.0-1.0)

File Handling

The component uses a ref for the file input to enable programmatic clearing:
File input accepts audio and video formats:

Error Display

Errors are displayed in a prominent card:

Submit Button States

The submit button reflects the current state:

Dependencies

Source Location

/home/daytona/workspace/source/src/features/speech-to-text-playground/transcription-form.tsx