Video Notes API
Kirim URL video atau file yang diunggah untuk menghasilkan informasi ringkasan dan, secara opsional, catatan AI terstruktur. Anda dapat menyesuaikan instruksi catatan, bahasa output, panjang yang diinginkan, stempel waktu, dan apakah frame yang relevan dari video sumber akan disertakan.
Setiap respons menyertakan ringkasan terstruktur, tagar, dan highlight timeline. Jika pembuatan catatan AI diaktifkan, respons juga menyertakan catatan dalam format Markdown dan teks biasa. Jika pembuatan catatan AI tidak diaktifkan, respons hanya berisi informasi terkait ringkasan.
Sumber Video yang Didukung
API menerima URL video dari YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble, dan lainnya.
Anda juga dapat memproses file video lokal yang Anda unggah — unggah lokal memerlukan paket Starter atau lebih tinggi.
Alur Kerja
- Kirim tugas Video Notes menggunakan URL video atau identifier file yang diunggah
- Polling endpoint hasil hingga
statusmenjadiSUCCEEDED
Kirim Tugas Video Notes
Buat tugas dengan atau tanpa pembuatan catatan AI. Sertakan note_params untuk menghasilkan catatan AI; abaikan parameter ini jika Anda hanya memerlukan ringkasan, tagar, dan highlight timeline.
POST https://wayinvideo-api.wayin.ai/api/v2/notes
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 ringkasan dan highlight yang dihasilkan (lihat Bahasa yang Didukung). Jika null, bahasa output mengikuti bahasa sumber yang terdeteksi. |
note_params | object | Tidak | null | Pengaturan pembuatan catatan AI. Abaikan objek ini untuk melewati pembuatan catatan AI. |
Parameter Catatan
| Parameter | Tipe | Wajib saat note_params diberikan | Default | Deskripsi |
|---|---|---|---|---|
enable_note | boolean | Ya | — | Atur ke true untuk menghasilkan catatan AI |
generate_params | object | Ya | — | Pengaturan pembuatan catatan AI |
Parameter Pembuatan Catatan
| Parameter | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
prompt | string | Ya | — | Instruksi yang menjelaskan struktur, konten, atau fokus catatan yang diinginkan |
language | string | Tidak | null | Bahasa output hanya untuk catatan AI; parameter ini tidak memengaruhi ringkasan atau highlight (lihat Bahasa yang Didukung) |
length_option | string | Ya | — | Panjang catatan yang diinginkan: short, medium, atau long |
include_timestamp | boolean | Ya | — | Apakah akan menambahkan stempel waktu video sumber ke bagian dan poin penting yang relevan agar pembaca dapat menemukan momen terkait dalam video |
image_visual | boolean | Tidak | false | Apakah akan menyertakan frame relevan yang diekstrak dari video sumber |
Contoh Permintaan
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"source_lang": "en",
"target_lang": "en",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": true,
"image_visual": false
}
}
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/notes",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"target_lang": "en",
"note_params": {
"enable_note": True,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": True,
},
},
},
)
await fetch('https://wayinvideo-api.wayin.ai/api/v2/notes', {
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',
note_params: {
enable_note: true,
generate_params: {
prompt: 'Organize the main ideas and action items',
language: 'en',
length_option: 'medium',
include_timestamp: true,
},
},
}),
});
Respons Pengiriman
{
"data": {
"id": "note_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Field | Tipe | Deskripsi |
|---|---|---|
id | string | Identifier tugas yang digunakan untuk mengambil hasil |
name | string | Nama tugas yang berasal dari video sumber |
status | string | Status awal tugas; tugas yang diterima mengembalikan CREATED |
Contoh
Contoh berikut menunjukkan penggunaan umum Video Notes. Ganti YOUR_API_KEY dengan kunci dari API Dashboard.
Hasilkan catatan ringkas dengan stempel waktu
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create concise notes covering the main ideas",
"length_option": "short",
"include_timestamp": true
}
}
}'
Hasilkan catatan rapat yang berorientasi pada tindakan
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "UPLOADED_FILE_ID",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create meeting notes with decisions, owners, and action items",
"length_option": "medium",
"include_timestamp": true
}
}
}'
Proses video tanpa catatan AI
Abaikan note_params untuk mengembalikan ringkasan, tagar, dan highlight timeline tanpa data catatan.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"target_lang": "en"
}'
Ambil Hasil Video Notes
Setelah mengirim tugas, lakukan polling pada endpoint ini hingga status menjadi SUCCEEDED. Respons yang berhasil berisi informasi ringkasan dan, jika diminta, catatan AI yang dihasilkan.
GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/{id}
Parameter Path
| Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
id | string | Ya | ID tugas yang dikembalikan endpoint pengiriman |
Permintaan Hasil
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
import requests
requests.get(
"https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
)
await fetch(
'https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001',
{
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
},
}
);
Contoh Respons Berhasil
{
"data": {
"summary_id": "vdsmr_001",
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"note_data": "# Main Ideas\n\n- **00:45** First key point\n- **03:20** Second key point",
"note_text": "Main Ideas\n\n00:45 First key point\n03:20 Second key point",
"tags": ["#topic1", "#topic2"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{
"timestamp": 45000,
"desc": "sample event description"
}
]
}
],
"cost_usage": 54.0
}
}
Field Respons
| Field | Tipe | Deskripsi |
|---|---|---|
summary_id | string | Identifier ringkasan yang dihasilkan |
status | string | Status tugas: CREATED, QUEUED, ONGOING, SUCCEEDED, atau FAILED |
error_message | string | Alasan error; hanya tersedia jika status adalah FAILED |
title | string | Judul yang dihasilkan AI |
video_thumbnail | string | URL thumbnail video sumber |
summary | string | Ringkasan terstruktur video |
note_data | string | Catatan AI dengan struktur Markdown yang dipertahankan, sesuai untuk rendering Markdown; tidak disertakan jika tidak diminta |
note_text | string | Versi teks biasa dari catatan AI tanpa sintaks Markdown; tidak disertakan jika tidak diminta |
tags | string[] | Tagar yang dihasilkan AI |
highlights | array | Bagian timeline dengan stempel waktu dan peristiwa penting |
cost_usage | number | Unit API yang digunakan tugas |
Objek Highlight
| Field | Tipe | Deskripsi |
|---|---|---|
start | number | Waktu mulai dalam milidetik |
end | number | Waktu berakhir dalam milidetik |
desc | string | Judul atau deskripsi bagian |
events | array | Peristiwa penting dalam highlight |
Objek Event
| Field | Tipe | Deskripsi |
|---|---|---|
timestamp | number | Waktu peristiwa dalam milidetik |
desc | string | Deskripsi peristiwa |
FAQ
Apa perbedaan antara Video Notes dan Video Summarization?
Video Summarization API menghasilkan ringkasan, tagar, dan highlight timeline. Video Notes API mengembalikan informasi ringkasan yang sama dan juga dapat menghasilkan catatan yang dapat disesuaikan dalam format Markdown dan teks biasa.
Apakah pembuatan catatan AI wajib?
Tidak. Abaikan note_params untuk mengembalikan informasi ringkasan tanpa catatan AI. Untuk menghasilkan catatan, berikan note_params, atur enable_note ke true, dan sertakan generate_params.prompt.
Apa perbedaan antara note_data dan note_text?
note_data mempertahankan struktur Markdown yang dihasilkan untuk merender heading, daftar, penekanan, dan format lainnya. note_text berisi catatan yang sama tanpa sintaks Markdown sehingga sesuai untuk indeks pencarian, embedding, pratinjau, atau penyimpanan teks biasa.
Bisakah saya mengontrol format catatan?
Bisa. Gunakan generate_params.prompt untuk instruksi, language untuk bahasa catatan, length_option untuk panjang yang diinginkan, include_timestamp untuk stempel waktu, dan image_visual untuk menyertakan frame video yang relevan.
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.