CLI at SDK

Ang @sketchie/sdk TypeScript client at ang sketchie command line ay manipis, naka-type na mga wrapper sa parehong HTTP API. Parehong binabasa ang iyong key mula sa SKETCHIE_API_KEY at default sa https://sketchie.ai/api.

Ang SDK at CLI ay ipinapadala bilang bahagi ng Sketchie toolkit. Kung hindi pa nire-resolve ng iyong registry ang package, maaari mo itong patakbuhin mula sa Sketchie repository gamit ang bun. Gumagana ang raw na HTTP API mula sa anumang wika ngayon.

TypeScript SDK

Gumawa ng client, gumawa ng explainer gamit ang magiliw na fields, at maghintay para 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 at re-render loop

Ang editability wedge: ang tapos na explainer ay ibinabalik ang sceneGraph nito. I-commit ito gamit ang editExplainerGraph upang magdagdag ng bersyon nang hindi ginagastos ang isa pang libreng slot sa paggawa ng video, o magpadala ng instruksyon sa payak na wika. Libre ang unang re-render ng bawat video. Ang mga sumusunod na re-render ay gumagamit ng mga minuto ng bayad na 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);

Paglilista ng mga boses

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

Iba pang mga pamamaraan: getExplainer, listExplainers, revertExplainer, duplicateExplainer, at 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 flag at kapaligiran

FlagKahulugan
--length <M:SS|sec> Target na haba, hal. 0:30, 1:00, o segundo. Positibong multiple ng 30. Alisin para sa auto.
--aspect <ratio> 16:9 (default), 9:16, o 1:1.
--voice <ref> Isang voice ref (tingnan ang sketchie voices). Opsyonal; default na Nora.
--limit <n> Pinakamataas na row para sa list, 1 hanggang 100 (default 50).
--wait Mag-poll hanggang matapos o mabigo ang render.
--json Machine-readable na output sa stdout.
--api-url <url> API base URL kasama ang /api prefix. Env: SKETCHIE_API_URL.
--api-key <key> Ang iyong API key. Env: SKETCHIE_API_KEY. Hindi kailanman naiprint sa output.