CLI និង SDK

អតិថិជន TypeScript @sketchie/sdk និងបន្ទាត់ពាក្យបញ្ជា sketchie គឺជា wrapper ស្តើង មានប្រភេទនៅលើ HTTP API ដូចគ្នា។ ទាំងពីរអានលេខសម្ងាត់របស់អ្នកពី SKETCHIE_API_KEY ហើយតាមលំនាំដើមទៅកាន់ https://sketchie.ai/api។

SDK និង CLI ត្រូវបានចេញផ្សាយជាផ្នែកមួយនៃឧបករណ៍ Sketchie។ ប្រសិនបើបញ្ជីរបស់អ្នកមិនទាន់ដោះស្រាយកញ្ចប់នេះទេ អ្នកអាចដំណើរការវាពី ឃ្លាំង Sketchie ជាមួយ bunHTTP API ដើមដំណើរការពីភាសាណាមួយនាពេលបច្ចុប្បន្ន។

TypeScript SDK

បង្កើតអតិថិជនម្នាក់ បង្កើតការពន្យល់ជាមួយវាលងាយស្រួល និងរង់ចាំការបង្ហាញ។

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

រង្វិលជុំកែសម្រួល និងបង្ហាញឡើងវិញ

ការកែសម្រួលបាន wedge: ការពន្យល់ដែលបានបញ្ចប់ត្រឡប់ sceneGraph របស់វា។ ធ្វើ commit វាជាមួយ 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> ការយោង voice (មើល sketchie voices)។ ស្រេចចិត្ត; លំនាំដើម Nora។
--limit <n> ជួរដេកអតិបរមាសម្រាប់ list, 1 ដល់ 100 (លំនាំដើម 50)។
--wait ត្រួតពិនិត្យរហូតដល់ការបង្ហាញបញ្ចប់ ឬបរាជ័យ។
--json លទ្ធផលអានដោយម៉ាស៊ីនលើ stdout។
--api-url <url> URL មូលដ្ឋាន API រួមទាំងបុព្វបទ /api។ Env: SKETCHIE_API_URL
--api-key <key> លេខសម្ងាត់ API របស់អ្នក។ Env: SKETCHIE_API_KEY។ មិនដែលបោះពុម្ពក្នុងលទ្ធផលឡើយ។