VideoToSRT API

Backend API for OAuth login, usage credits, Stripe checkout, and queued audio transcription.

Endpoints

Method Path Description
GET /api/health Service health check.
GET /api/auth/login?provider=google|github|email Start login. Email mode returns a development magic link.
GET /api/auth/me Return the current user from the vts_session cookie.
POST /api/auth/logout Clear the session cookie.
GET /api/usage Return this month's used and available transcription minutes.
POST /api/transcribe Create a queued transcription job from an audio URL.
GET /api/jobs/:id Read a transcription job and SRT result.
POST /api/checkout Create a Stripe Checkout session. Body: {"plan":"pro"} or {"plan":"business"}.
POST /api/webhooks/stripe Stripe webhook endpoint for checkout.session.completed.

Transcription Request

{
  "filename": "meeting.mp3",
  "audio_url": "https://example.com/meeting.mp3",
  "duration_seconds": 420
}

Credits

Each user receives 30 free minutes per month. Stripe checkout adds 120 minutes for Pro or 600 minutes for Business.