Video Summarization API

March 16, 2026

Video Summarization API

Submit a video link and receive an AI-generated structured overview, hashtags, and timeline highlights. The API supports videos from 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