CLI и SDK
TypeScript клијент @sketchie/sdk и командна линија sketchie су танки, типизирани омотачи преко истог HTTP API-ја. Оба читају ваш кључ из SKETCHIE_API_KEY и подразумевано иду на https://sketchie.ai/api.
SDK и CLI се испоручују као део Sketchie алата. Ако ваш регистар још увек не разрешава пакет, можете их покренути из Sketchie репозиторијума помоћу bun. Сирово HTTP API данас ради из било ког језика.
TypeScript SDK
Направите клијента, генеришите објашњење са пријатељским пољима и сачекајте рендеровање.
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 да бисте додали верзију без трошења другог бесплатног места за израду видеа, или пошаљите упутство на једноставном језику. Прво поновно рендеровање сваког видеа је бесплатно. Каснија поновна рендеровања користе минуте плаћеног плана.
// 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); Навођење гласова
const voices = await client.listVoices();
// [{ id: 'sketchie:sulafat', name: 'Nora', isDefault: true, preview_url, ... }] Остале методе: getExplainer, listExplainers, revertExplainer, duplicateExplainer, и deleteExplainer.
Командна линија
# 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. Никада се не исписује у излазу. |