veogent 1.3.0 → 1.4.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.
Files changed (4) hide show
  1. package/README.md +155 -324
  2. package/index.js +123 -165
  3. package/package.json +1 -1
  4. package/skills/SKILL.md +314 -734
package/README.md CHANGED
@@ -10,8 +10,6 @@ Perfectly engineered for **Agentic workflows** — enabling tools like OpenClaw,
10
10
 
11
11
  ## 🚀 Installation
12
12
 
13
- Install globally via npm:
14
-
15
13
  ```bash
16
14
  npm install -g veogent
17
15
  ```
@@ -20,23 +18,12 @@ npm install -g veogent
20
18
 
21
19
  ## 🔐 Authentication
22
20
 
23
- Veogent CLI supports both browser callback login and headless device-code login.
24
-
25
21
  ```bash
26
- # Browser callback flow (desktop)
27
- veogent login
28
-
29
- # Device-code flow (VM/server/headless — recommended for AI Agents)
30
- veogent login --device
31
-
32
- # Verify your session
33
- veogent status
34
-
35
- # Clear saved credentials
36
- veogent logout
37
-
38
- # Setup/update Google Flow Key (required for video generation & AI features)
39
- veogent setup-flow --flowkey "ya29.a0AW..." --tier "PAYGATE_TIER_TWO"
22
+ veogent login # Browser callback (desktop)
23
+ veogent login --device # Device-code flow (VM/server/headless — recommended for AI Agents)
24
+ veogent status # Verify session
25
+ veogent logout # Clear credentials
26
+ veogent setup-flow --flowkey "ya29.a0AW..." --tier "PAYGATE_TIER_TWO" # Setup Flow Key
40
27
  ```
41
28
 
42
29
  ---
@@ -45,390 +32,234 @@ veogent setup-flow --flowkey "ya29.a0AW..." --tier "PAYGATE_TIER_TWO"
45
32
 
46
33
  | Flag | Description |
47
34
  |------|-------------|
48
- | `--json` | Output machine-readable JSON only (suppress emoji/human text) |
49
- | `--agent-safe` | Agent-safe mode — no emoji, no browser surprises, stable output. Auto-enables `--device` for login. |
35
+ | `--json` | Output machine-readable JSON only |
36
+ | `--agent-safe` | Agent-safe mode — no emoji, no browser surprises, stable JSON output |
50
37
  | `--version` | Print CLI version |
51
38
 
52
- > **For AI Agents:** always use `--agent-safe` to guarantee deterministic, parseable JSON output with no interactive prompts.
39
+ > **For AI Agents:** always use `--agent-safe` for deterministic, parseable JSON output.
53
40
 
54
41
  ---
55
42
 
56
- ## 📋 Complete Command Reference
57
-
58
- ### Authentication & Configuration
59
-
60
- | Command | Description |
61
- |---------|-------------|
62
- | `login` | Login via browser callback or device code flow (`--device`) |
63
- | `logout` | Clear saved credentials and remove stored access token |
64
- | `status` | Show authenticated user, Flow Key details, and payment tier |
65
- | `setup-flow` | Setup/update Google Flow Key and User Payment Tier |
66
-
67
- ### Capabilities & Discovery
68
-
69
- | Command | Description |
70
- |---------|-------------|
71
- | `image-materials` | Get all available Image Material styles (e.g., `CINEMATIC`, `PIXAR_3D`) |
72
- | `custom-prompts` | Get custom prompt templates and story directives |
73
-
74
- > **Removed in v1.3.0:** `capabilities`, `image-models`, `video-models` — hardcoded values are: imagen3.5, veo_3_1_fast/veo_3_1_fast_r2v, HORIZONTAL/VERTICAL
75
-
76
- ### Project Management
77
-
78
- | Command | Description |
79
- |---------|-------------|
80
- | `projects` | List all your available projects |
81
- | `project <id>` | Get details for a specific project |
82
- | ~~`create-project-description`~~ | Removed — use `quick-project` instead |
83
- | `create-project` | Create a new project with name, keywords, material, chapters, objects |
84
-
85
- ### Chapters
86
-
87
- | Command | Description |
88
- |---------|-------------|
89
- | `chapters <projectId>` | Get all chapters for a project |
90
- | `recent-chapters` | Get recently created or updated chapters |
91
- | `create-chapter-content` | Generate content for a chapter (synchronous AI generation) |
92
-
93
- ### Characters
94
-
95
- | Command | Description |
96
- |---------|-------------|
97
- | `characters <projectId>` | Get all characters with readiness info |
98
- | `edit-character` | Update character description or edit generated image via AI prompt |
99
-
100
- ### Scenes
101
-
102
- | Command | Description |
103
- |---------|-------------|
104
- | `scenes <projectId> <chapterId>` | Get all scenes for a chapter |
105
- | `create-scene` | Create new scene(s) from text content |
106
- | `edit-scene` | Edit scene image prompt via AI assistance |
107
-
108
- ### Compound Commands (v1.3.0+)
109
-
110
- | Command | Description |
111
- |---------|-------------|
112
- | `quick-project` | Create a full project in one command: description → project → chapter content → scenes → wait materialization + characters |
113
- | `batch-request` | Create generation jobs for multiple/all scenes at once with `--all` or `--scenes id1,id2,...` |
114
-
115
- > **`--wait` flag:** Available on `request`, `batch-request`, `edit-scene`, and `quick-project`. Blocks until the operation completes, so you don't need separate `wait-images`/`wait-videos` calls.
116
-
117
- ### Generation Requests (Project-scoped)
43
+ ## 🎯 Recommended Workflow
118
44
 
119
- > **Clarification:** `request` (singular) = **CREATE** a new job. `requests` (plural) = **LIST** existing jobs.
45
+ ### How VEOGENT Works The Mental Model
120
46
 
121
- | Command | Description |
122
- |---------|-------------|
123
- | `request` | Create a generation job: `GENERATE_IMAGES`, `GENERATE_VIDEO`, or `VIDEO_UPSCALE`. Supports `--wait` |
124
- | `batch-request` | Batch generation for multiple scenes. Supports `--all`, `--wait`, `--concurrency` |
125
- | `requests` | List generation requests (filterable by project, chapter, status) |
126
-
127
- ### ~~Standalone Generation~~ (Removed in v1.3.0)
128
-
129
- > Standalone commands (`gen-image`, `gen-video`, `standalone-requests`, `standalone-request`) have been removed.
130
- > Use project-scoped workflows for all generation. For quick starts, use `quick-project --wait`.
131
-
132
- ### Monitoring & Status
133
-
134
- | Command | Description |
135
- |---------|-------------|
136
- | `scene-status` | Scene-level status with embedded asset URLs (image + video per scene) |
137
- | `workflow-status` | Full workflow snapshot: scenes + requests + assets (agent helper) |
138
- | `failed-requests` | List failed/error/rejected requests for a project/chapter (agent helper) |
139
- | `wait-images` | Poll until all image requests in a chapter finish |
140
- | `wait-videos` | Poll until all video requests in a chapter finish |
141
- | `queue-status` | Get current queue/concurrency status |
142
-
143
- ### YouTube Integration
144
-
145
- | Command | Description |
146
- |---------|-------------|
147
- | `generate-yt-metadata` | Generate YouTube metadata (Title, Description, Tags) for a chapter |
148
- | `generate-yt-thumbnail` | Trigger request to generate a YouTube thumbnail |
149
- | `yt-thumbnails <projectId> <chapterId>` | Get generated YouTube thumbnails for a chapter |
150
-
151
- ### Flow Token & Credits
152
-
153
- | Command | Description |
154
- |---------|-------------|
155
- | `obtain-flow` | Auto-extract Flow Token (ya29.) using secure browser overlay |
156
- | `flow-credits` | Fetch plan and credit info from Google AI Sandbox |
157
-
158
- ### Utility
159
-
160
- | Command | Description |
161
- |---------|-------------|
162
- | `skill` | Print the native Agent SKILL.md guide |
47
+ ```
48
+ --idea → AI Description → Project + Characters (reference images)
49
+ Chapter Content (storyboard)
50
+ Scenes Images Videos
51
+ ```
163
52
 
164
- ---
53
+ **Key concept:** Names in `--idea` become character/entity references with image URIs at project level. These references ensure visual consistency across ALL chapters and scenes.
165
54
 
166
- ## 🛠️ Usage Examples
55
+ ### The Pipeline (4 Phases)
167
56
 
168
- ### Project Management
57
+ #### Phase 1: Create Project
169
58
 
170
59
  ```bash
171
- # List all your active projects
172
- veogent projects
60
+ veogent create-project \
61
+ --idea "Bella the white Bichon Frisé CEO in pink blazer, two Doberman bodyguards Rex and Duke in black suits, luxury shopping mall Saigon" \
62
+ --name "Boss Babe in Fur" \
63
+ --lang English \
64
+ --material CINEMATIC
65
+ ```
173
66
 
174
- # View available Image Material styles (e.g., CINEMATIC, PIXAR_3D)
175
- veogent image-materials
67
+ **What happens internally:**
68
+ 1. CLI calls `/app/description` with --idea → VEOGENT AI generates rich story description
69
+ 2. CLI calls `/app/project` with rich description → creates project + auto-generates characters from names in --idea
176
70
 
177
- # Create a brand new AI Story Project
178
- veogent create-project --name "Cyberpunk T-Rex" --keyword "T-rex, Neon, Sci-fi" \
179
- --desc "A massive T-rex walking inside Tokyo" --lang "English" --material "CINEMATIC" --chapters 5 \
180
- --objects '{"name":"Hero","entityType":"character","description":"brave knight"}'
181
- ```
71
+ **--idea rules:**
72
+ - Include specific names: characters, locations, props, creatures
73
+ - Include visual traits: "white Bichon Frisé", "black suits", "luxury mall"
74
+ - ❌ Don't be vague: "cute dog shopping" → VEOGENT will invent random characters
75
+ - Names in --idea → appear in storyboard → VEOGENT creates reference images → consistent across N chapters
182
76
 
183
- ### Storyboard, Chapters & Scenes
77
+ #### Phase 2: Generate Storyboard + Scenes
184
78
 
185
79
  ```bash
186
- # Get all chapters within a project
80
+ # Get chapter ID
187
81
  veogent chapters <projectId>
188
82
 
189
- # View characters (includes readiness info)
190
- veogent characters <projectId>
191
- # → { characters: [...], characterReadiness: {total, ready, allReady} }
83
+ # Generate storyboard (VEOGENT AI writes scene scripts from the rich description)
84
+ veogent create-chapter-content --project <projectId> --chapter <chapterId> --scenes 5
192
85
 
193
- # Check scene materialization status
194
- veogent scene-materialization-status --project <projectId> --chapter <chapterId>
195
- # { expectedScenes, materializedScenes, status: "PROCESSING"|"READY"|"EMPTY" }
86
+ # Create scenes from storyboard scripts
87
+ veogent create-scene --project <projectId> --chapter <chapterId> \
88
+ --content "Scene 1 script..." "Scene 2 script..." "Scene 3..." "Scene 4..." "Scene 5..." \
89
+ --flowkey
196
90
 
197
- # Create scenes from narrative scripts
198
- veogent create-scene --project <projectId> --chapter <chapterId> --flowkey \
199
- --content "The T-Rex looks up at the sky." "A meteor shower begins."
91
+ # Wait for materialization (~30s per scene)
92
+ # Poll: veogent scenes <projectId> <chapterId> until all scenes have scriptSegment
200
93
 
201
- # Add a single scene to an existing chapter
202
- veogent add-scene --project <projectId> --chapter <chapterId> \
203
- --userprompt "A meteor crashes into the city." --after-scene-id <sceneId>
94
+ # Wait for characters to be ready (reference images generated)
95
+ # Poll: veogent characters <projectId> until characterReadiness.allReady === true
204
96
  ```
205
97
 
206
- ### Directing & Editing
207
-
208
- ```bash
209
- # Edit scene image prompt with camera direction
210
- veogent edit-scene --project <projectId> --chapter <chapterId> --scene <sceneId> \
211
- --userprompt "Low angle shot of the T-Rex, dramatic lighting."
212
-
213
- # Edit character image directly via AI
214
- veogent edit-character --project <projectId> --character "drelenavance" \
215
- --userprompt "change outfit to dark leather jacket" --editimage
98
+ --lang English --material CINEMATIC --scenes 5 --wait
216
99
  ```
217
100
 
218
- ### Media Generation (Project-scoped)
101
+ #### Phase 3: Generate Images + Videos
219
102
 
220
103
  ```bash
221
- # List supported models
222
- veogent image-models # { models: ["imagen3.5"] }
223
- veogent video-models # { models: ["veo_3_1_fast", "veo_3_1_fast_r2v"] }
224
-
225
- # Generate Image (project-scoped)
226
- veogent request --type "GENERATE_IMAGES" --project <projectId> --chapter <chapterId> --scene <sceneId> --imagemodel "imagen3.5"
227
-
228
- # Generate Video (project-scoped)
229
- veogent request --type "GENERATE_VIDEO" --project <projectId> --chapter <chapterId> --scene <sceneId> --videomodel "veo_3_1_fast"
230
-
231
- # Upscale Video
232
- veogent upscale --project <projectId> --chapter <chapterId> --scene <sceneId> --orientation "VERTICAL" --resolution "VIDEO_RESOLUTION_4K"
104
+ # Generate all images
105
+ veogent batch-request --type GENERATE_IMAGES \
106
+ --project <projectId> --chapter <chapterId> --all \
107
+ --orientation VERTICAL --wait
108
+
109
+ # Generate all videos
110
+ veogent batch-request --type GENERATE_VIDEO \
111
+ --project <projectId> --chapter <chapterId> --all \
112
+ --orientation VERTICAL --wait
233
113
  ```
234
114
 
235
- ### Quick Project (replaces standalone)
115
+ #### Phase 4: QA + Fix Loop
236
116
 
237
117
  ```bash
238
- # Create full project + scenes in one command
239
- veogent quick-project --keyword "A cat playing piano" --lang English \
240
- --material CINEMATIC --scenes 1 --wait
118
+ # Check results
119
+ veogent workflow-status --project <projectId> --chapter <chapterId>
241
120
  ```
242
121
 
243
- ### Monitoring & Status
122
+ **edit-scene has TWO modes:**
244
123
 
124
+ **Mode A — Edit storyboard/prompt only (no image regen):**
245
125
  ```bash
246
- # List recent requests
247
- veogent requests --limit 10
248
-
249
- # Filter by project/chapter/status
250
- veogent requests --project <projectId> --chapter <chapterId> --status FAILED
251
-
252
- # Scene-level status with asset URLs
253
- veogent scene-status --project <projectId> --chapter <chapterId>
254
-
255
- # Full workflow snapshot (agent helper)
256
- veogent workflow-status --project <projectId> --chapter <chapterId>
257
-
258
- # Wait for all images/videos to complete (with success verification)
259
- veogent wait-images --project <projectId> --chapter <chapterId> --require-success
260
- veogent wait-videos --project <projectId> --chapter <chapterId> --require-success
261
-
262
- # Queue concurrency status
263
- veogent queue-status
264
-
265
- # Flow credit/plan info
266
- veogent flow-credits
126
+ veogent edit-scene --project X --chapter Y --scene Z \
127
+ --prompt "Bella walks through mall on all four paws"
128
+ # Then trigger image gen separately:
129
+ veogent request --type GENERATE_IMAGES --project X --chapter Y --scene Z --orientation VERTICAL --wait
267
130
  ```
131
+ Use when image is fundamentally wrong (wrong character, wrong scene).
268
132
 
269
- ### YouTube Publishing
270
-
133
+ **Mode B — Regenerate image directly (with request ID):**
271
134
  ```bash
272
- # Generate YouTube metadata
273
- veogent generate-yt-metadata --project <projectId> --chapter <chapterId> --flowkey
274
-
275
- # Generate YouTube thumbnail
276
- veogent generate-yt-thumbnail --project <projectId> --chapter <chapterId>
135
+ veogent edit-scene --project X --chapter Y --scene Z \
136
+ --prompt "adjust lighting to warmer tones" --request <requestId> --wait
137
+ ```
138
+ Use when image is close but needs a tweak (lighting, pose, angle).
277
139
 
278
- # Retrieve generated thumbnails
279
- veogent yt-thumbnails <projectId> <chapterId>
140
+ **Fix video only (image is fine):**
141
+ ```bash
142
+ veogent request --type GENERATE_VIDEO \
143
+ --project X --chapter Y --scene Z \
144
+ --videomodel veo_3_1_fast --orientation VERTICAL --wait
280
145
  ```
281
146
 
282
147
  ---
283
148
 
284
- ## Agent Orchestration Notes
149
+ ## 📋 Command Reference
285
150
 
286
- ### Request/Scene Semantics
151
+ ### Authentication & Config
287
152
 
288
- - `scene.requestId`: backward-compatible legacy pointer; may refer to latest relevant request but is **not type-specific**.
289
- - `scene.latestImageRequestId`: latest image-related request (`GENERATE_IMAGES` / `EDIT_IMAGE`) regardless of status.
290
- - `scene.latestVideoRequestId`: latest video request (`GENERATE_VIDEO`) regardless of status.
291
- - `scene.latestSuccessfulImageRequestId`: latest image-related request in `COMPLETED`.
292
- - `scene.latestSuccessfulVideoRequestId`: latest video request in `COMPLETED`.
153
+ | Command | Description |
154
+ |---------|-------------|
155
+ | `login [--device]` | Login (use `--device` for headless/VM) |
156
+ | `logout` | Clear credentials |
157
+ | `status` | Show session + Flow Key details |
158
+ | `setup-flow` | Setup Google Flow Key + payment tier |
159
+
160
+ ### Project Management
161
+
162
+ | Command | Description |
163
+ |---------|-------------|
164
+ | `projects` | List all projects |
165
+ | `project <id>` | Get project details |
166
+ | `create-project` | Create project (auto-generates description from `--idea`) |
293
167
 
294
- For robust automation:
295
- - Prefer `veogent scene-status` or `veogent workflow-status` for chapter-level overview.
296
- - Use `latestSuccessful*` fields when selecting canonical output URIs.
168
+ ### Chapters & Scenes
297
169
 
298
- ### `request` (CREATE) vs `requests` (LIST)
170
+ | Command | Description |
171
+ |---------|-------------|
172
+ | `chapters <projectId>` | List chapters |
173
+ | `recent-chapters` | Recently updated chapters |
174
+ | `create-chapter-content` | Generate storyboard (scene scripts) via AI |
175
+ | `scenes <projectId> <chapterId>` | List scenes |
176
+ | `create-scene` | Create scenes from script content |
177
+ | `edit-scene` | Edit scene storyboard/prompt, or regenerate image with `--request` |
299
178
 
300
- - **`request`** — Creates a new generation job (POST). Requires `--type` flag.
301
- - **`requests`** — Lists existing jobs (GET). Filterable with `--project`, `--chapter`, `--status`, `--limit`.
179
+ ### Characters
302
180
 
303
- ### Generation Commands
181
+ | Command | Description |
182
+ |---------|-------------|
183
+ | `characters <projectId>` | List characters + readiness (reference images) |
184
+ | `edit-character` | Update character description or edit image via AI |
304
185
 
305
- | Task | Command |
306
- |------|---------|
307
- | **Single image** | `request --type GENERATE_IMAGES --project ... --chapter ... --scene ... --wait` |
308
- | **Single video** | `request --type GENERATE_VIDEO --project ... --chapter ... --scene ... --wait` |
309
- | **All images** | `batch-request --type GENERATE_IMAGES --project ... --chapter ... --all --wait` |
310
- | **All videos** | `batch-request --type GENERATE_VIDEO --project ... --chapter ... --all --wait` |
311
- | **Full project** | `quick-project --keyword "..." --lang ... --material ... --scenes 5 --wait` |
186
+ ### Generation
312
187
 
313
- ### Status Commands: When to Use Which
188
+ | Command | Description |
189
+ |---------|-------------|
190
+ | `request` | Create a single generation job (`GENERATE_IMAGES` / `GENERATE_VIDEO`) |
191
+ | `batch-request` | Batch generation for multiple/all scenes (`--all`) |
192
+ | `requests` | List existing generation jobs |
193
+ | `failed-requests` | List failed requests for a chapter |
194
+ | `wait-images` | Poll until all image jobs finish |
195
+ | `wait-videos` | Poll until all video jobs finish |
196
+ | `queue-status` | Current queue/concurrency status |
314
197
 
315
- | Command | Use When |
316
- |---------|----------|
317
- | `requests` | Check individual request status, filter by status/project |
318
- | `scene-status` | Quick overview of image+video status per scene in a chapter |
319
- | `workflow-status` | Full snapshot with scenes + requests + assets (best for agents) |
320
- | `failed-requests` | Quick list of all failed/error/rejected requests for a chapter |
321
- | `wait-images` / `wait-videos` | Block until all generation jobs finish (polling) |
198
+ ### Monitoring
322
199
 
323
- ---
200
+ | Command | Description |
201
+ |---------|-------------|
202
+ | `scene-status` | Scene-level image+video status with asset URLs |
203
+ | `workflow-status` | Full snapshot: scenes + requests + assets (best for agents) |
324
204
 
325
- ## Video Speed Modes
205
+ ### YouTube
326
206
 
327
- VEOGENT supports three video speed modes via `--speed` on `request` and `batch-request`:
207
+ | Command | Description |
208
+ |---------|-------------|
209
+ | `generate-yt-metadata` | Generate Title/Description/Tags for a chapter |
210
+ | `generate-yt-thumbnail` | Trigger thumbnail generation |
211
+ | `yt-thumbnails` | Get generated thumbnails |
328
212
 
329
- | Mode | Description | Use case |
330
- |------|-------------|----------|
331
- | `normal` | Standard playback speed (default) | Most scenes, dialogue, actions |
332
- | `timelapse` | Accelerated time compression | Sunrise/sunset, city traffic, cooking montage, cloud movement |
333
- | `slowmotion` | Slow-motion playback | Impact moments, water splash, dramatic reveal, emotional beats |
213
+ ### Utility
334
214
 
335
- ```bash
336
- # Normal speed (default)
337
- veogent request --type GENERATE_VIDEO --project X --chapter Y --scene Z --speed normal
215
+ | Command | Description |
216
+ |---------|-------------|
217
+ | `image-materials` | List available image styles |
218
+ | `custom-prompts` | List custom prompt templates |
219
+ | `obtain-flow` | Auto-extract Flow Token via browser |
220
+ | `flow-credits` | Check plan + credit info |
221
+ | `skill` | Print the Agent SKILL.md guide |
338
222
 
339
- # Timelapse
340
- veogent request --type GENERATE_VIDEO --project X --chapter Y --scene Z --speed timelapse
223
+ ---
341
224
 
342
- # Slow motion for dramatic effect
343
- veogent request --type GENERATE_VIDEO --project X --chapter Y --scene Z --speed slowmotion
344
- ```
225
+ ## Video Speed Modes
345
226
 
346
- > **Tip:** Speed mode affects Veo's generation. Timelapse tends to produce more camera movement and environmental change. Slowmotion emphasizes subject detail and motion blur.
227
+ | Mode | Flag | Use case |
228
+ |------|------|----------|
229
+ | `normal` | `--speed normal` (default) | Most scenes |
230
+ | `timelapse` | `--speed timelapse` | Sunrise, cooking montage, traffic |
231
+ | `slowmotion` | `--speed slowmotion` | Impact, water splash, dramatic reveal |
347
232
 
348
233
  ---
349
234
 
350
- ## Chained Video Generation (endScene)
235
+ ## Chained Video (endScene)
351
236
 
352
- Generate continuous video that transitions smoothly from one scene to the next using `--endscene`:
237
+ Smooth transition between two consecutive scenes:
353
238
 
354
239
  ```bash
355
240
  veogent request --type GENERATE_VIDEO --project X --chapter Y --scene sceneA \
356
- --endscene sceneB --orientation VERTICAL --videomodel veo_3_1_fast
241
+ --endscene sceneB --videomodel veo_3_1_fast --orientation VERTICAL
357
242
  ```
358
243
 
359
- ### How it works
360
- 1. Veo uses **sceneA's image** as the starting frame
361
- 2. Veo uses **sceneB's image** as the ending frame
362
- 3. The generated video transitions smoothly between both scenes
363
- 4. Response includes `generationMode: "CHAINED_VIDEO"` and `end_scene_id`
364
-
365
- ### When to use
366
- - Scene transitions that need visual continuity (character walks from location A to B)
367
- - Smooth camera movements between setups
368
- - Story beats that connect two distinct moments
369
-
370
- ### Requirements
371
- - Both sceneA and sceneB must have successful images (matching orientation)
372
- - Uses the same Flow Key / credit system as regular video generation
244
+ Uses sceneA's image as start frame, sceneB's image as end frame. Both scenes must have successful images. Only works with `veo_3_1_fast`.
373
245
 
374
246
  ---
375
247
 
376
- ## 🤖 For AI Agents
248
+ ## Concurrency
377
249
 
378
- Veogent CLI ships with a comprehensive **[`skills/SKILL.md`](./skills/SKILL.md)** guide optimized for LLM/Coding Agents context processing. It defines exact DTO validations, model enumerations, camera prompting techniques, the full production pipeline, and error handling everything an agent needs to orchestrate complete projects without hitting `400 Bad Request`.
250
+ Maximum **5** concurrent requests. If queue is full (E10071), CLI auto-retries once after 30s.
379
251
 
380
- ### Recommended Agent Workflow (Production)
252
+ `batch-request` respects the 5-request limit with inter-batch throttling.
381
253
 
382
- **Option A: Quick Start (v1.3.0+ compound commands)**
383
- ```bash
384
- # 1. Create full project in one command (steps 1-6 combined)
385
- veogent quick-project --keyword "shiba night market" --lang Vietnamese \
386
- --material CINEMATIC --scenes 5 --wait
387
-
388
- # 2. Generate all images at once
389
- veogent batch-request --type GENERATE_IMAGES --project X --chapter Y \
390
- --all --orientation VERTICAL --wait
391
-
392
- # 3. QA images → fix with edit-scene
393
- veogent edit-scene --project X --chapter Y --scene Z \
394
- --userprompt "Mochi walks through the market gate" --wait
395
-
396
- # 4. Generate all videos at once
397
- veogent batch-request --type GENERATE_VIDEO --project X --chapter Y \
398
- --all --orientation VERTICAL --wait
254
+ ---
399
255
 
400
- # 5. QA videos → fix and regenerate
401
- ```
256
+ ## 🤖 For AI Agents
402
257
 
403
- **Option B: Step-by-step (full control)**
404
-
405
- 1. Resolve optional IDs first (if missing):
406
- - `veogent custom-prompts`
407
- - `veogent image-materials` (default fallback: `CINEMATIC`)
408
- 2. Prepare story input (arc, summary, key notes).
409
- 3. Generate project description:
410
- - `veogent create-project-description ...`
411
- 4. Create project from generated payload.
412
- 5. Create chapter content with scene count:
413
- - `veogent create-chapter-content --scenes <sceneCount>`
414
- - Rule: each scene maps to ~8s clip.
415
- 6. Create scenes from returned script list:
416
- - `veogent create-scene --project <projectId> --chapter <chapterId> --content "scene 1" "scene 2" ... --flowkey`
417
- 7. Wait for character generation completion (`imageUri` required for all characters):
418
- - `veogent characters <projectId>` — check `characterReadiness.allReady === true`
419
- - `veogent scene-materialization-status --project <projectId> --chapter <chapterId>` — verify `status: "READY"`
420
- - If missing/fail: inspect `veogent requests --limit 20`, recover via `veogent edit-character`.
421
- 8. Generate scene images:
422
- - `veogent request --type "GENERATE_IMAGES" ... --wait`
423
- - If image is reported wrong, fix via:
424
- - `veogent edit-scene --userprompt "..." --wait` (prompt refinement), or
425
- - `veogent edit-scene --request <requestId> ... --wait` (direct edit on prior generated image)
426
- 9. Generate video only after matching-orientation image exists successfully:
427
- - `veogent request --type "GENERATE_VIDEO" ... --wait`
428
-
429
- > 📖 For the full detailed guide with all commands, options tables, and examples, see **[`skills/SKILL.md`](./skills/SKILL.md)**.
430
-
431
- **Concurrency:** maximum **5** requests can be processed simultaneously. If the API reports maximum limit reached, treat it as queue-full (wait/retry), not a hard failure.
258
+ - Always use `--agent-safe` flag
259
+ - Use `workflow-status` for the most complete snapshot
260
+ - Character reference images are created from names found in `--idea` and scene scripts
261
+ - Use character NAMES only in prompts — never describe appearance (reference images define it)
262
+ - See **[`skills/SKILL.md`](./skills/SKILL.md)** for the full agent guide
432
263
 
433
264
  ---
434
265