Introduction

March 10, 2026

Introduction

The WayinVideo API enables everyone to integrate AI-powered video processing into their automation workflows. Submit a video URL or uploaded file, and receive AI-generated clips, summaries, transcripts, and more.

Key Capabilities

  • AI Clipping: Submit a long video and receive all clips ranked by viral potential, with auto-detected start/end timestamps, AI-generated titles, descriptions, and hashtags. Optionally export rendered clip videos.
  • Find Moments: Describe the moments you want in natural language — such as "funny moments" or "talking about some topic" — and the API finds and extracts matching clips with timestamps, titles, and descriptions. Optionally export rendered clip videos.
  • Video Summarization: Generate a structured overview, hashtags, and timeline highlights from any video.
  • Video Transcription: Extract transcripts with speaker identification from video or audio content.

Supported Video Sources

The API accepts URLs from the following platforms:

  • YouTube
  • Vimeo
  • Dailymotion
  • Kick
  • Rumble
  • Zoom
  • Twitch
  • TikTok
  • Facebook

More platforms are coming soon.

You can also use locally uploaded files. See the Upload API for details.

Base URL

All API requests are made to:

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

Request Format

The API is RESTful and accepts JSON-formatted request bodies. All requests must include the following headers:

Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
x-wayinvideo-api-version: v2

Response Format

Success (HTTP 200)

When the request succeeds, the API returns HTTP status 200 and a JSON body containing only the payload in data:

{
  "data": {
    "project_id": "prj06928fdjqqaza",
    "name": "Sample project name",
    "status": "SUCCEEDED"
  }
}

The structure of data varies by endpoint; see each API’s documentation for details. For error responses and other HTTP status codes, see Status Codes.

Status Lifecycle

Many endpoints return an asynchronous processing status. The lifecycle is:

CREATED → QUEUED → ONGOING → SUCCEEDED / FAILED

Use polling to check the status until it reaches SUCCEEDED or FAILED. When a task fails, the response data includes an error_message field describing the reason.