veogent 1.1.1 → 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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veogent",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "The official CLI to interact with the VEOGENT API - AI Video and Image generation platform",
5
5
  "main": "index.js",
6
6
  "bin": {
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
  ---