ข้อมูลอ้างอิง API

ทุกเอนด์พอยต์พร้อมรูปแบบคำขอและการตอบกลับ ทุกเส้นทางสัมพัทธ์กับ https://sketchie.ai/api

ข้อกำหนด

ทุกเอนด์พอยต์ /v1/* ต้องการส่วนหัว Authorization: Bearer sk_... ข้อผิดพลาดกลับมาเป็น JSON พร้อมแฟล็ก error และ message:

การตอบกลับข้อผิดพลาด
{
  "error": true,
  "message": "length must be a positive multiple of 30 seconds, at most 360"
}

เอนด์พอยต์การสร้างถูกจำกัดอัตราที่ 20 คำขอต่อนาที เอนด์พอยต์อื่นทั้งหมดใช้ขีดจำกัดร่วม 200 ต่อนาที

สร้างวิดีโออธิบาย

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

เริ่มการสร้างและคืน 202 Accepted พร้อมเรกคอร์ดที่เข้าคิว สำรวจ รับวิดีโออธิบาย จนกว่าจะเป็น ready

เนื้อความคำขอ
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
ฟิลด์ชนิดหมายเหตุ
input string สิ่งที่จะอธิบาย พรอมต์สั้นหรือข้อความเอกสารเต็ม จำเป็นเว้นแต่มี source หรือ sceneGraph ชื่อแทน: prompt
length string or number ความยาวเป้าหมายเป็น "M:SS" ("0:30", "1:00") หรือวินาที พหุคูณบวกของ 30 สูงสุด 360 ละไว้เพื่อความยาวอัตโนมัติ ชื่อแทน: lengthSeconds (ตัวเลข)
voice string ทางเลือก การอ้างอิงเสียง ค่าเริ่มต้นคือผู้บรรยายมาตรฐาน (Nora) ดู เสียง
language string ทางเลือก รหัสภาษาที่รองรับ (ค่าเริ่มต้น en) ดู ภาษา
aspect string ทางเลือก 16:9 (ค่าเริ่มต้น), 9:16 หรือ 1:1
source string ทางเลือก เอกสาร บทความ หรือถอดเสียงเพื่อแปลงเป็นวิดีโออธิบาย เมื่อมีอยู่ input จะกลายเป็นแนวทางทางเลือก
preset string สไตล์การวาดทางเลือก: marker (ค่าเริ่มต้น), chalkboard, pencil, blueprint, crayon, clean
fillMode string เทคนิคการเติมการเปิดเผยทางเลือก: A, B, C (ค่าเริ่มต้น) หรือ D
sceneGraph object ทางเลือก scene graph ที่เขียนไว้ล่วงหน้า worker ข้ามการสร้างกราฟและเรนเดอร์โดยตรง แต่เอนด์พอยต์นี้ยังคงสร้างวิดีโออธิบายใหม่และใช้โควตาฟรีปกติหรือโควตาแผนแบบชำระเงินของผู้เรียก ในการแก้ไขวิดีโออธิบายที่มีอยู่ ใช้ แก้ไขวิดีโออธิบาย

คืนเรกคอร์ดวิดีโออธิบาย: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null จนพร้อม) และ sceneGraph (null จนถูกสร้าง) 400 กลับมาสำหรับ input ว่างที่ไม่มี source, length ที่ผิดรูปแบบ, หรือ aspect, preset, fillMode หรือ language ที่ไม่ถูกต้อง

รับวิดีโออธิบาย

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

คืนเรกคอร์ดเต็ม: status ปัจจุบัน, videoUrl เมื่อ ready, sceneGraph ที่แก้ไขได้, ประวัติเวอร์ชัน (versions), และ chunks ฉากของเวอร์ชันหลัก id ที่ไม่มีคืน 404

แสดงรายการวิดีโออธิบาย

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

แสดงรายการวิดีโออธิบายของคีย์ที่เรียก ใหม่สุดก่อน จำกัดที่เจ้าของคีย์ limit ถูกจำกัดจาก 1 ถึง 100 (ค่าเริ่มต้น 50) คืนสรุปแบบเบา (ไม่มี scene graph หรือเวอร์ชัน) ใช้ รับวิดีโออธิบาย สำหรับเรกคอร์ดเต็ม

แก้ไขวิดีโออธิบาย

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

ลิ่มของความสามารถในการแก้ไข เปลี่ยนคำสั่งภาษาธรรมดาเป็นการเรนเดอร์ใหม่แบบมีเป้าหมาย เฉพาะฉากที่ได้รับผลกระทบเท่านั้นที่เรนเดอร์ใหม่ ผลิตเวอร์ชันใหม่ คืน 202 พร้อมเวอร์ชันที่เข้าคิว สำรวจ รับวิดีโออธิบาย จนกว่าเวอร์ชันหลักจะ ready สิ่งนี้ต่อท้ายวิดีโอที่มีอยู่ จึงไม่ใช้ช่องสร้างวิดีโอฟรีอีกช่อง การเรนเดอร์ใหม่ครั้งแรกของแต่ละวิดีโอฟรี ครั้งต่อไปใช้นาทีแผนแบบชำระเงิน และบัญชีฟรีจะถูกขอให้เริ่มแผน วิดีโออธิบายต้องเป็น ready อยู่แล้ว (มิฉะนั้น 409)

เนื้อความคำขอ
{ "instruction": "Make the title scene shorter and warmer" }

ย้อนกลับไปเวอร์ชัน

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

ชี้หัวกลับไปยังเวอร์ชันที่พร้อมก่อนหน้าและสะท้อนกราฟและวิดีโอของมันลงในเรกคอร์ด เป้าหมายต้องเป็นเวอร์ชัน ready ที่มีวิดีโอ (มิฉะนั้น 409)

เนื้อความคำขอ
{ "versionId": "..." }

สตรีมสถานะสด

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

สตรีม Server-Sent Events (text/event-stream) เปิดหนึ่งการเชื่อมต่อและทุกการเปลี่ยนสถานะบนวิดีโออธิบายใดๆ ของคุณมาถึงเป็นเฟรม event: status คุณจึงอัปเดตสถานะ "วิดีโอพร้อม" ในทันทีที่ worker เสร็จแทนการสำรวจ สตรีมถูกจำกัดที่เจ้าของคีย์ของคุณ

เสียง

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

แคตตาล็อกเสียงบรรยาย ?language=<code> ทางเลือกกรองไปยังเสียงเจ้าของภาษานั้น คืน voices (แต่ละเสียงมี name ที่ใช้ง่าย, id ที่ส่งเป็น voice, language, isDefault, และ preview_url ที่เล่นได้) พร้อม default ส่วนกลาง ดู เสียง

ภาษา

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

ภาษาบรรยายที่รองรับ เป็น { code, label, native } ทุก code เป็น language ที่ถูกต้องตอนสร้าง ดู ภาษา

สถานะบัญชี

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

คืน videosGenerated (ตลอดชีพ), image บัญชี, และ isAdmin ต้องมีการยืนยันตัวตน

สถานะการเรียกเก็บเงิน

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

ต้องมีการยืนยันตัวตนและคืน 200 สำหรับทั้งบัญชีฟรีและแบบชำระเงิน บัญชีฟรีคืน plan: "free" พร้อม videoAllowance, videosUsed, และ videosRemaining บัญชีแบบชำระเงินยังคืน planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining, และ bonusMinutes

การตั้งค่ารันไทม์และสุขภาพ

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

สาธารณะ คืน { "authEnforced": true } การตรวจสอบการมีชีวิตอยู่ที่ GET /health