APIリファレンス
すべてのエンドポイントと、そのリクエストおよびレスポンスの形状。すべてのルートは https://sketchie.ai/api を基準とする相対パスです。
規約
すべての /v1/* エンドポイントは Authorization: Bearer sk_... ヘッダーを必要とします。エラーは error フラグと message を持つ JSON として返ります:
{
"error": true,
"message": "length must be a positive multiple of 30 seconds, at most 360"
} 生成エンドポイントは 1 分あたり 20 リクエストにレート制限されます。他のすべてのエンドポイントは 1 分あたり 200 の制限を共有します。
解説動画を作成する
https://sketchie.ai/api/v1/explainer 生成を開始し、キューに入ったレコードとともに 202 Accepted を返します。ready になるまで 解説動画を取得をポーリングします。
{
"input": "Explain how DNS resolves a domain name",
"length": "0:30",
"aspect": "16:9",
"voice": "sketchie:sulafat",
"language": "en"
} | フィールド | 型 | 備考 |
|---|---|---|
input | string | 説明する内容。短いプロンプトまたは完全なドキュメントテキスト。source または sceneGraph が存在しない限り必須。エイリアス: prompt。 |
length | string or number | "M:SS"("0:30"、"1:00")または秒での目標の長さ。30 の正の倍数、最大 360。自動の長さにするには省略します。エイリアス: lengthSeconds(数値)。 |
voice | string | 任意。音声リファレンス。デフォルトは標準ナレーター(Nora)。音声を参照。 |
language | string | 任意。サポートされている言語コード(デフォルト en)。言語を参照。 |
aspect | string | 任意。16:9(デフォルト)、9:16、または 1:1。 |
source | string | 任意。解説動画にするドキュメント、記事、または書き起こし。存在する場合、input は任意のガイダンスになります。 |
preset | string | 任意の描画スタイル: marker(デフォルト)、chalkboard、pencil、blueprint、crayon、clean。 |
fillMode | string | 任意のリベール塗りつぶし技法: A、B、C(デフォルト)、または D。 |
sceneGraph | object | 任意。事前に作成された scene graph。ワーカーはグラフ生成をスキップして直接レンダリングしますが、このエンドポイントは依然として新しい解説動画を作成し、呼び出し元の通常の無料枠または有料プランのクォータを消費します。既存の解説動画を編集するには、解説動画を編集を使用します。 |
解説動画レコードを返します: id、status、prompt、lengthSeconds、voice、language、aspect、videoUrl(準備完了まで null)、sceneGraph(生成まで null)。source なしの空の input、不正な length、または無効な aspect、preset、fillMode、language の場合は 400 が返ります。
解説動画を取得する
https://sketchie.ai/api/v1/explainer/:id 完全なレコードを返します: 現在の status、ready になったときの videoUrl、編集可能な sceneGraph、バージョン履歴(versions)、ヘッドバージョンのシーン chunks。存在しない id は 404 を返します。
解説動画を一覧する
https://sketchie.ai/api/v1/explainer?limit=50 呼び出しキーの解説動画を新しい順に一覧します。キーの所有者にスコープされます。limit は 1〜100 にクランプされます(デフォルト 50)。軽量な要約を返します(scene graph やバージョンなし)。完全なレコードには 解説動画を取得を使用します。
解説動画を編集する
https://sketchie.ai/api/v1/explainer/:id/edit 編集可能性のくさび。平易な言葉の指示をターゲットを絞った再レンダリングに変えます。影響を受けるシーンのみが再レンダリングされ、新しいバージョンが生成されます。キューに入ったバージョンとともに 202 を返します。ヘッドバージョンが ready になるまで 解説動画を取得をポーリングします。これは既存の動画に追加されるため、別の無料動画作成枠を消費しません。各動画の最初の再レンダリングは無料です。以降の再レンダリングは有料プランの分数を使用し、無料アカウントはプランの開始を求められます。解説動画はすでに ready でなければなりません(そうでない場合 409)。
{ "instruction": "Make the title scene shorter and warmer" } バージョンに戻す
https://sketchie.ai/api/v1/explainer/:id/revert ヘッドを以前の準備完了バージョンに再ポイントし、そのグラフと動画をレコードに反映します。ターゲットは動画を持つ ready バージョンでなければなりません(そうでない場合 409)。
{ "versionId": "..." } ライブステータスストリーム
https://sketchie.ai/api/v1/explainer/events Server-Sent Events ストリーム(text/event-stream)。1 つの接続を開くと、いずれかの解説動画のあらゆるステータス遷移が event: status フレームとして届くため、ポーリングの代わりにワーカーが完了した瞬間に「動画準備完了」状態を更新できます。ストリームはキーの所有者にスコープされます。
音声
https://sketchie.ai/api/v1/voices ナレーション音声カタログ。任意の ?language=<code> はその言語をネイティブとする音声にフィルタします。voices(それぞれ分かりやすい name、voice として渡す id、language、isDefault、再生可能な preview_url)とグローバルな default を返します。音声を参照。
言語
https://sketchie.ai/api/v1/languages サポートされているナレーション言語を { code, label, native } として。すべての code は作成時の有効な language です。言語を参照。
アカウント状態
https://sketchie.ai/api/v1/account/state videosGenerated(生涯)、アカウントの image、isAdmin を返します。認証が必要です。
請求ステータス
https://sketchie.ai/api/v1/billing/status 認証が必要で、無料アカウントと有料アカウントの両方で 200 を返します。無料アカウントは plan: "free" と videoAllowance、videosUsed、videosRemaining を返します。有料アカウントはさらに planLabel、billingInterval、trialStatus、quotaMinutes、minutesUsedThisPeriod、minutesRemaining、bonusMinutes を返します。
ランタイム設定とヘルス
https://sketchie.ai/api/config パブリック。{ "authEnforced": true } を返します。生存確認は GET /health にあります。