Справочник за API
Всеки endpoint с формата на заявката и отговора му. Всички маршрути са относителни спрямо https://sketchie.ai/api.
Конвенции
Всеки endpoint /v1/* изисква хедъра Authorization: Bearer sk_.... Грешките се връщат като JSON с флаг error и message:
{
"error": true,
"message": "length must be a positive multiple of 30 seconds, at most 360"
} Endpoint-ите за генериране са ограничени до 20 заявки в минута. Всички други endpoint-и споделят лимит от 200 в минута.
Създаване на обяснение
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. Работникът пропуска генерирането на графа и го рендира директно, но този endpoint все пак създава ново обяснение и изразходва нормалната безплатна квота или квотата на платения план на извикващия. За да редактирате съществуващо обяснение, използвайте редактиране на обяснение. |
Връща записа на обяснението: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null до готовност) и sceneGraph (null до генериране). 400 се връща за празен input без source, зле форматиран length, или невалиден aspect, preset, fillMode или language.
Вземане на обяснение
https://sketchie.ai/api/v1/explainer/:id Връща пълния запис: текущ status, videoUrl след ready, редактируемия sceneGraph, историята на версиите (versions) и сцените chunks на главната версия. Липсващо id връща 404.
Списък на обясненията
https://sketchie.ai/api/v1/explainer?limit=50 Изброява обясненията на извикващия ключ, най-новите първи. Ограничено до собственика на ключа. limit се ограничава от 1 до 100 (по подразбиране 50). Връща леки резюмета (без scene graph или версии). За пълния запис използвайте вземане на обяснение.
Редактиране на обяснение
https://sketchie.ai/api/v1/explainer/:id/edit Клинът на редактируемостта. Превърнете инструкция на прост език в целенасочено пре-рендиране. Само засегнатите сцени се рендират отново, създавайки нова версия. Връща 202 с версията в опашката. Запитвайте вземане на обяснение, докато главната версия е ready. Това се добавя към съществуващото видео, така че не изразходва друг слот за създаване на безплатно видео. Първото пре-рендиране на всяко видео е безплатно. По-късните използват минути от платения план, а безплатните акаунти биват помолени да започнат план. Обяснението вече трябва да е ready (иначе 409).
{ "instruction": "Make the title scene shorter and warmer" } Връщане към версия
https://sketchie.ai/api/v1/explainer/:id/revert Пренасочва главата към по-ранна готова версия и огледава нейния граф и видео върху записа. Целта трябва да е ready версия с видео (иначе 409).
{ "versionId": "..." } Поток на статус на живо
https://sketchie.ai/api/v1/explainer/events Поток Server-Sent Events (text/event-stream). Отворете една връзка и всеки преход на статус на което и да е от вашите обяснения пристига като кадър event: status, така че можете да актуализирате състояние "видео готово" в момента, в който работникът приключи, вместо да запитвате. Потокът е ограничен до собственика на вашия ключ.
Гласове
https://sketchie.ai/api/v1/voices Каталогът с гласове за разказ. Незадължителният ?language=<code> филтрира по гласове, родни за този език. Връща voices (всеки с удобно name, id за подаване като voice, language, isDefault и възпроизводим preview_url) плюс глобалния default. Вижте Гласове.
Езици
https://sketchie.ai/api/v1/languages Поддържаните езици за разказ, като { code, label, native }. Всеки code е валиден language при създаване. Вижте Езици.
Състояние на акаунта
https://sketchie.ai/api/v1/account/state Връща videosGenerated (за целия живот), image на акаунта и isAdmin. Изисква удостоверяване.
Статус на таксуване
https://sketchie.ai/api/v1/billing/status Изисква удостоверяване и връща 200 както за безплатни, така и за платени акаунти. Безплатен акаунт връща plan: "free" с videoAllowance, videosUsed и videosRemaining. Платен акаунт връща също planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining и bonusMinutes.
Конфигурация по време на изпълнение и здраве
https://sketchie.ai/api/config Публично. Връща { "authEnforced": true }. Проверка за живост има на GET /health.