Video Summarization API

March 16, 2026

Video Summarization API

Submit a video of any length and receive an AI-generated structured overview, hashtags, and timeline highlights. The API supports everything from short clips to hours-long videos across major platforms and locally uploaded files, along with language settings.

Supported Video Sources

The API accepts URLs from the following platforms: YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble and more.

You can also use locally uploaded files. Local upload requires a Standard plan or above. See the Upload API for details.

Workflow

  1. Submit a summarization task from a video URL
  2. Poll the results until status is SUCCEEDED

Submit Summarization Task

Submit a new summarization task. This is the entry point for all summarization features.

POST https://wayinvideo-api.wayin.ai/api/v2/summaries

Request Body

ParameterTypeRequiredDefaultDescription
video_urlstringYesThe source video URL or uploaded file identifier
source_langstringNonullSource language of the video (see Supported Languages). When null, the system auto-detects the original language.
target_langstringNonullTarget language for output content including summary, descriptions, and highlights (see Supported Languages). When null, the output language matches source_lang.

Example Request

curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2" \
  -d '{
    "video_url": "https://www.youtube.com/watch?v=example",
    "target_lang": "en"
  }'

Response

{
  "data": {
    "id": "sum_proj_001",
    "name": "sample project name",
    "status": "CREATED"
  }
}
FieldTypeDescription
idstringTask identifier (used in subsequent requests)
namestringTask name
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED

Get Summary Results

Retrieve the summary, highlights, and tags. Poll until status is SUCCEEDED.

GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{id}

Path Parameters

ParameterTypeRequiredDescription
idstringYesThe task ID returned by the submit endpoint

Example Request

curl -X GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/sum_proj_001 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-wayinvideo-api-version: v2"

Response

{
  "data": {
    "status": "SUCCEEDED",
    "title": "sample title",
    "video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
    "summary": "sample summary text",
    "tags": ["#topic1", "#topic2", "#topic3"],
    "highlights": [
      {
        "start": 0,
        "end": 196000,
        "desc": "sample section title",
        "events": [
          {
            "timestamp": 160,
            "desc": "sample event description"
          },
          {
            "timestamp": 17920,
            "desc": "sample event description"
          }
        ]
      }
    ],
    "cost_usage": 54.0
  }
}

Summary Response Fields

FieldTypeDescription
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED
error_messagestringError reason (only present when status is FAILED)
titlestringAI-generated title
video_thumbnailstringVideo thumbnail URL
summarystringFull text overview
tagsstring[]AI-generated hashtags
highlightsarrayTimeline highlight segments (see below)
cost_usagenumberAPI units consumed for this request

Highlight Object

FieldTypeDescription
startnumberStart time in milliseconds
endnumberEnd time in milliseconds
descstringSection title / description
eventsarrayKey events within the highlight

Event Object

FieldTypeDescription
timestampnumberEvent time in milliseconds
descstringEvent description