CLI وSDK

عميل @sketchie/sdk لـ TypeScript وسطر الأوامر sketchie هما غلافان رفيعان ومكتوبان فوق نفس واجهة HTTP البرمجية. كلاهما يقرأ مفتاحك من SKETCHIE_API_KEY ويستخدم افتراضيا https://sketchie.ai/api.

يُشحن SDK وCLI كجزء من مجموعة أدوات Sketchie. إذا لم يحل سجلك الحزمة بعد، يمكنك تشغيلهما من مستودع Sketchie باستخدام bun. تعمل واجهة HTTP الخام اليوم من أي لغة.

SDK لـ TypeScript

أنشئ عميلا، أنشئ فيديو شرح باستخدام الحقول الودودة، وانتظر التصيير.

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

حلقة التحرير وإعادة التصيير

إسفين قابلية التحرير: يعيد فيديو الشرح المكتمل sceneGraph الخاص به. أكده باستخدام editExplainerGraph لإضافة نسخة دون استهلاك فتحة إنشاء فيديو مجاني أخرى، أو أرسل تعليمة بلغة بسيطة. إعادة التصيير الأولى لكل فيديو مجانية. الإعادات اللاحقة تستخدم دقائق الخطة المدفوعة.

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

سرد الأصوات

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

طرق أخرى: getExplainer، listExplainers، revertExplainer، duplicateExplainer، وdeleteExplainer.

سطر الأوامر

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

الأعلام والبيئة

العلمالمعنى
--length <M:SS|sec> المدة المستهدفة، مثل 0:30 أو 1:00 أو ثوانٍ. مضاعف موجب لـ 30. احذفه للتلقائي.
--aspect <ratio> 16:9 (افتراضي) أو 9:16 أو 1:1.
--voice <ref> مرجع صوت (انظر sketchie voices). اختياري؛ الافتراضي Nora.
--limit <n> أقصى عدد صفوف لـ list، من 1 إلى 100 (الافتراضي 50).
--wait يستطلع حتى ينتهي التصيير أو يفشل.
--json مخرجات قابلة للقراءة آليا على stdout.
--api-url <url> عنوان URL الأساسي لواجهة API متضمنا البادئة /api. البيئة: SKETCHIE_API_URL.
--api-key <key> مفتاح API الخاص بك. البيئة: SKETCHIE_API_KEY. لا يُطبع أبدا في المخرجات.