NetraFlow
Capabilities

Transcription

Speech-to-text with speaker detection and timed segments.

Transcription converts video audio to text. It auto-detects language and returns timed segments, with speaker labels when distinct speakers are detected.

Transcription-only jobs get a higher duration ceiling than jobs that analyze frames — 10 minutes on Free, 30 on Starter, 90 on Pro, 120 on Scale. The higher ceiling applies when the job requests only transcription and/or metadata with no custom queries. Adding summary, brands, or queries drops the job to the standard video ceiling (1 / 3 / 10 / 20 minutes).

curl -X POST https://api.netraflow.com/v1/jobs \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: sk_live_your_key_here" \
  -d '{
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "capabilities": ["transcription"]
  }'
{
  "data": {
    "job_id": "job_abc123",
    "status": "completed",
    "results": {
      "transcription": {
        "text": "We're no strangers to love. You know the rules and so do I...",
        "segments": [
          {
            "start": 0.0,
            "end": 4.8,
            "text": "We're no strangers to love",
            "speaker": 0
          },
          {
            "start": 4.8,
            "end": 8.2,
            "text": "You know the rules and so do I",
            "speaker": 0
          }
        ],
        "language": "en",
        "duration_seconds": 212.0,
        "word_count": 423,
        "speakers_detected": 1
      }
    }
  }
}

Response fields

PropTypeDescription
textstringFull transcription text.
segmentsSegment[]Timed text segments with optional speaker labels.
word_countintegerTotal number of words transcribed.
wordsWord[] (optional)Word-level timings and confidence. See below.
languagestring (optional)Detected language code (e.g. "en", "es").
duration_secondsnumber (optional)Audio duration in seconds.
speakers_detectedinteger (optional)Number of distinct speakers identified.
no_speechboolean (optional)True when the audio contains no detectable speech.

Only text, segments, and word_count are guaranteed. Everything else is optional — see the caveats below.

Videos with no speech

A silent or music-only video is a successful job, not a failure. It returns no_speech: true with text: "" and an empty segments array. On a job that also requests brands, this means no brands can be found in speech; visual detection is unaffected.

Word fields

PropTypeDescription
wordstringThe word as recognized.
startnumberWord start time in seconds.
endnumberWord end time in seconds.
confidencenumber (0-1, optional)Recognition confidence for this word.
punctuated_wordstring (optional)The word with punctuation and casing applied. Fall back to word when absent.

Segment fields

PropTypeDescription
startnumberSegment start time in seconds.
endnumberSegment end time in seconds.
textstringTranscribed text for this segment.
speakerintegerSpeaker index (0-based). Present when multiple speakers are detected.

Creator-provided captions

When a YouTube video already ships accurate captions, we use them instead of running speech-to-text — it is faster and costs you less. Caption-derived transcripts are more limited: they return text, segments, language, duration_seconds, and word_count, but no words array, no speakers_detected, and no per-segment speaker.

If you need word-level timings or speaker labels on every job, don't rely on their presence — check for the field. Jobs that also request brands always run full speech-to-text, so they always include words.

On this page