CLI ug SDK

Ang @sketchie/sdk TypeScript client ug ang sketchie command line mga manipis, naka-type nga wrapper ibabaw sa parehong HTTP API. Parehong nagbasa sa imong key gikan sa SKETCHIE_API_KEY ug default sa https://sketchie.ai/api.

Ang SDK ug CLI ipadala isip bahin sa Sketchie toolkit. Kung ang imong registry wala pa ma-resolve ang package, mahimo nimo kining ipadagan gikan sa Sketchie repository gamit ang bun. Ang hilaw nga HTTP API mogana karon gikan sa bisan unsang pinulongan.

TypeScript SDK

Paghimo ug client, paghimo ug pagpasabot gamit ang mabinantayong mga field, ug paghulat sa render.

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

Ang edit ug re-render loop

Ang editability wedge: ang natapos nga pagpasabot mobalik sa iyang sceneGraph. I-commit kini gamit ang editExplainerGraph aron makadugang og bersyon nga wala magamit ang laing libre nga video creation slot, o magpadala og instruksyon sa yano nga pinulongan. Ang una nga re-render sa matag video libre. Ang mosunod nga mga re-render mogamit sa mga minuto sa bayad nga plano.

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

Paglista sa mga tingog

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

Ubang mga pamaagi: getExplainer, listExplainers, revertExplainer, duplicateExplainer, ug deleteExplainer.

Command line

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

Mga bandera ug palibot

BanderaKahulogan
--length <M:SS|sec> Target nga gitas-on, pananglitan 0:30, 1:00, o segundo. Positibong multiple sa 30. Ilaktawi para auto.
--aspect <ratio> 16:9 (default), 9:16, o 1:1.
--voice <ref> Usa ka voice ref (tan-awa ang sketchie voices). Opsyonal; default Nora.
--limit <n> Maximum nga mga row para sa list, 1 hangtod 100 (default 50).
--wait Nagsusi hangtod matapos o mapakyas ang render.
--json Mabasa sa makina nga output sa stdout.
--api-url <url> API base URL uban ang /api prefix. Env: SKETCHIE_API_URL.
--api-key <key> Ang imong API key. Env: SKETCHIE_API_KEY. Wala gyud gi-imprinta sa output.