Sanggunian ng API

Bawat endpoint, kasama ang hugis ng request at response nito. Lahat ng ruta ay relatibo sa https://sketchie.ai/api.

Mga kombensyon

Bawat /v1/* endpoint ay nangangailangan ng Authorization: Bearer sk_... header. Bumabalik ang mga error bilang JSON na may error flag at isang message:

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

Ang mga generation endpoint ay limitado sa 20 request kada minuto. Lahat ng iba pang endpoint ay nagbabahagi ng limitasyong 200 kada minuto.

Gumawa ng explainer

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

Nagsisimula ng generation at nagbabalik ng 202 Accepted kasama ang naka-queue na record. I-poll ang kumuha ng explainer hanggang ito ay ready.

Request body
{
  "input": "Explain how DNS resolves a domain name",
  "length": "0:30",
  "aspect": "16:9",
  "voice": "sketchie:sulafat",
  "language": "en"
}
FieldUriMga tala
input string Kung ano ang ipapaliwanag. Isang maikling prompt o buong teksto ng dokumento. Kinakailangan maliban kung naroroon ang source o sceneGraph. Alias: prompt.
length string or number Target na haba bilang "M:SS" ("0:30", "1:00") o segundo. Isang positibong multiplo ng 30, hanggang 360. I-omit para sa awtomatikong haba. Alias: lengthSeconds (numero).
voice string Opsyonal. Isang voice ref. Default ay ang standard na tagapagsalaysay (Nora). Tingnan ang Mga boses.
language string Opsyonal. Isang suportadong language code (default en). Tingnan ang Mga wika.
aspect string Opsyonal. 16:9 (default), 9:16, o 1:1.
source string Opsyonal. Isang dokumento, artikulo, o transcript na gagawing explainer. Kapag naroroon, ang input ay nagiging opsyonal na gabay.
preset string Opsyonal na drawing style: marker (default), chalkboard, pencil, blueprint, crayon, clean.
fillMode string Opsyonal na reveal fill technique: A, B, C (default), o D.
sceneGraph object Opsyonal. Isang pre-authored na scene graph. Nilalaktawan ng worker ang graph generation at direktang nire-render ito, ngunit ang endpoint na ito ay gumagawa pa rin ng bagong explainer at gumagamit ng normal na libreng allowance o paid-plan quota ng tumatawag. Para mag-edit ng umiiral na explainer, gamitin ang i-edit ang explainer.

Ibinabalik ang record ng explainer: id, status, prompt, lengthSeconds, voice, language, aspect, videoUrl (null hanggang handa), at sceneGraph (null hanggang ma-generate). Bumabalik ang 400 para sa walang-lamang input na walang source, maling anyong length, o di-wastong aspect, preset, fillMode, o language.

Kumuha ng explainer

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

Ibinabalik ang buong record: kasalukuyang status, ang videoUrl kapag ready, ang na-e-edit na sceneGraph, ang kasaysayan ng bersyon (versions), at ang scene chunks ng head na bersyon. Ang nawawalang id ay nagbabalik ng 404.

Ilista ang mga explainer

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

Inililista ang mga explainer ng tumatawag na key, pinakabago muna. Naka-scope sa may-ari ng key. Ang limit ay nililimitahan sa 1 hanggang 100 (default 50). Nagbabalik ng magagaan na buod (walang scene graph o mga bersyon). Gamitin ang kumuha ng explainer para sa buong record.

I-edit ang explainer

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

Ang wedge ng pagiging maaaring i-edit. Gawing target na muling pag-render ang isang tagubilin sa payak na wika. Ang mga apektadong eksena lamang ang muling nire-render, na gumagawa ng bagong bersyon. Nagbabalik ng 202 kasama ang naka-queue na bersyon. I-poll ang kumuha ng explainer hanggang ang head na bersyon ay ready. Idinaragdag ito sa umiiral na video, kaya hindi ito gumagamit ng isa pang libreng-video na slot sa paggawa. Libre ang unang muling pag-render ng bawat video. Ang mga susunod ay gumagamit ng paid-plan na minuto, at hinihiling sa mga libreng account na magsimula ng plano. Dapat ang explainer ay ready na (kung hindi ay 409).

Request body
{ "instruction": "Make the title scene shorter and warmer" }

Ibalik sa isang bersyon

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

Muling itinuturo ang head sa isang mas naunang handang bersyon at isinasalamin ang graph at video nito sa record. Ang target ay dapat na isang ready na bersyon na may video (kung hindi ay 409).

Request body
{ "versionId": "..." }

Live status stream

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

Isang Server-Sent Events stream (text/event-stream). Magbukas ng isang koneksyon at bawat paglipat ng status sa alinman sa iyong mga explainer ay dumarating bilang isang event: status frame, kaya maaari mong i-update ang isang "video ready" na estado sa sandaling matapos ang worker sa halip na mag-poll. Ang stream ay naka-scope sa may-ari ng iyong key.

Mga boses

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

Ang catalog ng boses ng pagsasalaysay. Ang opsyonal na ?language=<code> ay sinasala sa mga boses na native sa wikang iyon. Nagbabalik ng voices (bawat isa ay may magiliw na name, ang id na ipapasa bilang voice, language, isDefault, at isang naipapatugtog na preview_url) kasama ang pandaigdigang default. Tingnan ang Mga boses.

Mga wika

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

Ang mga suportadong wika ng pagsasalaysay, bilang { code, label, native }. Bawat code ay isang wastong language sa paggawa. Tingnan ang Mga wika.

Estado ng account

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

Nagbabalik ng videosGenerated (habambuhay), ang image ng account, at isAdmin. Nangangailangan ng authentication.

Status ng billing

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

Nangangailangan ng authentication at nagbabalik ng 200 para sa libre at bayad na account. Ang libreng account ay nagbabalik ng plan: "free" na may videoAllowance, videosUsed, at videosRemaining. Ang bayad na account ay nagbabalik din ng planLabel, billingInterval, trialStatus, quotaMinutes, minutesUsedThisPeriod, minutesRemaining, at bonusMinutes.

Runtime config at kalusugan

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

Publiko. Nagbabalik ng { "authEnforced": true }. May liveness check sa GET /health.