veogent 1.1.0 â 1.1.2
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 +1 -1
- package/index.js +22 -1
- package/package.json +1 -1
- package/skills/SKILL.md +21 -4
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ veogent projects
|
|
|
61
61
|
veogent image-materials
|
|
62
62
|
|
|
63
63
|
# Create a brand new AI Story Project using your prompt
|
|
64
|
-
veogent create-project -n "Cyberpunk T-Rex" -k "T-rex, Neon, Sci-fi" -d "A massive T-rex walking inside Tokyo" -l "English" -m "CINEMATIC" -c 5
|
|
64
|
+
veogent create-project -n "Cyberpunk T-Rex" -k "T-rex, Neon, Sci-fi" -d "A massive T-rex walking inside Tokyo" -l "English" -m "CINEMATIC" -c 5 -O '{"name":"Hero","entityType":"character","description":"brave knight"}'
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
### đ Storyboard, Chapters & Scenes
|
package/index.js
CHANGED
|
@@ -242,12 +242,22 @@ program
|
|
|
242
242
|
.requiredOption('-k, --keyword <keyword>', 'Keywords for the project')
|
|
243
243
|
.requiredOption('-l, --lang <lang>', 'Story language')
|
|
244
244
|
.option('-p, --promptId <promptId>', 'Custom Prompt ID from custom-prompts (optional)')
|
|
245
|
+
.option('-O, --objects <objects...>', 'List of specific objects to include as JSON strings (optional)')
|
|
245
246
|
.action(async (options) => {
|
|
246
247
|
try {
|
|
248
|
+
let parsedObjects = [];
|
|
249
|
+
if (options.objects && options.objects.length > 0) {
|
|
250
|
+
try {
|
|
251
|
+
parsedObjects = options.objects.map(objStr => typeof objStr === 'string' ? JSON.parse(objStr) : objStr);
|
|
252
|
+
} catch (e) {
|
|
253
|
+
throw new Error("Invalid JSON format for --objects. Example: -O '{\"name\":\"Hero\",\"entityType\":\"character\",\"description\":\"brave knight\"}'");
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
247
257
|
const payload = {
|
|
248
258
|
keywords: options.keyword,
|
|
249
259
|
language: options.lang,
|
|
250
|
-
objects:
|
|
260
|
+
objects: parsedObjects
|
|
251
261
|
};
|
|
252
262
|
if (options.promptId) payload.customPromptId = options.promptId;
|
|
253
263
|
const data = await api.post('/app/description', payload);
|
|
@@ -268,8 +278,18 @@ program
|
|
|
268
278
|
.requiredOption('-m, --material <material>', 'Image material')
|
|
269
279
|
.option('-c, --chapters <count>', 'Number of chapters', '1')
|
|
270
280
|
.option('-C, --customPromptId <customPromptId>', 'Custom Prompt ID')
|
|
281
|
+
.option('-O, --objects <objects...>', 'List of specific objects for the project as JSON strings (optional)')
|
|
271
282
|
.action(async (options) => {
|
|
272
283
|
try {
|
|
284
|
+
let parsedObjects = [];
|
|
285
|
+
if (options.objects && options.objects.length > 0) {
|
|
286
|
+
try {
|
|
287
|
+
parsedObjects = options.objects.map(objStr => typeof objStr === 'string' ? JSON.parse(objStr) : objStr);
|
|
288
|
+
} catch (e) {
|
|
289
|
+
throw new Error("Invalid JSON format for --objects. Example: -O '{\"name\":\"Hero\",\"entityType\":\"character\",\"description\":\"desc\",\"file\":\"data:image/jpeg;base64,...\"}'");
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
273
293
|
const payload = {
|
|
274
294
|
projectName: options.name,
|
|
275
295
|
keyword: options.keyword,
|
|
@@ -278,6 +298,7 @@ program
|
|
|
278
298
|
soundEffects: options.sound === 'true' || options.sound === true,
|
|
279
299
|
imageMaterial: options.material,
|
|
280
300
|
numberChapters: parseInt(options.chapters),
|
|
301
|
+
objects: parsedObjects
|
|
281
302
|
};
|
|
282
303
|
if (options.customPromptId) payload.customPromptId = options.customPromptId;
|
|
283
304
|
|
package/package.json
CHANGED
package/skills/SKILL.md
CHANGED
|
@@ -164,9 +164,15 @@ The `veogent` command-line interface interacts with the **VEOGENT API** for mana
|
|
|
164
164
|
| `-k, --keyword <keyword>` | â
| Keywords for the project |
|
|
165
165
|
| `-l, --lang <lang>` | â
| Story language (e.g., `English`, `Vietnamese`) |
|
|
166
166
|
| `-p, --promptId <promptId>` | â | Custom Prompt ID from `custom-prompts` (optional) |
|
|
167
|
+
| `-O, --objects <objects...>`| â | List of specific objects to include formatted as JSON strings (optional) |
|
|
168
|
+
|
|
169
|
+
> âšī¸ **Object Structure (`--objects`):**
|
|
170
|
+
> `[{"name": "Hero", "entityType": "character", "description": "brave knight"}]`
|
|
171
|
+
|
|
167
172
|
- **Example:**
|
|
168
173
|
```bash
|
|
169
|
-
veogent create-project-description -k "T-rex, Neon, Tokyo" -l "English" -p "promptId123"
|
|
174
|
+
veogent create-project-description -k "T-rex, Neon, Tokyo" -l "English" -p "promptId123" \
|
|
175
|
+
-O '{"name":"Hero","entityType":"character","description":"brave knight"}'
|
|
170
176
|
```
|
|
171
177
|
|
|
172
178
|
### Skill: `create-project`
|
|
@@ -182,11 +188,18 @@ The `veogent` command-line interface interacts with the **VEOGENT API** for mana
|
|
|
182
188
|
| `-m, --material <material>` | â
| Image material (from `image-materials`) | â |
|
|
183
189
|
| `-c, --chapters <count>` | â | Number of chapters | `1` |
|
|
184
190
|
| `-C, --customPromptId <id>` | â | Custom Prompt ID | â |
|
|
191
|
+
| `-O, --objects <objects...>`| â | List of specific objects for the project formatted as JSON strings | `[]` |
|
|
192
|
+
|
|
193
|
+
> âšī¸ **Object Structure (`--objects`):**
|
|
194
|
+
> `[{"name": "Hero", "entityType": "character", "description": "desc", "file": "data:image/jpeg;base64,..."}]`
|
|
195
|
+
> *(Note: `file` is optional but useful for providing a reference image)*
|
|
196
|
+
|
|
185
197
|
- **Example:**
|
|
186
198
|
```bash
|
|
187
199
|
veogent create-project -n "Cyberpunk T-Rex" -k "T-rex, Neon, Sci-fi" \
|
|
188
200
|
-d "A massive T-rex walking inside Tokyo at night..." \
|
|
189
|
-
-l "English" -m "CINEMATIC" -c 5
|
|
201
|
+
-l "English" -m "CINEMATIC" -c 5 \
|
|
202
|
+
-O '{"name":"Hero","entityType":"character","description":"desc","file":"data:image/jpeg;base64,..."}'
|
|
190
203
|
```
|
|
191
204
|
|
|
192
205
|
---
|
|
@@ -420,6 +433,8 @@ Beside the main visual description, you **CAN** include minor action description
|
|
|
420
433
|
- **Description:** Create a generation job request. Supports `GENERATE_IMAGES`, `GENERATE_VIDEO`, and `VIDEO_UPSCALE`.
|
|
421
434
|
- **Guidelines:**
|
|
422
435
|
> â ī¸ **CRITICAL VALIDATION RULES (Strict DTO):** Do not pass unsupported flags for a specific type, or the server will return a `400 Bad Request` or `Validation Error`. The CLI also performs client-side model validation â unsupported models throw `E_IMAGE_MODEL_UNSUPPORTED` / `E_VIDEO_MODEL_UNSUPPORTED`.
|
|
436
|
+
- **Options:**
|
|
437
|
+
> âšī¸ When `--orientation` include: `HORIZONTAL`, `VERTICAL`
|
|
423
438
|
|
|
424
439
|
#### 1. Generate Images (`GENERATE_IMAGES`)
|
|
425
440
|
|
|
@@ -430,11 +445,12 @@ Beside the main visual description, you **CAN** include minor action description
|
|
|
430
445
|
| `-c, --chapter` | â
| Chapter ID | â |
|
|
431
446
|
| `-s, --scene` | â
| Scene ID | â |
|
|
432
447
|
| `-i, --imagemodel` | â | Image model | `imagen3.5` |
|
|
448
|
+
| `-o, --orientation` | â | Orientation | `HORIZONTAL` |
|
|
433
449
|
|
|
434
|
-
> đĢ **Prohibited flags:** Do NOT pass `-
|
|
450
|
+
> đĢ **Prohibited flags:** Do NOT pass `-v` (videomodel), or `-S` (speed).
|
|
435
451
|
|
|
436
452
|
```bash
|
|
437
|
-
veogent request -t "GENERATE_IMAGES" -p "projID" -c "chapID" -s "sceneID" -i "imagen3.5"
|
|
453
|
+
veogent request -t "GENERATE_IMAGES" -p "projID" -c "chapID" -s "sceneID" -i "imagen3.5" -o "HORIZONTAL"
|
|
438
454
|
```
|
|
439
455
|
|
|
440
456
|
#### 2. Generate Video (`GENERATE_VIDEO`)
|
|
@@ -454,6 +470,7 @@ veogent request -t "GENERATE_IMAGES" -p "projID" -c "chapID" -s "sceneID" -i "im
|
|
|
454
470
|
> âšī¸ `useFlowKey` is **locked natively to `true`** â you must have a valid Flow Key.
|
|
455
471
|
> âšī¸ Only run `GENERATE_VIDEO` **after** the scene already has a successful matching-orientation image.
|
|
456
472
|
> âšī¸ When `-E` (endscene) is set, the response includes `generationMode: "CHAINED_VIDEO"`.
|
|
473
|
+
> âšī¸ When `--speed` include: `normal`, `slowmotion`, `timelapse`
|
|
457
474
|
|
|
458
475
|
```bash
|
|
459
476
|
veogent request -t "GENERATE_VIDEO" -p "projID" -c "chapID" -s "sceneA" \
|