CLI і SDK

Кліент TypeScript @sketchie/sdk і каманднай радок sketchie — гэта тонкія, тыпізаваныя абалонкі над тым жа HTTP API. Абодва чытаюць ваш ключ з SKETCHIE_API_KEY і па змаўчанні звяртаюцца да https://sketchie.ai/api.

SDK і CLI пастаўляюцца як частка набору інструментаў Sketchie. Калі ваш рэестр яшчэ не вырашае пакет, вы можаце запусціць іх з рэпазітарыя Sketchie з дапамогай bun. Неапрацаванае HTTP API сёння працуе з любой мовы.

TypeScript SDK

Стварыце кліента, згенеруйце тлумачэнне з дружалюбнымі палямі і дачакайцеся рэндэра.

sketchie.ts
import { SketchieClient } from '@sketchie/sdk';

const client = new SketchieClient({
  apiKey: process.env.SKETCHIE_API_KEY, // Bearer sk_...
  // baseUrl defaults to https://sketchie.ai/api
});

// Friendly fields: input (the topic) and length ("M:SS", a multiple of 30).
const created = await client.createExplainer({
  input: 'Explain how DNS resolves a domain name',
  length: '0:30',
  aspect: '16:9',
});

// Poll until the render finishes (or fails).
const done = await client.waitForExplainer(created.id, {
  onUpdate: (e) => console.log(e.status),
});

console.log(done.videoUrl);   // the rendered MP4
console.log(done.sceneGraph); // the editable scene graph

Цыкл рэдагавання і паўторнага рэндэра

Клін рэдагавальнасці: завершанае тлумачэнне вяртае свой sceneGraph. Зафіксуйце яго з дапамогай editExplainerGraph, каб дадаць версію без выкарыстання яшчэ аднаго бясплатнага слота стварэння відэа, або адпраўце інструкцыю на простай мове. Першы паўторны рэндэр кожнага відэа бясплатны. Наступныя паўторныя рэндэры выкарыстоўваюць хвіліны платнага плана.

edit.ts
// After a video is ready you get back its editable sceneGraph.
// Edit it, then append a new version to the existing explainer.
const edited = editScenes(done.sceneGraph!); // your UI edits the graph
const rerender = await client.editExplainerGraph(done.id, edited);
await client.waitForVersion(done.id, rerender.id);

// Or apply a plain-language instruction (a targeted re-render):
const version = await client.editExplainer(done.id, 'make scene 2 shorter');
await client.waitForVersion(done.id, version.id);

Спіс галасоў

voices.ts
const voices = await client.listVoices();
// [{ id: 'sketchie:sulafat', name: 'Nora', isDefault: true, preview_url, ... }]

Іншыя метады: getExplainer, listExplainers, revertExplainer, duplicateExplainer, і deleteExplainer.

Каманды радок

Terminal
# Discover voices
sketchie voices

# Generate (returns the queued record immediately)
sketchie generate "Explain how DNS resolves a domain name" --length 0:30 --aspect 16:9

# Generate and wait for the finished render
sketchie generate "Explain how DNS resolves" --length 1:00 --wait

# Status of an existing explainer
sketchie status <id>

# Conversational edit (a targeted re-render)
sketchie edit <id> "make the title scene shorter" --wait

# List your explainers
sketchie list --limit 20

Сцягі і асяроддзе

СцягЗначэнне
--length <M:SS|sec> Мэтавая працягласць, напр. 0:30, 1:00, або секунды. Дадатны кратны 30. Прапусціце для аўта.
--aspect <ratio> 16:9 (па змаўчанні), 9:16, або 1:1.
--voice <ref> Спасылка на голас (гл. sketchie voices). Неабавязкова; па змаўчанні Nora.
--limit <n> Максімум радкоў для list, ад 1 да 100 (па змаўчанні 50).
--wait Апытвае, пакуль рэндэр не завершыцца ці не заваліцца.
--json Машыначытальны вывад у stdout.
--api-url <url> Базавы URL API, уключаючы прэфікс /api. Env: SKETCHIE_API_URL.
--api-key <key> Ваш ключ API. Env: SKETCHIE_API_KEY. Ніколі не выводзіцца.