Referensi API

Setiap endpoint, dengan bentuk permintaan dan responsnya. Semua rute relatif terhadap https://sketchie.ai/api.

Konvensi

Setiap endpoint /v1/* memerlukan header Authorization: Bearer sk_.... Kesalahan kembali sebagai JSON dengan flag error dan sebuah message:

Respons kesalahan
{
  "error": true,
  "message": "length must be a positive multiple of 30 seconds, at most 360"
}

Endpoint pembuatan dibatasi 20 permintaan per menit. Semua endpoint lain berbagi batas 200 per menit.

Membuat penjelas

POST https://sketchie.ai/api/v1/explainer

Memulai pembuatan dan mengembalikan 202 Accepted dengan catatan yang mengantre. Pantau mengambil penjelas sampai ready.

Body permintaan
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
FieldTipeCatatan
input string Apa yang dijelaskan. Prompt singkat atau teks dokumen lengkap. Wajib kecuali source atau sceneGraph hadir. Alias: prompt.
length string or number Durasi target sebagai "M:SS" ("0:30", "1:00") atau detik. Kelipatan positif 30, hingga 360. Hilangkan untuk durasi otomatis. Alias: lengthSeconds (angka).
voice string Opsional. Sebuah ref suara. Bawaannya narator standar (Nora). Lihat Suara.
language string Opsional. Kode bahasa yang didukung (bawaan en). Lihat Bahasa.
aspect string Opsional. 16:9 (bawaan), 9:16, atau 1:1.
source string Opsional. Dokumen, artikel, atau transkrip untuk diubah menjadi penjelas. Bila hadir, input menjadi panduan opsional.
preset string Gaya gambar opsional: marker (bawaan), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Teknik isian pengungkapan opsional: A, B, C (bawaan), atau D.
sceneGraph object Opsional. Scene graph yang sudah disusun sebelumnya. Worker melewati pembuatan graf dan merendernya langsung, tetapi endpoint ini tetap membuat penjelas baru dan memakai jatah gratis normal atau kuota paket berbayar pemanggil. Untuk mengedit penjelas yang ada, gunakan mengedit penjelas.

Mengembalikan catatan penjelas: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null hingga siap), dan sceneGraph (null hingga dibuat). 400 kembali untuk input kosong tanpa source, length yang salah bentuk, atau aspect, preset, fillMode, atau language yang tidak valid.

Mengambil penjelas

GET https://sketchie.ai/api/v1/explainer/:id

Mengembalikan catatan lengkap: status saat ini, videoUrl setelah ready, sceneGraph yang bisa diedit, riwayat versi (versions), dan chunks adegan dari versi utama. id yang hilang mengembalikan 404.

Mendaftar penjelas

GET https://sketchie.ai/api/v1/explainer?limit=50

Mendaftar penjelas milik kunci pemanggil, terbaru dulu. Dibatasi ke pemilik kunci. limit dijepit dari 1 hingga 100 (bawaan 50). Mengembalikan ringkasan ringan (tanpa scene graph atau versi). Gunakan mengambil penjelas untuk catatan lengkap.

Mengedit penjelas

POST https://sketchie.ai/api/v1/explainer/:id/edit

Baji editabilitas. Ubah instruksi berbahasa sehari-hari menjadi render ulang tertarget. Hanya adegan yang terpengaruh yang dirender ulang, menghasilkan versi baru. Mengembalikan 202 dengan versi yang mengantre. Pantau mengambil penjelas sampai versi utama ready. Ini menambah ke video yang ada, jadi tidak memakai slot pembuatan video gratis lagi. Render ulang pertama setiap video gratis. Yang berikutnya memakai menit paket berbayar, dan akun gratis diminta memulai paket. Penjelas harus sudah ready (jika tidak 409).

Body permintaan
{ "instruction": "Make the title scene shorter and warmer" }

Mengembalikan ke sebuah versi

POST https://sketchie.ai/api/v1/explainer/:id/revert

Mengarahkan ulang versi utama ke versi siap sebelumnya dan mencerminkan graf dan videonya ke catatan. Targetnya harus versi ready dengan video (jika tidak 409).

Body permintaan
{ "versionId": "..." }

Aliran status langsung

GET https://sketchie.ai/api/v1/explainer/events

Aliran Server-Sent Events (text/event-stream). Buka satu koneksi dan setiap transisi status pada penjelas mana pun milik Anda tiba sebagai frame event: status, jadi Anda bisa memperbarui keadaan "video siap" saat worker selesai alih-alih memantau. Aliran dibatasi ke pemilik kunci Anda.

Suara

GET https://sketchie.ai/api/v1/voices

Katalog suara narasi. ?language=<code> opsional memfilter ke suara asli bahasa itu. Mengembalikan voices (masing-masing dengan name ramah, id untuk dikirim sebagai voice, language, isDefault, dan preview_url yang bisa diputar) plus default global. Lihat Suara.

Bahasa

GET https://sketchie.ai/api/v1/languages

Bahasa narasi yang didukung, sebagai { code, label, native }. Setiap code adalah nilai language yang valid saat membuat. Lihat Bahasa.

Keadaan akun

GET https://sketchie.ai/api/v1/account/state

Mengembalikan videosGenerated (seumur hidup), image akun, dan isAdmin. Memerlukan autentikasi.

Status tagihan

GET https://sketchie.ai/api/v1/billing/status

Memerlukan autentikasi dan mengembalikan 200 untuk akun gratis maupun berbayar. Akun gratis mengembalikan plan: "free" dengan videoAllowance, videosUsed, dan videosRemaining. Akun berbayar juga mengembalikan planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining, dan bonusMinutes.

Config runtime dan kesehatan

GET https://sketchie.ai/api/config

Publik. Mengembalikan { "authEnforced": true }. Pemeriksaan liveness ada di GET /health.