---
title: "Get Public Video Summary Endpoint"
method: GET
path: "/videos/{video_id}/summary"
tags: ["public-videos"]
---

# Get Public Video Summary Endpoint

`GET /videos/{video_id}/summary`

## Request

- Base URL: `https://api.sumvid.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sumvid.app/videos/{video_id}/summary`
- Auth: none declared

Read an available summary without generating work.

Pass the reader's preference as `lang` (default English). Prefer that
language, then English, then the newest available summary. The response
reports fallback and translation availability, without private job ids.
Poll this read after requesting a translation; it always reflects the DB.

## Path parameters

- `video_id` string, required

## Query parameters

- `lang` string, nullable

## Response `200`

Successful Response

- PublicVideoSummary
  - `youtube_video_id` string, required
  - `video_url` string, required
  - `title` string, nullable
  - `original_title` string, nullable
  - `channel` string, nullable
  - `thumbnail_url` string, nullable
  - `duration_seconds` integer, nullable
  - `first_transcribed_at` string, date-time, required
  - `published_at` string, date-time, nullable
  - `summary` string, required
  - `provider` string, required
  - `model` string, required
  - `summarized_at` string, date-time, required
  - `language_code` string, nullable
  - `requested_language` string, nullable
  - `available_languages` string[]
  - `translation_status` 'available' | 'missing' | 'in_progress'
  - `is_fallback` boolean
  - `request_count` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sumvid/apis/summarize-vid.md) · [All operations](https://skmtc.dev/sumvid/apis/summarize-vid/llms.txt) · [OpenAPI document](https://skmtc.dev/sumvid/apis/summarize-vid/revisions/c03d66e07deb?raw)
