Generate a transcript when YouTube captions are missing.

Capslane turns captionless public YouTube videos into text through an asynchronous job, while keeping native caption requests available during heavier processing.

Generated transcript requestGET /v1/transcript
curl 'https://capslane.com/v1/transcript?url=jNQXAC9IVRw&mode=generate' \
  -H 'x-api-key: YOUR_API_KEY'
Local AI transcriptionMonotone job progressNative API stays available

A fallback designed for production queues.

Generated transcripts take longer than caption extraction. The API makes that difference explicit without forcing the client to maintain another response model.

Explicit 202 response

The first request returns a durable job ID instead of holding an HTTP connection open during transcription.

Monotone progress

Job status moves forward through download, processing and persistence without reversing the reported percentage.

Shared work

Concurrent requests for the same transcript reuse one canonical generation job.

Native isolation

Caption extraction remains available while the worker processes a longer audio job.

Automatic cleanup

Temporary media is removed after the transcript has been persisted.

Stable output

Completed jobs return the same text, language and segment structure as native requests.

Handle long work without a brittle timeout.

Create the job

Request auto or generate mode and store the returned job ID when the API responds with 202.

Poll safely

Use the same API key on the job endpoint until the status becomes completed or failed.

Consume the result

Read the completed content immediately, then benefit from the cache on future requests.

Questions developers ask.

How does Capslane handle a video without captions?

Auto mode confirms that no usable native track exists, then queues local speech transcription and returns a job ID.

Do I need a separate endpoint for generated transcripts?

No. Start with GET /v1/transcript and poll GET /v1/transcript/:jobId when the first response has HTTP status 202.

Can I force a new transcript from audio?

Yes. Use mode=generate to use the audio path directly unless the canonical generated transcript is already cached.

Does checking a job consume another request?

No. Polling an accepted transcript job does not reserve another monthly request unit.

Try the API on a real YouTube video.

Start free with no credit card and move to a paid plan when the integration grows.

Create a workspace