Video Notes API

September 22, 2026

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

  1. Kirim tugas Video Notes menggunakan URL video atau identifier file yang diunggah
  2. Polling endpoint hasil hingga status menjadi SUCCEEDED

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

ParameterTipeWajibDefaultDeskripsi
video_urlstringYa—URL video sumber atau identifier file yang diunggah
source_langstringTidaknullBahasa sumber video (lihat Bahasa yang Didukung). Jika null, sistem mendeteksi bahasa asli secara otomatis.
target_langstringTidaknullBahasa target untuk ringkasan dan highlight yang dihasilkan (lihat Bahasa yang Didukung). Jika null, bahasa output mengikuti bahasa sumber yang terdeteksi.
note_paramsobjectTidaknullPengaturan pembuatan catatan AI. Abaikan objek ini untuk melewati pembuatan catatan AI.

Parameter Catatan

ParameterTipeWajib saat note_params diberikanDefaultDeskripsi
enable_notebooleanYa—Atur ke true untuk menghasilkan catatan AI
generate_paramsobjectYa—Pengaturan pembuatan catatan AI

Parameter Pembuatan Catatan

ParameterTipeWajibDefaultDeskripsi
promptstringYa—Instruksi yang menjelaskan struktur, konten, atau fokus catatan yang diinginkan
languagestringTidaknullBahasa output hanya untuk catatan AI; parameter ini tidak memengaruhi ringkasan atau highlight (lihat Bahasa yang Didukung)
length_optionstringYa—Panjang catatan yang diinginkan: short, medium, atau long
include_timestampbooleanYa—Apakah akan menambahkan stempel waktu video sumber ke bagian dan poin penting yang relevan agar pembaca dapat menemukan momen terkait dalam video
image_visualbooleanTidakfalseApakah 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"
  }
}
FieldTipeDeskripsi
idstringIdentifier tugas yang digunakan untuk mengambil hasil
namestringNama tugas yang berasal dari video sumber
statusstringStatus 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

ParameterTipeWajibDeskripsi
idstringYaID 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

FieldTipeDeskripsi
summary_idstringIdentifier ringkasan yang dihasilkan
statusstringStatus tugas: CREATED, QUEUED, ONGOING, SUCCEEDED, atau FAILED
error_messagestringAlasan error; hanya tersedia jika status adalah FAILED
titlestringJudul yang dihasilkan AI
video_thumbnailstringURL thumbnail video sumber
summarystringRingkasan terstruktur video
note_datastringCatatan AI dengan struktur Markdown yang dipertahankan, sesuai untuk rendering Markdown; tidak disertakan jika tidak diminta
note_textstringVersi teks biasa dari catatan AI tanpa sintaks Markdown; tidak disertakan jika tidak diminta
tagsstring[]Tagar yang dihasilkan AI
highlightsarrayBagian timeline dengan stempel waktu dan peristiwa penting
cost_usagenumberUnit API yang digunakan tugas

Objek Highlight

FieldTipeDeskripsi
startnumberWaktu mulai dalam milidetik
endnumberWaktu berakhir dalam milidetik
descstringJudul atau deskripsi bagian
eventsarrayPeristiwa penting dalam highlight

Objek Event

FieldTipeDeskripsi
timestampnumberWaktu peristiwa dalam milidetik
descstringDeskripsi 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.