CLI dan SDK
Klien TypeScript @sketchie/sdk dan baris arahan sketchie adalah pembalut nipis, bertaip di atas API HTTP yang sama. Kedua-duanya membaca kunci anda daripada SKETCHIE_API_KEY dan lalai kepada https://sketchie.ai/api.
SDK dan CLI dihantar sebagai sebahagian daripada kit alat Sketchie. Jika registry anda belum menyelesaikan pakej, anda boleh menjalankannya daripada repositori Sketchie dengan bun. API HTTP mentah berfungsi hari ini daripada mana-mana bahasa.
SDK TypeScript
Cipta klien, jana penjelasan dengan medan mesra, dan tunggu render.
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 Gelung edit dan render semula
Baji kebolehsuntingan: penjelasan yang selesai mengembalikan sceneGraphnya. Komitkan dengan editExplainerGraph untuk menambah versi tanpa menggunakan slot penciptaan video percuma lain, atau hantar arahan dalam bahasa mudah. Render semula pertama setiap video adalah percuma. Render semula seterusnya menggunakan minit pelan berbayar.
// 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); Menyenaraikan suara
const voices = await client.listVoices();
// [{ id: 'sketchie:sulafat', name: 'Nora', isDefault: true, preview_url, ... }] Kaedah lain: getExplainer, listExplainers, revertExplainer, duplicateExplainer, dan deleteExplainer.
Baris arahan
# 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 Bendera dan persekitaran
| Bendera | Makna |
|---|---|
--length <M:SS|sec> | Panjang sasaran, cth. 0:30, 1:00, atau saat. Gandaan positif 30. Tinggalkan untuk auto. |
--aspect <ratio> | 16:9 (lalai), 9:16, atau 1:1. |
--voice <ref> | Rujukan suara (lihat sketchie voices). Pilihan; lalai Nora. |
--limit <n> | Baris maksimum untuk list, 1 hingga 100 (lalai 50). |
--wait | Tinjau sehingga render selesai atau gagal. |
--json | Output boleh dibaca mesin pada stdout. |
--api-url <url> | URL asas API termasuk awalan /api. Env: SKETCHIE_API_URL. |
--api-key <key> | Kunci API anda. Env: SKETCHIE_API_KEY. Tidak pernah dicetak dalam output. |