CLI və SDK

@sketchie/sdk TypeScript müştərisi və sketchie əmr sətri eyni HTTP API üzərində nazik, tipli sarğılardır. Hər ikisi açarınızı SKETCHIE_API_KEY-dən oxuyur və defolt olaraq https://sketchie.ai/api-yə gedir.

SDK və CLI Sketchie alət dəstinin bir hissəsi kimi göndərilir. Əgər reyestriniz hələ paketi həll etmirsə, onları Sketchie deposundan bun ilə işə sala bilərsiniz. Xam HTTP API bu gün istənilən dildən işləyir.

TypeScript SDK

Müştəri yaradın, dostane sahələrlə izahat yaradın və render üçün gözləyin.

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

Redaktə və yenidən render dövrü

Redaktəedilə bilənlik pazı: tamamlanmış izahat öz sceneGraph-ını qaytarır. Başqa pulsuz video yaratma yeri istifadə etmədən versiya əlavə etmək üçün editExplainerGraph ilə commit edin, və ya sadə dildə təlimat göndərin. Hər videonun ilk yenidən renderi pulsuzdur. Sonrakı yenidən renderlər ödənişli planın dəqiqələrindən istifadə edir.

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

Səslərin siyahıya alınması

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

Digər metodlar: getExplainer, listExplainers, revertExplainer, duplicateExplainer, və deleteExplainer.

Əmr sətri

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

Bayraqlar və mühit

BayraqMəna
--length <M:SS|sec> Hədəf uzunluq, məs. 0:30, 1:00, və ya saniyə. 30-un müsbət qatı. Avtomatik üçün buraxın.
--aspect <ratio> 16:9 (defolt), 9:16, və ya 1:1.
--voice <ref> Səs istinadı (bax sketchie voices). İxtiyari; defolt Nora.
--limit <n> list üçün maksimum sətirlər, 1-dən 100-ə qədər (defolt 50).
--wait Render bitənə və ya uğursuz olana qədər sorğulayır.
--json stdout-da maşınla oxunan çıxış.
--api-url <url> /api prefiksi daxil olmaqla API əsas URL. Env: SKETCHIE_API_URL.
--api-key <key> API açarınız. Env: SKETCHIE_API_KEY. Çıxışda heç vaxt çap olunmur.