Die Oberfläche ist lokalisiert; Skill-Beschreibungen und -Dokumente werden per KI automatisch in Ihre Sprache übersetzt. Code, Befehle, Pfade und Fachbegriffe bleiben im Original, maßgeblich ist das Dokument des Autors.
Skills entdecken
Produktivität · SKILL.md

speech-to-text

speech-to-text

Transcribe audio to text using each::sense AI. Convert speech from audio and video files into accurate text with punctuation, speaker detection, and timestamp support. Handles multiple languages, accents, and noisy environments. Use for: transcription, subtitles, meeting notes, interview transcripts, podcast show notes, accessibility, captioning. Triggers: …

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill-Dokumentation

GitHub

name: speech-to-text description: "Transcribe audio to text using each::sense AI. Convert speech from audio and video files into accurate text with punctuation, speaker detection, and timestamp support. Handles multiple languages, accents, and noisy environments. Use for: transcription, subtitles, meeting notes, interview transcripts, podcast show notes, accessibility, captioning. Triggers: speech to text, transcribe, transcription, audio to text, stt, voice to text, convert speech, dictation, subtitles, captions, whisper, transcribe audio" allowed-tools: Bash(curl *), WebFetch

Speech to Text

Transcribe audio and video into accurate text using each::sense — the intelligent AI agent that automatically selects the best model for your request.

Quick Start

Requires an each::labs API key. Get one at eachlabs.ai.

Using curl

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe this audio recording into text. Include punctuation and paragraph breaks."},
              {"type": "image_url", "image_url": {"url": "https://example.com/meeting-recording.mp3"}}
            ]
          }
    ],
    "stream": false
  }'

Using Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_EACHLABS_API_KEY",
    base_url="https://eachsense-agent.core.eachlabs.run/v1"
)

response = client.chat.completions.create(
    model="eachsense/beta",
    messages=[{"role": "user", "content": "Transcribe this audio recording into text. Include punctuation and paragraph breaks."}],
    # Images are included in the message content array above
)

print(response.choices[0].message.content)

With Reference Image

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe the speech in this video clip. Include timestamps for each sentence."},
              {"type": "image_url", "image_url": {"url": "https://example.com/presentation-video.mp4"}}
            ]
          }
    ],
    "stream": false
  }'

Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.

Streaming

Set "stream": true for real-time SSE responses, or "stream": false for complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.

Transcription Capabilities

FeatureDescriptionHow to Request
Basic TranscriptionPlain text output with punctuation"Transcribe this audio"
TimestampsTime codes for each segment"Transcribe with timestamps"
Speaker LabelsIdentify different speakers"Transcribe and label each speaker"
Paragraph BreaksLogical text segmentation"Transcribe with paragraph breaks"
Language DetectionAuto-detect spoken language"Detect the language and transcribe"
TranslationTranscribe and translate"Transcribe and translate to English"
SummaryTranscribe and summarize"Transcribe and provide a summary"
SRT FormatSubtitle file format"Transcribe in SRT subtitle format"

Supported Input Formats

TypeFormats
AudioMP3, WAV, M4A, FLAC, OGG, AAC, WMA, WEBM
VideoMP4, MOV, AVI, MKV, WEBM

Prompt Tips

Specify Output Format

Be explicit about how you want the transcription structured:

"Transcribe this audio verbatim, including filler words like
um and uh. Add timestamps every 30 seconds. Format as:
[00:00] Text here
[00:30] More text here"

Request Speaker Identification

For multi-speaker audio:

"Transcribe this conversation and label each speaker as
Speaker 1, Speaker 2, etc. Start a new line when the
speaker changes."

Clean Transcription vs. Verbatim

# Verbatim (includes everything)
"Transcribe exactly as spoken, including filler words, false starts, and repetitions"

# Clean (polished)
"Transcribe cleanly, removing filler words and false starts. Fix grammar for readability."

Specify Language

For non-English audio or to guide recognition:

"This audio is in German. Transcribe it in German."
"This audio is in Japanese. Transcribe in Japanese and provide an English translation."

Examples

Meeting Transcription

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe this meeting recording. Label each speaker (Speaker 1, Speaker 2, etc.). Add timestamps at the start of each speaker turn. Include a brief summary of key decisions and action items at the end."},
              {"type": "image_url", "image_url": {"url": "https://example.com/team-meeting.mp3"}}
            ]
          }
    ],
    "stream": false
  }'

Subtitle Generation (SRT Format)

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe this video into SRT subtitle format. Each subtitle should be 1-2 lines, maximum 42 characters per line. Format:\n\n1\n00:00:01,000 --> 00:00:04,000\nSubtitle text here\n\n2\n00:00:04,500 --> 00:00:08,000\nNext subtitle here"},
              {"type": "image_url", "image_url": {"url": "https://example.com/tutorial-video.mp4"}}
            ]
          }
    ],
    "stream": false
  }'

Interview Transcript

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe this interview recording. Format as a clean Q&A transcript with the interviewer questions in bold and interviewee answers in regular text. Remove filler words and false starts. Add paragraph breaks for readability."},
              {"type": "image_url", "image_url": {"url": "https://example.com/interview.mp3"}}
            ]
          }
    ],
    "stream": false
  }'

Multilingual Transcription with Translation

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "This audio is a Spanish-language podcast episode. Transcribe it in the original Spanish, then provide a complete English translation below. Maintain paragraph structure in both versions."},
              {"type": "image_url", "image_url": {"url": "https://example.com/spanish-podcast.mp3"}}
            ]
          }
    ],
    "stream": false
  }'

Podcast Show Notes

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "messages": [{"role": "user", "content": [
              {"type": "text", "text": "Transcribe this podcast episode and generate structured show notes. Include: 1) Episode summary (2-3 sentences), 2) Key topics discussed with timestamps, 3) Notable quotes, 4) Any resources or links mentioned, 5) Full transcript with speaker labels and timestamps."},
              {"type": "image_url", "image_url": {"url": "https://example.com/podcast-episode.mp3"}}
            ]
          }
    ],
    "stream": false
  }'

Batch Transcription

# Transcribe multiple audio files
AUDIO_FILES=(
  "https://example.com/recording-1.mp3"
  "https://example.com/recording-2.mp3"
  "https://example.com/recording-3.mp3"
)

for AUDIO in "${AUDIO_FILES[@]}"; do
  curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "X-API-Key: $EACHLABS_API_KEY" \
    -d "{
      \"messages\": [{\"role\": \"user\", \"content\": \"Transcribe this audio with timestamps and speaker labels. Clean transcription, no filler words.\"}],
      \"image_urls\": [\"$AUDIO\"],
      \"stream\": false
    }"
  echo "---"
done

Transcription Quality Tips

  • Clean audio produces far better results. Remove background noise when possible before transcribing.
  • Specify the language if it is not English to improve accuracy.
  • Shorter segments (under 30 minutes) transcribe more reliably than very long recordings.
  • Single speaker audio is easiest; multi-speaker requires explicit labeling instructions.
  • Technical jargon can be specified: "This is a medical lecture; expect terminology like..." to improve accuracy.
  • Accented speech is handled well, but mentioning the accent helps: "The speaker has a Scottish accent."

Common Pitfalls

  • No format instructions produces a wall of text. Specify paragraphs, timestamps, or speakers.
  • Expecting perfect verbatim from noisy audio is unrealistic. Clean audio gives clean transcripts.
  • Very long audio without chunking may hit limits. For hour-long recordings, consider splitting into segments.
  • Overlapping speakers are hard for any system. Minimize crosstalk in source recordings.
  • Background music competing with speech reduces accuracy. Voice-isolated audio works best.

Related Skills

Documentation

Gespeicherte Skills