Timestamps API

A transcript timestamped per segment, not a wall of text

Every segment carries its start_seconds. That single field is what turns a block of text into content you can navigate, search and quote.

request
# Fetch the job with its timestamped segments
curl "https://api.techtuel.com/v1/transcriptions/job_abc123?format=json" \
  -H "Authorization: Bearer $TECHTUEL_API_KEY"

# The same content as subtitles, ready for a player
curl "https://api.techtuel.com/v1/transcriptions/job_abc123?format=vtt" \
  -H "Authorization: Bearer $TECHTUEL_API_KEY" -o subtitles.vtt
response
{
  "id": "job_abc123",
  "status": "completed",
  "title": "Conference — Event-driven architecture",
  "language": "en",
  "minutes": 46.8,
  "transcript": "Let's start with the vocabulary…",
  "segments": [
    { "start_seconds": 0, "text": "Let's start with the vocabulary" },
    { "start_seconds": 8.4, "text": "an event describes something that happened" },
    { "start_seconds": 15.2, "text": "a command expresses an intent" }
  ]
}

A transcript without timestamps is a product dead end. You can display it, you can index it for full-text search, but you cannot do any of the things your users actually expect: click a sentence and jump there, find the moment a topic came up, chunk it cleanly for a model. So Techtuel always returns, alongside the transcript field, a segments array where every entry carries a start_seconds value in seconds and its text.

To be precise about granularity: timestamps are segment-level, not word-level. A segment is a natural chunk of speech, typically a sentence or a sentence fragment. That is exactly the granularity you need for a subtitle line, a seek in a player or a search chunk — and it is also what keeps the response light on long-form content.

What it unlocks in practice: player navigation (clicking a line seeks to start_seconds), in-video search (index the segment text, surface the timestamp in results), chapter generation (group segments by topic and take the first one’s start_seconds), clickable quotes in a summary, RAG chunking where each chunk keeps its time anchor, and of course subtitles — ?format=srt or ?format=vtt builds the file directly from those same segments.

Why this API

Segments, immediately

The job GET already returns segments in the typed envelope. No second ?format=json round trip just to get timestamps.

Subtitles without code

?format=srt and ?format=vtt build the file from the same segments. No cue-splitting logic to write on your side.

RAG-ready chunks

Each segment is a short unit of text with a time anchor: index it as-is and your answers cite the exact moment.

Pricing you can read

Free100 credits/month, timestamps included at no extra cost
Pro2000 credits/month (~1000 min), unlimited SRT/VTT export

Frequently asked questions

Are word-level timestamps available?+

No, the granularity is the segment. Each segment exposes start_seconds and its text, which covers subtitles, player navigation and chunking for search.

How do I make a click seek to the right moment?+

Render each segment as a clickable line and seek the player to its start_seconds. No extra computation is needed.

How do I generate chapters?+

Group consecutive segments by topic and use the start_seconds of the first segment in each group as the chapter start.

Can I get SRT or VTT directly?+

Yes, with ?format=srt or ?format=vtt when you fetch the job. The file is built from the segments, with no formatting work on your side.

Are segments suitable for a RAG pipeline?+

Yes. Each segment is a short piece of text with a time anchor: index them as-is, or merge several while keeping the first start_seconds as the citation reference.

Other ways to use the API

Free trial, no credit card

Generate an API key and transcribe your first source in under a minute. A free monthly quota lets you test under real conditions.

Start with the API