---
title: "Batch summarize"
method: POST
path: "/summarize/batch"
---

# Batch summarize

`POST /summarize/batch`

Summarize multiple sources in one request. Each source is processed sequentially. Results are returned in the same order as the input sources list.

## Request body

- BatchRequest
  - `sources` string[], required — List of URLs or file paths
  - `type` 'YouTube Video' | 'Video URL' | 'Google Drive Video Link' | 'Dropbox Video Link' | 'Local File' | 'TXT', nullable — Source type for all items
  - `provider` string, nullable — Provider name from config
  - `prompt_type` string, nullable — Summary style
  - `chunk_size` integer, nullable — Characters per chunk
  - `parallel_calls` integer, nullable — Concurrent API requests
  - `max_tokens` integer, nullable — Max output tokens per chunk
  - `language` string, nullable — Caption/transcription language
  - `output_language` string, nullable — Summary output language
  - `force_download` boolean — Skip captions, download audio
  - `transcription` 'Cloud Whisper' | 'Local Whisper', nullable — Cloud Whisper or Local Whisper
  - `whisper_model` 'tiny' | 'base' | 'small' | 'medium' | 'large', nullable — Whisper model size
  - `speed` number, nullable — Playback speed for audio preprocessing or visual-mode video
  - `output_format` 'markdown' | 'json' | 'html', nullable — markdown, json, or html
  - `visual` boolean — Send video directly to vision model
  - `use_proxy` boolean, nullable — Route through Webshare proxy
  - `api_key` string, nullable — Override API key
  - `base_url` string, nullable — Override API base URL
  - `model` string, nullable — Override model name
  - `cobalt_url` string, nullable — Cobalt base URL
  - `verbose` boolean — Verbose progress output

## Response `200`

Successful Response

- BatchResponse
  - `success_count` integer, required
  - `total_count` integer, required
  - `results` BatchResult[], required
    - `source` string, required
    - `success` boolean, required
    - `summary` string, nullable
    - `error` string, nullable
    - `error_type` string, nullable
    - `processing_time_seconds` number, required
  - `overall_processing_time_seconds` number, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/martinopiaggi/apis/summarize-api.md) · [All operations](https://skmtc.net/martinopiaggi/apis/summarize-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/martinopiaggi/summarize-api/versions/abf737f34b72/schema)
