Batch processing

Current public batch-processing endpoints

By YT2Text Team • Published January 20, 2025 • Updated March 22, 2026

Batch API

Batch endpoints live under

/api/v1/batch
.

Endpoints

  • POST /api/v1/batch/process
  • GET /api/v1/batch/status/{batch_id}
  • GET /api/v1/batch/results/{batch_id}
  • GET /api/v1/batch/

Availability

Batch processing is available on Pro/Admin plans.

POST /api/v1/batch/process

Request body:

{
  "videos": [
    {
      "url": "https://www.youtube.com/watch?v=VIDEO_1",
      "options": {
        "summary_modes": ["tldr"]
      }
    },
    {
      "url": "https://www.youtube.com/watch?v=VIDEO_2",
      "options": {
        "summary_modes": ["detailed"]
      }
    }
  ],
  "webhook_url": "https://example.com/batch-webhook",
  "priority": "normal",
  "parallel_processing": true
}

Current constraints:

  • minimum 1 video
  • maximum 100 videos
  • webhook is batch-level
  • per-video custom instructions are not part of the current batch request schema
  • the current backend stores the batch-level
    webhook_url
    , but does not actually emit a batch completion webhook yet
  • priority
    and
    parallel_processing
    are currently accepted fields, but they do not materially change execution behavior in the current backend

GET /api/v1/batch/status/{batch_id}

Returns aggregate progress and the state of each individual job.

Possible batch statuses:

  • processing
  • completed
  • partial_failure
  • failed

GET /api/v1/batch/results/{batch_id}

Returns:

  • successful_jobs
  • failed_jobs
  • summary_stats
  • aggregate processing metadata

Optional query parameter:

  • include_failed=true

GET /api/v1/batch/

Lists the authenticated user's batches with pagination metadata.