CLI i SDK

TypeScript klijent @sketchie/sdk i naredbeni redak sketchie tanki su, tipizirani omoti preko istog HTTP API-ja. Oba čitaju vaš ključ iz SKETCHIE_API_KEY i zadano idu na https://sketchie.ai/api.

SDK i CLI isporučuju se kao dio Sketchie alata. Ako vaš registar još ne razrješava paket, možete ih pokrenuti iz Sketchie repozitorija pomoću bun. Sirovi HTTP API danas radi iz bilo kojeg jezika.

TypeScript SDK

Stvorite klijenta, generirajte objašnjenje s prijateljskim poljima i pričekajte renderiranje.

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

Petlja uređivanja i ponovnog renderiranja

Klin uredljivosti: dovršeno objašnjenje vraća svoj sceneGraph. Potvrdite ga pomoću editExplainerGraph za dodavanje verzije bez trošenja drugog besplatnog mjesta za izradu videa, ili pošaljite uputu na jednostavnom jeziku. Prvo ponovno renderiranje svakog videa besplatno je. Kasnija ponovna renderiranja koriste minute plaćenog plana.

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);

Popisivanje glasova

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

Ostale metode: getExplainer, listExplainers, revertExplainer, duplicateExplainer, i deleteExplainer.

Naredbeni redak

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

Oznake i okruženje

OznakaZnačenje
--length <M:SS|sec> Ciljana duljina, npr. 0:30, 1:00, ili sekunde. Pozitivni višekratnik 30. Izostavite za automatski.
--aspect <ratio> 16:9 (zadano), 9:16, ili 1:1.
--voice <ref> Referenca glasa (pogledajte sketchie voices). Neobavezno; zadano Nora.
--limit <n> Maksimalni redovi za list, 1 do 100 (zadano 50).
--wait Ispituje dok renderiranje ne završi ili ne uspije.
--json Strojno čitljiv izlaz na stdout.
--api-url <url> Osnovni URL API-ja uključujući prefiks /api. Env: SKETCHIE_API_URL.
--api-key <key> Vaš API ključ. Env: SKETCHIE_API_KEY. Nikada se ne ispisuje u izlazu.