@usenaive-sdk/cli 0.15.1 → 1.0.1
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/README.md +43 -402
- package/dist/index.js +51796 -502
- package/package.json +22 -18
- package/dist/client.d.ts +0 -108
- package/dist/client.js +0 -458
- package/dist/client.js.map +0 -1
- package/dist/commands/account-kits.d.ts +0 -2
- package/dist/commands/account-kits.js +0 -71
- package/dist/commands/account-kits.js.map +0 -1
- package/dist/commands/aeo.d.ts +0 -2
- package/dist/commands/aeo.js +0 -451
- package/dist/commands/aeo.js.map +0 -1
- package/dist/commands/agent-profiles.d.ts +0 -11
- package/dist/commands/agent-profiles.js +0 -120
- package/dist/commands/agent-profiles.js.map +0 -1
- package/dist/commands/agents.d.ts +0 -2
- package/dist/commands/agents.js +0 -916
- package/dist/commands/agents.js.map +0 -1
- package/dist/commands/app-data.d.ts +0 -2
- package/dist/commands/app-data.js +0 -445
- package/dist/commands/app-data.js.map +0 -1
- package/dist/commands/approvals.d.ts +0 -2
- package/dist/commands/approvals.js +0 -242
- package/dist/commands/approvals.js.map +0 -1
- package/dist/commands/apps.d.ts +0 -9
- package/dist/commands/apps.js +0 -844
- package/dist/commands/apps.js.map +0 -1
- package/dist/commands/audio.d.ts +0 -9
- package/dist/commands/audio.js +0 -391
- package/dist/commands/audio.js.map +0 -1
- package/dist/commands/auth.d.ts +0 -31
- package/dist/commands/auth.js +0 -428
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/billing.d.ts +0 -2
- package/dist/commands/billing.js +0 -250
- package/dist/commands/billing.js.map +0 -1
- package/dist/commands/brain.d.ts +0 -2
- package/dist/commands/brain.js +0 -1300
- package/dist/commands/brain.js.map +0 -1
- package/dist/commands/browser.d.ts +0 -2
- package/dist/commands/browser.js +0 -378
- package/dist/commands/browser.js.map +0 -1
- package/dist/commands/business.d.ts +0 -2
- package/dist/commands/business.js +0 -566
- package/dist/commands/business.js.map +0 -1
- package/dist/commands/cards.d.ts +0 -2
- package/dist/commands/cards.js +0 -419
- package/dist/commands/cards.js.map +0 -1
- package/dist/commands/ceo.d.ts +0 -2
- package/dist/commands/ceo.js +0 -369
- package/dist/commands/ceo.js.map +0 -1
- package/dist/commands/clone.d.ts +0 -2
- package/dist/commands/clone.js +0 -203
- package/dist/commands/clone.js.map +0 -1
- package/dist/commands/companies.d.ts +0 -10
- package/dist/commands/companies.js +0 -283
- package/dist/commands/companies.js.map +0 -1
- package/dist/commands/company-data.d.ts +0 -2
- package/dist/commands/company-data.js +0 -168
- package/dist/commands/company-data.js.map +0 -1
- package/dist/commands/compute.d.ts +0 -2
- package/dist/commands/compute.js +0 -498
- package/dist/commands/compute.js.map +0 -1
- package/dist/commands/config.d.ts +0 -2
- package/dist/commands/config.js +0 -36
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/connections.d.ts +0 -8
- package/dist/commands/connections.js +0 -137
- package/dist/commands/connections.js.map +0 -1
- package/dist/commands/cron-jobs.d.ts +0 -2
- package/dist/commands/cron-jobs.js +0 -245
- package/dist/commands/cron-jobs.js.map +0 -1
- package/dist/commands/domains.d.ts +0 -2
- package/dist/commands/domains.js +0 -474
- package/dist/commands/domains.js.map +0 -1
- package/dist/commands/ecommerce.d.ts +0 -2
- package/dist/commands/ecommerce.js +0 -277
- package/dist/commands/ecommerce.js.map +0 -1
- package/dist/commands/email.d.ts +0 -2
- package/dist/commands/email.js +0 -336
- package/dist/commands/email.js.map +0 -1
- package/dist/commands/employees.d.ts +0 -2
- package/dist/commands/employees.js +0 -190
- package/dist/commands/employees.js.map +0 -1
- package/dist/commands/env.d.ts +0 -7
- package/dist/commands/env.js +0 -112
- package/dist/commands/env.js.map +0 -1
- package/dist/commands/formation.d.ts +0 -2
- package/dist/commands/formation.js +0 -273
- package/dist/commands/formation.js.map +0 -1
- package/dist/commands/identity.d.ts +0 -2
- package/dist/commands/identity.js +0 -110
- package/dist/commands/identity.js.map +0 -1
- package/dist/commands/images.d.ts +0 -2
- package/dist/commands/images.js +0 -371
- package/dist/commands/images.js.map +0 -1
- package/dist/commands/init.d.ts +0 -5
- package/dist/commands/init.js +0 -43
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/jobs.d.ts +0 -2
- package/dist/commands/jobs.js +0 -144
- package/dist/commands/jobs.js.map +0 -1
- package/dist/commands/keys.d.ts +0 -2
- package/dist/commands/keys.js +0 -156
- package/dist/commands/keys.js.map +0 -1
- package/dist/commands/legacy-auth.d.ts +0 -27
- package/dist/commands/legacy-auth.js +0 -64
- package/dist/commands/legacy-auth.js.map +0 -1
- package/dist/commands/llm.d.ts +0 -2
- package/dist/commands/llm.js +0 -125
- package/dist/commands/llm.js.map +0 -1
- package/dist/commands/login.d.ts +0 -2
- package/dist/commands/login.js +0 -65
- package/dist/commands/login.js.map +0 -1
- package/dist/commands/logout.d.ts +0 -7
- package/dist/commands/logout.js +0 -55
- package/dist/commands/logout.js.map +0 -1
- package/dist/commands/logs.d.ts +0 -2
- package/dist/commands/logs.js +0 -42
- package/dist/commands/logs.js.map +0 -1
- package/dist/commands/loops.d.ts +0 -2
- package/dist/commands/loops.js +0 -260
- package/dist/commands/loops.js.map +0 -1
- package/dist/commands/media.d.ts +0 -2
- package/dist/commands/media.js +0 -183
- package/dist/commands/media.js.map +0 -1
- package/dist/commands/memory.d.ts +0 -2
- package/dist/commands/memory.js +0 -151
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/mobile.d.ts +0 -4
- package/dist/commands/mobile.js +0 -382
- package/dist/commands/mobile.js.map +0 -1
- package/dist/commands/module.d.ts +0 -8
- package/dist/commands/module.js +0 -48
- package/dist/commands/module.js.map +0 -1
- package/dist/commands/objectives.d.ts +0 -2
- package/dist/commands/objectives.js +0 -243
- package/dist/commands/objectives.js.map +0 -1
- package/dist/commands/payments.d.ts +0 -2
- package/dist/commands/payments.js +0 -131
- package/dist/commands/payments.js.map +0 -1
- package/dist/commands/people.d.ts +0 -2
- package/dist/commands/people.js +0 -197
- package/dist/commands/people.js.map +0 -1
- package/dist/commands/phone.d.ts +0 -2
- package/dist/commands/phone.js +0 -289
- package/dist/commands/phone.js.map +0 -1
- package/dist/commands/projects.d.ts +0 -13
- package/dist/commands/projects.js +0 -220
- package/dist/commands/projects.js.map +0 -1
- package/dist/commands/queue.d.ts +0 -2
- package/dist/commands/queue.js +0 -121
- package/dist/commands/queue.js.map +0 -1
- package/dist/commands/register.d.ts +0 -2
- package/dist/commands/register.js +0 -88
- package/dist/commands/register.js.map +0 -1
- package/dist/commands/report.d.ts +0 -17
- package/dist/commands/report.js +0 -109
- package/dist/commands/report.js.map +0 -1
- package/dist/commands/sandbox.d.ts +0 -2
- package/dist/commands/sandbox.js +0 -558
- package/dist/commands/sandbox.js.map +0 -1
- package/dist/commands/search.d.ts +0 -2
- package/dist/commands/search.js +0 -223
- package/dist/commands/search.js.map +0 -1
- package/dist/commands/seo.d.ts +0 -2
- package/dist/commands/seo.js +0 -528
- package/dist/commands/seo.js.map +0 -1
- package/dist/commands/sessions.d.ts +0 -6
- package/dist/commands/sessions.js +0 -109
- package/dist/commands/sessions.js.map +0 -1
- package/dist/commands/social-data.d.ts +0 -2
- package/dist/commands/social-data.js +0 -245
- package/dist/commands/social-data.js.map +0 -1
- package/dist/commands/social.d.ts +0 -2
- package/dist/commands/social.js +0 -407
- package/dist/commands/social.js.map +0 -1
- package/dist/commands/status.d.ts +0 -2
- package/dist/commands/status.js +0 -79
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/support.d.ts +0 -2
- package/dist/commands/support.js +0 -134
- package/dist/commands/support.js.map +0 -1
- package/dist/commands/tasks.d.ts +0 -2
- package/dist/commands/tasks.js +0 -409
- package/dist/commands/tasks.js.map +0 -1
- package/dist/commands/teams.d.ts +0 -69
- package/dist/commands/teams.js +0 -503
- package/dist/commands/teams.js.map +0 -1
- package/dist/commands/trading.d.ts +0 -2
- package/dist/commands/trading.js +0 -333
- package/dist/commands/trading.js.map +0 -1
- package/dist/commands/up.d.ts +0 -551
- package/dist/commands/up.js +0 -1149
- package/dist/commands/up.js.map +0 -1
- package/dist/commands/usage.d.ts +0 -2
- package/dist/commands/usage.js +0 -73
- package/dist/commands/usage.js.map +0 -1
- package/dist/commands/use.d.ts +0 -12
- package/dist/commands/use.js +0 -96
- package/dist/commands/use.js.map +0 -1
- package/dist/commands/users.d.ts +0 -10
- package/dist/commands/users.js +0 -82
- package/dist/commands/users.js.map +0 -1
- package/dist/commands/vault.d.ts +0 -2
- package/dist/commands/vault.js +0 -101
- package/dist/commands/vault.js.map +0 -1
- package/dist/commands/verification.d.ts +0 -2
- package/dist/commands/verification.js +0 -152
- package/dist/commands/verification.js.map +0 -1
- package/dist/commands/verify-email.d.ts +0 -19
- package/dist/commands/verify-email.js +0 -130
- package/dist/commands/verify-email.js.map +0 -1
- package/dist/commands/video.d.ts +0 -2
- package/dist/commands/video.js +0 -417
- package/dist/commands/video.js.map +0 -1
- package/dist/commands/voice.d.ts +0 -2
- package/dist/commands/voice.js +0 -516
- package/dist/commands/voice.js.map +0 -1
- package/dist/commands/wallet.d.ts +0 -2
- package/dist/commands/wallet.js +0 -244
- package/dist/commands/wallet.js.map +0 -1
- package/dist/commands/webhooks.d.ts +0 -13
- package/dist/commands/webhooks.js +0 -119
- package/dist/commands/webhooks.js.map +0 -1
- package/dist/commands/whoami.d.ts +0 -2
- package/dist/commands/whoami.js +0 -53
- package/dist/commands/whoami.js.map +0 -1
- package/dist/config.d.ts +0 -42
- package/dist/config.js +0 -83
- package/dist/config.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js.map +0 -1
- package/dist/lib/brain-select.d.ts +0 -193
- package/dist/lib/brain-select.js +0 -403
- package/dist/lib/brain-select.js.map +0 -1
- package/dist/lib/cli-validation.d.ts +0 -12
- package/dist/lib/cli-validation.js +0 -46
- package/dist/lib/cli-validation.js.map +0 -1
- package/dist/lib/config-errors.d.ts +0 -4
- package/dist/lib/config-errors.js +0 -13
- package/dist/lib/config-errors.js.map +0 -1
- package/dist/lib/deprecation.d.ts +0 -158
- package/dist/lib/deprecation.js +0 -140
- package/dist/lib/deprecation.js.map +0 -1
- package/dist/lib/duration.d.ts +0 -8
- package/dist/lib/duration.js +0 -11
- package/dist/lib/duration.js.map +0 -1
- package/dist/lib/http-response.d.ts +0 -11
- package/dist/lib/http-response.js +0 -96
- package/dist/lib/http-response.js.map +0 -1
- package/dist/lib/llm-paywall.d.ts +0 -82
- package/dist/lib/llm-paywall.js +0 -231
- package/dist/lib/llm-paywall.js.map +0 -1
- package/dist/lib/pricing.d.ts +0 -132
- package/dist/lib/pricing.js +0 -148
- package/dist/lib/pricing.js.map +0 -1
- package/dist/lib/starter-config.d.ts +0 -13
- package/dist/lib/starter-config.js +0 -71
- package/dist/lib/starter-config.js.map +0 -1
- package/dist/lib/stream-frames.d.ts +0 -114
- package/dist/lib/stream-frames.js +0 -169
- package/dist/lib/stream-frames.js.map +0 -1
- package/dist/lib/teams-catalog.d.ts +0 -141
- package/dist/lib/teams-catalog.js +0 -841
- package/dist/lib/teams-catalog.js.map +0 -1
- package/dist/lib/unknown-command.d.ts +0 -71
- package/dist/lib/unknown-command.js +0 -132
- package/dist/lib/unknown-command.js.map +0 -1
- package/dist/lib/version-check.d.ts +0 -26
- package/dist/lib/version-check.js +0 -21
- package/dist/lib/version-check.js.map +0 -1
- package/dist/output.d.ts +0 -246
- package/dist/output.js +0 -539
- package/dist/output.js.map +0 -1
- package/dist/prompt.d.ts +0 -17
- package/dist/prompt.js +0 -70
- package/dist/prompt.js.map +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.js +0 -14
- package/dist/version.js.map +0 -1
package/dist/commands/video.js
DELETED
|
@@ -1,417 +0,0 @@
|
|
|
1
|
-
import { Command, Option } from "commander";
|
|
2
|
-
import { apiRequest, handleApiError } from "../client.js";
|
|
3
|
-
import { agentOutput, creditCostHint, creditEstimateHint } from "../output.js";
|
|
4
|
-
import { parseDurationArg } from "../lib/duration.js";
|
|
5
|
-
import { REFRAME_FEE_CREDITS } from "../lib/pricing.js";
|
|
6
|
-
// Validate --duration (pure check in lib/duration.ts) and fail fast with a clear,
|
|
7
|
-
// structured message rather than forwarding a bad value that would 422 at fal.
|
|
8
|
-
function durationOrExit(raw) {
|
|
9
|
-
const parsed = parseDurationArg(raw);
|
|
10
|
-
if (!parsed.ok) {
|
|
11
|
-
console.log(JSON.stringify({
|
|
12
|
-
success: false,
|
|
13
|
-
action: "video.generate",
|
|
14
|
-
error: { code: "invalid_argument", message: parsed.message },
|
|
15
|
-
recovery_steps: [
|
|
16
|
-
{ command: 'naive video generate "your prompt" --model <model> --duration 5', description: "Pass a numeric duration a Kling model accepts" },
|
|
17
|
-
{ command: "naive video models", description: "List models (note: some, e.g. minimax-video, have a fixed length)" },
|
|
18
|
-
],
|
|
19
|
-
}, null, 2));
|
|
20
|
-
process.exit(1);
|
|
21
|
-
}
|
|
22
|
-
return parsed.value;
|
|
23
|
-
}
|
|
24
|
-
export const videoCmd = new Command("video")
|
|
25
|
-
.description("Generate AI videos and extract short-form clips")
|
|
26
|
-
.addHelpText("after", `
|
|
27
|
-
Subcommands:
|
|
28
|
-
naive video generate <prompt> Generate a video from text or image
|
|
29
|
-
naive video status <job_id> Check video generation status
|
|
30
|
-
naive video models List available video models
|
|
31
|
-
naive video clip <video_url> Auto-clip a long video into short clips
|
|
32
|
-
naive video clip-status <id> Check clipping job status
|
|
33
|
-
|
|
34
|
-
Examples:
|
|
35
|
-
$ naive video generate "a rocket launching into space" --model fal-ai/kling-video/v3/pro/text-to-video
|
|
36
|
-
$ naive video clip "https://example.com/video.mp4" --aspect-ratio 9:16
|
|
37
|
-
$ naive video clip-status job-uuid-123
|
|
38
|
-
$ naive video models
|
|
39
|
-
|
|
40
|
-
Cost:
|
|
41
|
-
- Video generation: dynamic, model/duration-dependent (run 'naive video pricing --model <id>' to preview)
|
|
42
|
-
- Video clipping: metered per input minute
|
|
43
|
-
- Credits deducted only on successful completion
|
|
44
|
-
`);
|
|
45
|
-
videoCmd
|
|
46
|
-
.command("generate [prompt]")
|
|
47
|
-
.description("Generate a video using AI models (async — returns job ID)")
|
|
48
|
-
.requiredOption("--model <model>", "Video model ID (required)")
|
|
49
|
-
.option("--input <json>", "Full input parameters as JSON (overrides other options)")
|
|
50
|
-
.option("--duration <seconds>", "Video length in seconds — Kling models only (e.g. 5 or 10); some models have a fixed length and reject it")
|
|
51
|
-
.option("--image-url <url>", "Source image URL for image-to-video models")
|
|
52
|
-
.option("--wait", "Wait for job to complete (polls until done)")
|
|
53
|
-
.addHelpText("after", `
|
|
54
|
-
Examples:
|
|
55
|
-
$ naive video generate "a timelapse of a flower blooming" --model fal-ai/kling-video/v3/pro/text-to-video
|
|
56
|
-
$ naive video generate "product showcase" --model fal-ai/kling-video/v3/pro/text-to-video --duration 10 --wait
|
|
57
|
-
$ naive video generate --model fal-ai/kling-video/v3/pro/image-to-video --image-url https://example.com/img.jpg --input '{"prompt":"zoom in slowly"}'
|
|
58
|
-
|
|
59
|
-
Duration:
|
|
60
|
-
--duration is accepted by Kling models (e.g. fal-ai/kling-video/v3/pro/*), which
|
|
61
|
-
is why the example above pairs it with one. Fixed-length models such as
|
|
62
|
-
fal-ai/minimax-video/video-01-live reject --duration — pass a numeric value only
|
|
63
|
-
with a model that supports it, or omit it to use the model's default length.
|
|
64
|
-
|
|
65
|
-
What this does:
|
|
66
|
-
1. Submits a video generation request
|
|
67
|
-
2. Returns a job ID (async processing, typically 30-120s)
|
|
68
|
-
3. Use --wait to block until done, or check with 'naive video status'
|
|
69
|
-
|
|
70
|
-
Text-to-video:
|
|
71
|
-
Provide a prompt describing the video. Models: kling-video text-to-video, minimax-video
|
|
72
|
-
|
|
73
|
-
Image-to-video:
|
|
74
|
-
Provide --image-url to animate a still image. Models: kling-video image-to-video
|
|
75
|
-
|
|
76
|
-
Available models (use 'naive video models' for full list):
|
|
77
|
-
fal-ai/kling-video/v3/pro/text-to-video Text-to-video, pro quality (~60s)
|
|
78
|
-
fal-ai/kling-video/v3/pro/image-to-video Image-to-video, pro quality (~60s)
|
|
79
|
-
fal-ai/kling-video/v3/standard/text-to-video Text-to-video, standard (~45s)
|
|
80
|
-
fal-ai/minimax-video/video-01-live Text-to-video, fast (~45s)
|
|
81
|
-
fal-ai/wan/v2.7/text-to-video Text-to-video (~60s)
|
|
82
|
-
(Use 'naive video models' for the full dynamic list)
|
|
83
|
-
|
|
84
|
-
Parameters (via --input JSON):
|
|
85
|
-
prompt Text description of the video
|
|
86
|
-
duration Length in seconds (Kling models only): "5" or "10". Fixed-length
|
|
87
|
-
models (e.g. minimax-video) reject it — see the Duration note above.
|
|
88
|
-
image_url Source image for image-to-video
|
|
89
|
-
aspect_ratio "16:9", "9:16", "1:1" (model-dependent)
|
|
90
|
-
negative_prompt Text describing what to avoid
|
|
91
|
-
cfg_scale Guidance scale 0-1 (higher = more literal, default 0.5)
|
|
92
|
-
generate_audio Enable native audio generation (boolean, default true for Kling v3)
|
|
93
|
-
|
|
94
|
-
Reading the result (after completion, via 'naive video status <id>'):
|
|
95
|
-
Submit returns the job under 'id' (job_id is a deprecated alias).
|
|
96
|
-
The output URL is at result.media[0].url — a flat, model-independent path.
|
|
97
|
-
(result.result.video.url is the raw provider payload; media[] is preferred.)
|
|
98
|
-
|
|
99
|
-
Cost: dynamic — based on model pricing ($0.05/credit)
|
|
100
|
-
Run 'naive video pricing --model <id> --duration <s>' to preview cost before generating.
|
|
101
|
-
Credits deducted only on successful completion. Failed jobs are free.
|
|
102
|
-
`)
|
|
103
|
-
.action(async (prompt, opts) => {
|
|
104
|
-
let input;
|
|
105
|
-
if (opts.input) {
|
|
106
|
-
input = JSON.parse(opts.input);
|
|
107
|
-
}
|
|
108
|
-
else if (prompt) {
|
|
109
|
-
input = { prompt };
|
|
110
|
-
if (opts.duration)
|
|
111
|
-
input.duration = durationOrExit(opts.duration);
|
|
112
|
-
if (opts.imageUrl)
|
|
113
|
-
input.image_url = opts.imageUrl;
|
|
114
|
-
}
|
|
115
|
-
else if (opts.imageUrl) {
|
|
116
|
-
input = { image_url: opts.imageUrl };
|
|
117
|
-
if (opts.duration)
|
|
118
|
-
input.duration = durationOrExit(opts.duration);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
console.log(JSON.stringify({
|
|
122
|
-
success: false,
|
|
123
|
-
action: "video.generate",
|
|
124
|
-
error: { code: "missing_argument", message: "Provide a prompt, --image-url, or --input JSON" },
|
|
125
|
-
recovery_steps: [
|
|
126
|
-
{ command: 'naive video generate "your prompt" --model <model>', description: "Text-to-video generation" },
|
|
127
|
-
{ command: "naive video generate --model <model> --image-url <url>", description: "Image-to-video generation" },
|
|
128
|
-
{ command: "naive video models", description: "List available video models" },
|
|
129
|
-
],
|
|
130
|
-
}, null, 2));
|
|
131
|
-
process.exit(1);
|
|
132
|
-
}
|
|
133
|
-
const resp = await apiRequest("POST", "/v1/video/generate", {
|
|
134
|
-
model: opts.model,
|
|
135
|
-
input,
|
|
136
|
-
});
|
|
137
|
-
handleApiError("video.generate", resp);
|
|
138
|
-
if (resp.status === 202) {
|
|
139
|
-
const data = resp.data;
|
|
140
|
-
if (opts.wait) {
|
|
141
|
-
agentOutput({
|
|
142
|
-
action: "video.generate.submitted",
|
|
143
|
-
// Surface the estimate at submit so spend is visible before the wait (N6).
|
|
144
|
-
result: { job_id: data.job_id, status: "polling", model: opts.model, estimated_credits: data.estimated_credits ?? null },
|
|
145
|
-
next_steps: [],
|
|
146
|
-
hints: [
|
|
147
|
-
"Waiting for video generation to complete (typically 30-120s)...",
|
|
148
|
-
...(creditEstimateHint(resp.data) ? [creditEstimateHint(resp.data)] : []),
|
|
149
|
-
],
|
|
150
|
-
});
|
|
151
|
-
await pollJob(data.job_id);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
agentOutput({
|
|
155
|
-
action: "video.generate.submitted",
|
|
156
|
-
result: { job_id: data.job_id, status: "queued", model: opts.model, estimated_credits: data.estimated_credits ?? null },
|
|
157
|
-
next_steps: [
|
|
158
|
-
{ command: `naive video status ${data.job_id}`, description: "Check generation progress" },
|
|
159
|
-
{ command: `naive jobs get ${data.job_id}`, description: "Get full job details" },
|
|
160
|
-
],
|
|
161
|
-
hints: [
|
|
162
|
-
`Video generation submitted (model: ${opts.model})`,
|
|
163
|
-
// Echoes the API's pre-flight estimate (same source that bills at completion) — N6.
|
|
164
|
-
...(creditEstimateHint(resp.data) ? [creditEstimateHint(resp.data)] : ["Credits deducted only on successful completion"]),
|
|
165
|
-
"Typical time: 30-120 seconds depending on model and duration",
|
|
166
|
-
],
|
|
167
|
-
related_commands: ["naive video status", "naive jobs get", "naive jobs"],
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
agentOutput({
|
|
173
|
-
action: "video.generate",
|
|
174
|
-
result: resp.data,
|
|
175
|
-
next_steps: [
|
|
176
|
-
{ command: 'naive video generate "another prompt" --model <model>', description: "Generate another video" },
|
|
177
|
-
],
|
|
178
|
-
hints: ["Video generated synchronously"],
|
|
179
|
-
related_commands: ["naive video models"],
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
videoCmd
|
|
184
|
-
.command("clip <video_url>")
|
|
185
|
-
.description("Auto-clip a long video into short clips (async — returns job ID)")
|
|
186
|
-
// Strict enum via commander's Option.choices — rejects anything outside
|
|
187
|
-
// the two supported aspect ratios at parse time, so the API never sees a
|
|
188
|
-
// typo'd value. Default "9:16" matches the REST POST handler's default
|
|
189
|
-
// (vertical-first social baseline). "16:9" preserves the source aspect.
|
|
190
|
-
.addOption(new Option("--aspect <ratio>", "Output aspect ratio for generated clips")
|
|
191
|
-
.choices(["9:16", "16:9"])
|
|
192
|
-
.default("9:16"))
|
|
193
|
-
.addHelpText("after", `
|
|
194
|
-
Examples:
|
|
195
|
-
$ naive video clip https://example.com/podcast.mp4
|
|
196
|
-
$ naive video clip https://example.com/podcast.mp4 --aspect 16:9
|
|
197
|
-
|
|
198
|
-
What this does:
|
|
199
|
-
1. Submits a long video for AI auto-clipping
|
|
200
|
-
2. Returns a job ID (async processing)
|
|
201
|
-
3. Check progress with 'naive video clip-status <job_id>'
|
|
202
|
-
|
|
203
|
-
Input:
|
|
204
|
-
A public https URL to a video no longer than 90 minutes.
|
|
205
|
-
|
|
206
|
-
Options:
|
|
207
|
-
--aspect <ratio> "9:16" (default, vertical via SAM-3 smart-crop) or "16:9" (preserve source)
|
|
208
|
-
|
|
209
|
-
Cost: per input minute — credits deducted only on successful completion.
|
|
210
|
-
9:16 reframe adds a flat ${REFRAME_FEE_CREDITS}-credit face-tracking fee per job.
|
|
211
|
-
`)
|
|
212
|
-
.action(async (videoUrl, opts) => {
|
|
213
|
-
const resp = await apiRequest("POST", "/v1/video/clip", {
|
|
214
|
-
video_url: videoUrl,
|
|
215
|
-
aspect_ratio: opts.aspect ?? "9:16",
|
|
216
|
-
});
|
|
217
|
-
handleApiError("video.clip", resp);
|
|
218
|
-
const data = resp.data;
|
|
219
|
-
agentOutput({
|
|
220
|
-
action: "video.clip.submitted",
|
|
221
|
-
result: { job_id: data.job_id, status: data.status },
|
|
222
|
-
next_steps: [
|
|
223
|
-
{ command: `naive video clip-status ${data.job_id}`, description: "Check clipping progress" },
|
|
224
|
-
{ command: `naive jobs get ${data.job_id}`, description: "Get full job details" },
|
|
225
|
-
],
|
|
226
|
-
hints: [
|
|
227
|
-
"Clip job submitted",
|
|
228
|
-
"Input must be a public https URL to a video 90 minutes or shorter",
|
|
229
|
-
"Credits deducted only on successful completion",
|
|
230
|
-
],
|
|
231
|
-
related_commands: ["naive video clip-status", "naive jobs"],
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
videoCmd
|
|
235
|
-
.command("clip-status <job_id>")
|
|
236
|
-
.description("Check the status of a video clipping job")
|
|
237
|
-
.addHelpText("after", `
|
|
238
|
-
Examples:
|
|
239
|
-
$ naive video clip-status 550e8400-e29b-41d4-a716-446655440000
|
|
240
|
-
|
|
241
|
-
When completed, the result includes the generated clip URLs.
|
|
242
|
-
`)
|
|
243
|
-
.action(async (jobId) => {
|
|
244
|
-
const resp = await apiRequest("GET", `/v1/video/clip/${jobId}`);
|
|
245
|
-
handleApiError("video.clip-status", resp);
|
|
246
|
-
const data = resp.data;
|
|
247
|
-
agentOutput({
|
|
248
|
-
action: "video.clip-status",
|
|
249
|
-
result: resp.data,
|
|
250
|
-
next_steps: [
|
|
251
|
-
...(data.status === "queued" || data.status === "processing"
|
|
252
|
-
? [{ command: `naive video clip-status ${jobId}`, description: "Check again in 20-30 seconds" }]
|
|
253
|
-
: []),
|
|
254
|
-
{ command: "naive video clip <video_url>", description: "Clip another video" },
|
|
255
|
-
],
|
|
256
|
-
hints: [`Job status: ${data.status}`],
|
|
257
|
-
related_commands: ["naive video clip", "naive jobs"],
|
|
258
|
-
});
|
|
259
|
-
});
|
|
260
|
-
videoCmd
|
|
261
|
-
.command("status <job_id>")
|
|
262
|
-
.description("Check the status of a video generation job")
|
|
263
|
-
.addHelpText("after", `
|
|
264
|
-
Examples:
|
|
265
|
-
$ naive video status 550e8400-e29b-41d4-a716-446655440000
|
|
266
|
-
|
|
267
|
-
What this does:
|
|
268
|
-
Returns the current status of a video generation job:
|
|
269
|
-
- queued: waiting to be processed
|
|
270
|
-
- processing: actively generating
|
|
271
|
-
- completed: video ready (includes URL)
|
|
272
|
-
- failed: generation failed (includes error message)
|
|
273
|
-
|
|
274
|
-
When completed, the result includes a video URL.
|
|
275
|
-
`)
|
|
276
|
-
.action(async (jobId) => {
|
|
277
|
-
const resp = await apiRequest("GET", `/v1/video/${jobId}`);
|
|
278
|
-
handleApiError("video.status", resp);
|
|
279
|
-
const data = resp.data;
|
|
280
|
-
// N12: prefer the flat, model-independent media[] path; fall back to the raw
|
|
281
|
-
// provider nesting for older API responses that predate media[].
|
|
282
|
-
const videoUrl = data.media?.[0]?.url ?? data.result?.video?.url;
|
|
283
|
-
agentOutput({
|
|
284
|
-
action: "video.status",
|
|
285
|
-
result: resp.data,
|
|
286
|
-
next_steps: [
|
|
287
|
-
...(data.status === "completed" && videoUrl
|
|
288
|
-
? [{ command: `# Download: curl -o video.mp4 "${videoUrl}"`, description: "Download the generated video (result.media[0].url)" }]
|
|
289
|
-
: []),
|
|
290
|
-
...(data.status === "queued" || data.status === "processing"
|
|
291
|
-
? [{ command: `naive video status ${jobId}`, description: "Check again in 10-30 seconds" }]
|
|
292
|
-
: []),
|
|
293
|
-
{ command: 'naive video generate "new prompt" --model <model>', description: "Generate another video" },
|
|
294
|
-
],
|
|
295
|
-
hints: [
|
|
296
|
-
`Job status: ${data.status}`,
|
|
297
|
-
...(data.status === "processing" ? ["Video generation typically takes 30-120 seconds"] : []),
|
|
298
|
-
// Post-hoc: on completion the job carries the ACTUAL credits_used — same
|
|
299
|
-
// single source as the pre-flight estimate, so before/at/after agree (N6).
|
|
300
|
-
...(creditCostHint(resp.data) ? [creditCostHint(resp.data)] : []),
|
|
301
|
-
...(data.status === "failed" ? [`Failed (no credits deducted). Reason: ${data.error || "unknown"}`] : []),
|
|
302
|
-
],
|
|
303
|
-
related_commands: ["naive video generate", "naive jobs"],
|
|
304
|
-
});
|
|
305
|
-
});
|
|
306
|
-
videoCmd
|
|
307
|
-
.command("models")
|
|
308
|
-
.description("List available video generation models with pricing")
|
|
309
|
-
.addHelpText("after", `
|
|
310
|
-
Examples:
|
|
311
|
-
$ naive video models
|
|
312
|
-
|
|
313
|
-
What this does:
|
|
314
|
-
Returns all supported video models with:
|
|
315
|
-
- Model ID (use as --model parameter)
|
|
316
|
-
- Type (text-to-video or image-to-video)
|
|
317
|
-
- Approximate generation time
|
|
318
|
-
- Credit cost per generation
|
|
319
|
-
- Supported durations and parameters
|
|
320
|
-
`)
|
|
321
|
-
.action(async () => {
|
|
322
|
-
const resp = await apiRequest("GET", "/v1/video/models");
|
|
323
|
-
handleApiError("video.models", resp);
|
|
324
|
-
agentOutput({
|
|
325
|
-
action: "video.models",
|
|
326
|
-
result: resp.data,
|
|
327
|
-
next_steps: [
|
|
328
|
-
{ command: 'naive video generate "your prompt" --model <model_id>', description: "Generate a video with one of these models" },
|
|
329
|
-
],
|
|
330
|
-
hints: [
|
|
331
|
-
"Use the model 'id' field as the --model parameter in 'naive video generate'",
|
|
332
|
-
"Text-to-video models accept a text prompt; image-to-video models require --image-url",
|
|
333
|
-
"Each model includes credits_estimate (~5s clip; null when pricing is unavailable)",
|
|
334
|
-
"For an exact quote at a given length: naive video pricing --model <id> --duration <s>",
|
|
335
|
-
],
|
|
336
|
-
related_commands: ["naive video generate", "naive video pricing", "naive video status"],
|
|
337
|
-
});
|
|
338
|
-
});
|
|
339
|
-
videoCmd
|
|
340
|
-
.command("pricing")
|
|
341
|
-
.description("Preview the estimated credit cost of a video model before generating")
|
|
342
|
-
.requiredOption("--model <model>", "Video model ID (get IDs from 'naive video models')")
|
|
343
|
-
.option("--duration <seconds>", "Clip length in seconds to price (default: 5)", "5")
|
|
344
|
-
.addHelpText("after", `
|
|
345
|
-
Examples:
|
|
346
|
-
$ naive video pricing --model fal-ai/kling-video/v3/pro/text-to-video
|
|
347
|
-
$ naive video pricing --model fal-ai/kling-video/v3/pro/text-to-video --duration 10
|
|
348
|
-
|
|
349
|
-
What this does:
|
|
350
|
-
Returns the ESTIMATED credit cost for one generation, derived from the model's
|
|
351
|
-
live fal.ai price — the same source that bills the job on completion, so the
|
|
352
|
-
estimate tracks the real charge. Nothing is spent by this command.
|
|
353
|
-
|
|
354
|
-
Cost: free (this is a price preview; generation itself is charged on completion)
|
|
355
|
-
`)
|
|
356
|
-
.action(async (opts) => {
|
|
357
|
-
const duration = parseInt(opts.duration ?? "5", 10);
|
|
358
|
-
if (!Number.isFinite(duration) || duration <= 0) {
|
|
359
|
-
console.log(JSON.stringify({
|
|
360
|
-
success: false,
|
|
361
|
-
action: "video.pricing",
|
|
362
|
-
error: { code: "invalid_argument", message: "--duration must be a positive number of seconds" },
|
|
363
|
-
recovery_steps: [
|
|
364
|
-
{ command: `naive video pricing --model ${opts.model} --duration 5`, description: "Price a 5-second clip" },
|
|
365
|
-
],
|
|
366
|
-
}, null, 2));
|
|
367
|
-
process.exit(1);
|
|
368
|
-
}
|
|
369
|
-
const params = new URLSearchParams({ model: opts.model, duration: String(duration) });
|
|
370
|
-
const resp = await apiRequest("GET", `/v1/video/pricing?${params}`);
|
|
371
|
-
handleApiError("video.pricing", resp);
|
|
372
|
-
const data = resp.data;
|
|
373
|
-
agentOutput({
|
|
374
|
-
action: "video.pricing",
|
|
375
|
-
result: resp.data,
|
|
376
|
-
next_steps: [
|
|
377
|
-
{ command: `naive video generate "your prompt" --model ${opts.model}${duration ? ` --duration ${duration}` : ""}`, description: "Generate a video with this model" },
|
|
378
|
-
{ command: "naive video models", description: "Compare estimates across all models" },
|
|
379
|
-
],
|
|
380
|
-
hints: [
|
|
381
|
-
typeof data.estimated_credits === "number"
|
|
382
|
-
? `Estimated cost: ${data.estimated_credits} credits for a ${data.duration_seconds ?? duration}s clip (charged only on successful completion)`
|
|
383
|
-
: "Pricing unavailable for this model",
|
|
384
|
-
"This is an estimate; the exact charge is metered from the delivered video's duration",
|
|
385
|
-
],
|
|
386
|
-
related_commands: ["naive video generate", "naive video models"],
|
|
387
|
-
});
|
|
388
|
-
});
|
|
389
|
-
// Polls a job to completion for `video generate --wait`. Local helper mirroring
|
|
390
|
-
// images.ts/search.ts; the prior copy lived in main's Submagic clip block that
|
|
391
|
-
// was removed during the main->branch merge.
|
|
392
|
-
async function pollJob(jobId) {
|
|
393
|
-
while (true) {
|
|
394
|
-
await new Promise((r) => setTimeout(r, 2000));
|
|
395
|
-
const resp = await apiRequest("GET", `/v1/jobs/${jobId}`);
|
|
396
|
-
handleApiError("video.generate.poll", resp);
|
|
397
|
-
const data = resp.data;
|
|
398
|
-
if (data.status === "completed" || data.status === "failed") {
|
|
399
|
-
agentOutput({
|
|
400
|
-
action: "video.generate.completed",
|
|
401
|
-
result: resp.data,
|
|
402
|
-
next_steps: [{ command: `naive jobs get ${jobId}`, description: "Get full job details" }],
|
|
403
|
-
hints: [
|
|
404
|
-
data.status === "completed"
|
|
405
|
-
? "Video generation complete"
|
|
406
|
-
: `Generation failed — no credits deducted. Reason: ${data.error || "unknown"}`,
|
|
407
|
-
// Actual charge, derived from the completed job's credits_used (N6/N7).
|
|
408
|
-
...(creditCostHint(resp.data) ? [creditCostHint(resp.data)] : []),
|
|
409
|
-
],
|
|
410
|
-
related_commands: ["naive video generate", "naive video status", "naive jobs"],
|
|
411
|
-
});
|
|
412
|
-
return;
|
|
413
|
-
}
|
|
414
|
-
process.stderr.write(` Progress: ${data.progress ?? 0}% (${data.status})\n`);
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
|
-
//# sourceMappingURL=video.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/voice.d.ts
DELETED