CLI i SDK
El client TypeScript @sketchie/sdk i la línia d’ordres sketchie són embolcalls prims i tipats sobre la mateixa API HTTP. Tots dos llegeixen la vostra clau des de SKETCHIE_API_KEY i per defecte usen https://sketchie.ai/api.
L’SDK i la CLI es lliuren com a part del joc d’eines Sketchie. Si el vostre registre encara no resol el paquet, podeu executar-los des del repositori Sketchie amb bun. L’API HTTP en cru funciona avui des de qualsevol llenguatge.
SDK TypeScript
Creeu un client, genereu una explicació amb els camps amigables i espereu el 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 El bucle d’edició i re-render
La falca d’editabilitat: una explicació finalitzada retorna el seu propi sceneGraph. Confirmeu-lo amb editExplainerGraph per afegir una versió sense consumir una altra plaça de creació de vídeo gratuïta, o envieu una instrucció en llenguatge planer. El primer re-render de cada vídeo és gratuït. Els re-renders posteriors utilitzen minuts del pla de pagament.
// 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); Llistar veus
const voices = await client.listVoices();
// [{ id: 'sketchie:sulafat', name: 'Nora', isDefault: true, preview_url, ... }] Altres mètodes: getExplainer, listExplainers, revertExplainer, duplicateExplainer, i deleteExplainer.
Línia d’ordres
# 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 Indicadors i entorn
| Indicador | Significat |
|---|---|
--length <M:SS|sec> | Durada objectiu, p. ex. 0:30, 1:00, o segons. Un múltiple positiu de 30. Ometeu-ho per automàtic. |
--aspect <ratio> | 16:9 (per defecte), 9:16, o 1:1. |
--voice <ref> | Una referència de veu (vegeu sketchie voices). Opcional; per defecte Nora. |
--limit <n> | Files màximes per a list, 1 a 100 (per defecte 50). |
--wait | Sondeja fins que el render acabi o falli. |
--json | Sortida llegible per màquina a stdout. |
--api-url <url> | URL base de l’API incloent el prefix /api. Env: SKETCHIE_API_URL. |
--api-key <key> | La vostra clau API. Env: SKETCHIE_API_KEY. Mai s’imprimeix a la sortida. |