Video Summarization API
Kirimkan video dengan panjang berapa pun dan terima ringkasan terstruktur, tagar, dan highlight timeline yang dihasilkan AI. API ini mendukung semua jenis konten mulai dari klip pendek hingga video berdurasi berjam-jam dari berbagai platform utama dan file yang diunggah secara lokal, beserta pengaturan bahasa.
Sumber Video yang Didukung
API menerima URL dari platform berikut: YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble, dan lainnya.
Anda juga dapat membuat ringkasan dari file video atau audio lokal yang Anda unggah — unggah lokal memerlukan paket Standard atau lebih tinggi.
Alur Kerja
- Kirim tugas ringkasan dari URL video
- Polling hasil hingga status menjadi
SUCCEEDED
Kirim Tugas Ringkasan
Kirimkan tugas ringkasan baru. Ini adalah titik masuk untuk semua fitur ringkasan.
POST https://wayinvideo-api.wayin.ai/api/v2/summaries
Body Permintaan
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
video_url | string | Ya | — | URL video sumber atau identifier file yang diunggah |
source_lang | string | Tidak | null | Bahasa sumber video (lihat Bahasa yang Didukung). Jika null, sistem mendeteksi bahasa asli secara otomatis. |
target_lang | string | Tidak | null | Bahasa target untuk konten output termasuk ringkasan, deskripsi, dan highlight (lihat Bahasa yang Didukung). Jika null, bahasa output mengikuti source_lang. |
Contoh Permintaan
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"
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/summaries",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en",
},
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/summaries", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
"Content-Type": "application/json",
},
body: JSON.stringify({
video_url: "https://www.youtube.com/watch?v=example",
target_lang: "en",
}),
});
Respons
{
"data": {
"id": "sum_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | Identifier tugas (digunakan dalam permintaan berikutnya) |
name | string | Nama tugas |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
Contoh
Skenario ringkasan yang umum. Ganti YOUR_API_KEY dengan kunci dari API Dashboard.
Ringkas video YouTube
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Ringkas episode podcast yang panjang
Podcast berdurasi beberapa jam bekerja dengan cara yang sama — kirim dan lakukan polling. Respons menyertakan highlight timeline sehingga Anda dapat menavigasi audio berjam-jam dengan cepat.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Ringkas webinar dalam bahasa lain
Atur target_lang untuk menerjemahkan ringkasan, highlight, dan deskripsi ke bahasa target meskipun video sumber dalam bahasa yang berbeda.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"source_lang": "en",
"target_lang": "ja"
}'
Ambil Hasil Ringkasan
Ambil ringkasan, highlight, dan tagar. Lakukan polling hingga status menjadi SUCCEEDED.
GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{id}
Parameter Path
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Ya | ID tugas yang dikembalikan oleh endpoint pengiriman |
Contoh Permintaan
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"
Respons
{
"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
}
}
Field Respons Ringkasan
| Field | Tipe | Deskripsi |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Alasan error (hanya ada saat status adalah FAILED) |
title | string | Judul yang dihasilkan AI |
video_thumbnail | string | URL thumbnail video |
summary | string | Ringkasan teks lengkap |
tags | string[] | Tagar yang dihasilkan AI |
highlights | array | Segmen highlight timeline (lihat di bawah) |
cost_usage | number | Kredit API yang digunakan untuk permintaan ini |
Objek Highlight
| Field | Tipe | Deskripsi |
|---|---|---|
start | number | Waktu mulai dalam milidetik |
end | number | Waktu berakhir dalam milidetik |
desc | string | Judul / deskripsi bagian |
events | array | Peristiwa kunci dalam highlight |
Objek Event
| Field | Tipe | Deskripsi |
|---|---|---|
timestamp | number | Waktu peristiwa dalam milidetik |
desc | string | Deskripsi peristiwa |
FAQ
Berapa panjang video maksimum?
Tidak ada batasan panjang yang tegas. API ini mendukung klip pendek maupun video berdurasi panjang, termasuk episode podcast, webinar lengkap, rekaman kuliah, dan replay live-stream.
Apa isi respons ringkasan?
Ringkasan terstruktur, tagar, dan timeline segmen highlight dengan stempel waktu mulai/akhir dan deskripsi. Highlight memudahkan pembuatan UI timeline atau pembuatan penanda chapter otomatis.
Bisakah saya mendapatkan ringkasan dalam bahasa yang berbeda dari sumbernya?
Bisa — berikan target_lang untuk menerjemahkan ringkasan, deskripsi, dan highlight ke bahasa target meskipun video sumber dalam bahasa yang berbeda.
Sumber video apa saja yang didukung?
URL dari YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble, dan lainnya, ditambah unggahan file lokal melalui Upload API.