Video Summarization

March 10, 2026

Video Summarization

Submit a video link and receive an AI-generated structured overview, hashtags, and timeline highlights. The API supports videos from major platforms, Google Drive links, 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, Instagram, Zoom, Rumble, Google Drive 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/open/v2/summaries

Request Body

ParameterTypeRequiredDefaultDescription
video_urlstringYesThe source video URL or uploaded file identifier
target_langstringNoAuto-detectTarget language for the summary (see Supported Languages). When omitted, the original language is used.

Example Request

curl -X POST https://wayinvideo-api.wayin.ai/open/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

{
  "code": "0",
  "data": {
    "project_id": "sum_proj_001",
    "name": "sample project name",
    "status": "CREATED"
  },
  "message": "success"
}
FieldTypeDescription
project_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/open/v2/summaries/results/{project_id}

Path Parameters

ParameterTypeRequiredDescription
project_idstringYesThe task ID returned by the submit endpoint

Example Request

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

Response

{
  "code": "0",
  "data": {
    "summary_id": "sum_abc123",
    "status": "SUCCEEDED",
    "title": "sample title",
    "video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
    "summary": "sample description",
    "tags": ["machine learning", "AI", "tutorial"],
    "api_units_usage": 60,
    "highlights": [
      {
        "start": "00:02:30",
        "end": "00:05:45",
        "desc": "sample description",
        "highlight_summary": "sample description",
        "highlight_frame": {
          "raw": "https://cdn.example.com/frame/raw_001.jpg",
          "thumb": "https://cdn.example.com/frame/thumb_001.jpg"
        },
        "events": [
          {
            "timestamp": "00:03:15",
            "desc": "sample description",
            "event_summary": "sample description"
          }
        ]
      }
    ]
  },
  "message": "success"
}

Summary Response Fields

FieldTypeDescription
summary_idstringSummary identifier
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED
titlestringAI-generated title
video_thumbnailstringVideo thumbnail URL
summarystringFull text overview
tagsstring[]AI-generated hashtags
highlightsarrayTimeline highlight segments (see below)
api_units_usageintegerAPI units consumed for this request

Highlight Object

FieldTypeDescription
startstringStart timestamp (HH:MM:SS)
endstringEnd timestamp (HH:MM:SS)
descstringDescription of the highlight
highlight_summarystringDetailed summary of the segment
highlight_frameobjectFrame images (raw, thumb)
eventsarrayKey events within the highlight

Event Object

FieldTypeDescription
timestampstringEvent timestamp
descstringEvent description
event_summarystringDetailed event summary