CLI ve SDK
@sketchie/sdk TypeScript istemcisi ve sketchie komut satırı, aynı HTTP API üzerinde ince, tipli sarmalayıcılardır. İkisi de anahtarınızı SKETCHIE_API_KEY’den okur ve varsayılan olarak https://sketchie.ai/api’ye gider.
SDK ve CLI, Sketchie araç setinin bir parçası olarak gönderilir. Kayıt defteriniz paketi henüz çözemiyorsa, bun ile Sketchie deposundan çalıştırabilirsiniz. Ham HTTP API bugün her dilden çalışır.
TypeScript SDK
Bir istemci oluşturun, dostane alanlarla bir anlatım oluşturun ve render’ı bekleyin.
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 Düzenleme ve yeniden render döngüsü
Düzenlenebilirlik kaması: tamamlanmış bir anlatım kendi sceneGraph’ını geri döndürür. Başka bir ücretsiz video oluşturma yuvası tüketmeden bir sürüm eklemek için editExplainerGraph ile onaylayın veya sade dilde bir talimat gönderin. Her videonun ilk yeniden render’ı ücretsizdir. Sonraki yeniden render’lar ücretli plan dakikaları kullanır.
// 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); Sesleri listeleme
const voices = await client.listVoices();
// [{ id: 'sketchie:sulafat', name: 'Nora', isDefault: true, preview_url, ... }] Diğer metotlar: getExplainer, listExplainers, revertExplainer, duplicateExplainer, ve deleteExplainer.
Komut satırı
# 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 Bayraklar ve ortam
| Bayrak | Anlam |
|---|---|
--length <M:SS|sec> | Hedef süre, örn. 0:30, 1:00, veya saniye. 30’un pozitif katı. Otomatik için atlayın. |
--aspect <ratio> | 16:9 (varsayılan), 9:16, veya 1:1. |
--voice <ref> | Bir ses referansı (bkz. sketchie voices). İsteğe bağlı; varsayılan Nora. |
--limit <n> | list için maksimum satır, 1 ila 100 (varsayılan 50). |
--wait | Render bitene veya başarısız olana kadar yoklar. |
--json | stdout’ta makine tarafından okunabilir çıktı. |
--api-url <url> | /api önekini içeren API temel URL’si. Env: SKETCHIE_API_URL. |
--api-key <key> | API anahtarınız. Env: SKETCHIE_API_KEY. Çıktıda asla yazdırılmaz. |