@vibeframe/cli 0.112.0 → 0.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/_shared/build-plan.d.ts +9 -0
- package/dist/commands/_shared/project-config.d.ts +1 -1
- package/dist/commands/_shared/scene-build.d.ts +1 -1
- package/dist/commands/_shared/scene-project.d.ts +1 -1
- package/dist/commands/_shared/tts-resolve.d.ts +11 -7
- package/dist/index.js +250 -54
- package/dist/tools/_shared/elicit.d.ts +1 -1
- package/dist/tools/manifest/index.js +246 -50
- package/dist/tools/manifest/scene.d.ts +3 -3
- package/dist/tools/manifest/storyboard.d.ts +3 -3
- package/package.json +3 -3
|
@@ -104,4 +104,13 @@ export interface CreateBuildPlanOptions {
|
|
|
104
104
|
composer?: string;
|
|
105
105
|
force?: boolean;
|
|
106
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Honest per-image estimate for backdrop generation at 1536x1024.
|
|
109
|
+
* OpenAI GPT Image 1.5/2 (mid-2026 pricing): "standard" maps to the API's
|
|
110
|
+
* medium tier (~$0.04/image) and "hd" to high (~$0.13–0.17/image); values
|
|
111
|
+
* below add ~20% headroom for retries. The previous flat $3/image
|
|
112
|
+
* overstated real spend 15–70x and scared users away from backdrops
|
|
113
|
+
* (e.g. 7 beats quoted as ~$21 when the real cost is ~$0.35–1.40).
|
|
114
|
+
*/
|
|
115
|
+
export declare function backdropCostUsd(quality: "standard" | "hd"): number;
|
|
107
116
|
export declare function createBuildPlan(opts: CreateBuildPlanOptions): Promise<BuildPlanResult>;
|
|
@@ -4,7 +4,7 @@ export declare const LEGACY_VIBE_PROJECT_FILENAME = "vibe.project.yaml";
|
|
|
4
4
|
export type CompositionEngine = "hyperframes";
|
|
5
5
|
export type ProjectImageProvider = "openai" | "gemini" | "grok" | null;
|
|
6
6
|
export type ProjectVideoProvider = "seedance" | "grok" | "kling" | "runway" | "veo" | null;
|
|
7
|
-
export type ProjectNarrationProvider = "elevenlabs" | "kokoro" | null;
|
|
7
|
+
export type ProjectNarrationProvider = "elevenlabs" | "openai" | "kokoro" | null;
|
|
8
8
|
export type ProjectComposerProvider = "claude" | "openai" | "gemini" | null;
|
|
9
9
|
export type ProjectQuality = "draft" | "standard" | "high";
|
|
10
10
|
export interface VibeProjectConfigV1 {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* Idempotent: assets that already exist on disk are reused unless `force`.
|
|
13
13
|
*
|
|
14
14
|
* Scope held tight for v0.60:
|
|
15
|
-
* - TTS via `resolveTtsProvider` (ElevenLabs / Kokoro auto-fallback)
|
|
15
|
+
* - TTS via `resolveTtsProvider` (ElevenLabs / OpenAI / Kokoro auto-fallback)
|
|
16
16
|
* - T2I via OpenAI, Gemini, or Grok
|
|
17
17
|
* - No Whisper transcribe step (compose handles its own)
|
|
18
18
|
* - No root `index.html` synthesis — driver expects the project to
|
|
@@ -45,7 +45,7 @@ export interface VibeProjectConfig {
|
|
|
45
45
|
/** Default providers per capability. `null` means "auto-resolve from env". */
|
|
46
46
|
providers: {
|
|
47
47
|
image: "openai" | "gemini" | "grok" | null;
|
|
48
|
-
tts: "elevenlabs" | "kokoro" | null;
|
|
48
|
+
tts: "elevenlabs" | "openai" | "kokoro" | null;
|
|
49
49
|
transcribe: "whisper" | null;
|
|
50
50
|
};
|
|
51
51
|
/** Cost ceiling for `vibe remix` runs in this project. 0 disables. */
|
|
@@ -8,18 +8,21 @@
|
|
|
8
8
|
* Routes between:
|
|
9
9
|
* - **ElevenLabs** — cloud, API-key gated, paid (~$0.02/scene). Default
|
|
10
10
|
* when `ELEVENLABS_API_KEY` is set.
|
|
11
|
-
* - **
|
|
11
|
+
* - **OpenAI** — cloud gpt-4o-mini-tts, cheap (~$0.015/min of audio).
|
|
12
|
+
* Default when only `OPENAI_API_KEY` is set — the common Claude Desktop
|
|
13
|
+
* case where one key already covers backdrop images.
|
|
14
|
+
* - **Kokoro** — local Apache 2.0 model, free, ~90MB first-call download.
|
|
12
15
|
* The fallback for key-less users.
|
|
13
16
|
*
|
|
14
17
|
* The router exposes a uniform `TtsCallable` shape so call sites don't have
|
|
15
|
-
* to branch on provider id.
|
|
18
|
+
* to branch on provider id. All providers already return the same
|
|
16
19
|
* `{ success, audioBuffer, error?, characterCount? }` result.
|
|
17
20
|
*/
|
|
18
21
|
import type { KokoroLoadEvent } from "@vibeframe/ai-providers";
|
|
19
22
|
/** TTS providers VibeFrame can route to. `"auto"` picks based on key availability. */
|
|
20
|
-
export type TtsProviderName = "auto" | "elevenlabs" | "kokoro";
|
|
23
|
+
export type TtsProviderName = "auto" | "elevenlabs" | "openai" | "kokoro";
|
|
21
24
|
/** Concrete provider id surfaced in result metadata. Never `"auto"`. */
|
|
22
|
-
export type ResolvedTtsProvider = "elevenlabs" | "kokoro";
|
|
25
|
+
export type ResolvedTtsProvider = "elevenlabs" | "openai" | "kokoro";
|
|
23
26
|
/** Options accepted by every {@link TtsCallable}. Subset of provider-specific options. */
|
|
24
27
|
export interface TtsCallOptions {
|
|
25
28
|
/**
|
|
@@ -56,10 +59,11 @@ export interface TtsResolution {
|
|
|
56
59
|
* Resolution policy:
|
|
57
60
|
* - `"elevenlabs"`: requires `ELEVENLABS_API_KEY`. Throws an `ApiKeyError`-style
|
|
58
61
|
* error via {@link getApiKey} (consumed by `requireApiKey`/`exitWithError`).
|
|
62
|
+
* - `"openai"`: requires `OPENAI_API_KEY`.
|
|
59
63
|
* - `"kokoro"`: always available (local). No key check.
|
|
60
|
-
* - `"auto"` (or `undefined`):
|
|
61
|
-
*
|
|
62
|
-
*
|
|
64
|
+
* - `"auto"` (or `undefined`): ElevenLabs key configured → ElevenLabs
|
|
65
|
+
* (preserves pre-0.113 behavior — a dedicated TTS key signals intent);
|
|
66
|
+
* else OpenAI key configured → OpenAI; else Kokoro.
|
|
63
67
|
*/
|
|
64
68
|
export declare function resolveTtsProvider(preferred?: TtsProviderName): Promise<TtsResolution>;
|
|
65
69
|
/**
|