cineprompt 1.1.0 → 1.2.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CLI tool for building structured AI video prompts and share links via [cineprompt.io](https://cineprompt.io).
4
4
 
5
- Turn shot descriptions into optimized prompts for Sora, Runway, Kling, Veo, Seedance, WAN, Grok Imagine, LTX, and other AI video generators.
5
+ Turn shot descriptions into optimized prompts for Kling, Seedance, Grok Imagine, Pixverse, LTX, Runway, Veo, WAN, and other AI video generators.
6
6
 
7
7
  ## Install
8
8
 
@@ -53,7 +53,7 @@ cat shot.json | cineprompt build
53
53
  ### Browse available fields
54
54
 
55
55
  ```bash
56
- # List all 133 fields
56
+ # List all 130 fields
57
57
  cineprompt fields
58
58
 
59
59
  # Show valid values for a specific field
@@ -110,13 +110,13 @@ cineprompt fields media_type
110
110
 
111
111
  ### Field types
112
112
 
113
- - **Button fields** (93) accept exact string values (use `cineprompt fields <name>` to see options)
113
+ - **Button fields** accept exact string values (use `cineprompt fields <name>` to see options)
114
114
  - **Array fields** accept multiple values: `"media_type": ["cinematic", "documentary"]`
115
- - **Text fields** (40) accept any string: `"subject_description": "whatever you want"`
115
+ - **Text fields** accept any string: `"subject_description": "whatever you want"`
116
116
 
117
117
  ## Modes
118
118
 
119
- **Single Shot** — full cinematography control over one shot. 133 fields across subject, camera, lighting, color, environment, and sound.
119
+ **Single Shot** — full cinematography control over one shot. 130 fields across subject, camera, lighting, color, environment, and sound.
120
120
 
121
121
  **Multi-Shot** — sequence of shots with global settings + per-shot overrides. Recurring characters, 28 transition types.
122
122
 
@@ -179,7 +179,7 @@
179
179
  "shot on Panasonic GH5",
180
180
  "shot on Blackmagic Pocket Cinema Camera 6K",
181
181
  "shot on IMAX 65mm",
182
- "shot on \u00c9clair NPR 16mm",
182
+ "shot on Éclair NPR 16mm",
183
183
  "shot on Canon 814 XL-S Super 8",
184
184
  "shot on Kodak Brownie 8mm",
185
185
  "shot on Canon Scoopic 16mm",
@@ -332,6 +332,67 @@
332
332
  "bark-like, wooden",
333
333
  "shadowy, made of darkness"
334
334
  ],
335
+ "creature_subtype": [
336
+ "wolf",
337
+ "lion",
338
+ "tiger",
339
+ "bear",
340
+ "deer",
341
+ "elephant",
342
+ "fox",
343
+ "leopard",
344
+ "bison",
345
+ "gorilla",
346
+ "rhino",
347
+ "hippo",
348
+ "moose",
349
+ "cheetah",
350
+ "dog",
351
+ "cat",
352
+ "horse",
353
+ "cow",
354
+ "sheep",
355
+ "pig",
356
+ "chicken",
357
+ "rabbit",
358
+ "eagle",
359
+ "owl",
360
+ "songbird",
361
+ "parrot",
362
+ "penguin",
363
+ "swan",
364
+ "crow",
365
+ "flamingo",
366
+ "hummingbird",
367
+ "peacock",
368
+ "dove",
369
+ "falcon",
370
+ "heron",
371
+ "pelican",
372
+ "whale",
373
+ "shark",
374
+ "dolphin",
375
+ "octopus",
376
+ "sea turtle",
377
+ "jellyfish",
378
+ "tropical fish",
379
+ "seal",
380
+ "butterfly",
381
+ "bee",
382
+ "ant",
383
+ "spider",
384
+ "beetle",
385
+ "dragonfly",
386
+ "grasshopper",
387
+ "scorpion",
388
+ "snake",
389
+ "lizard",
390
+ "crocodile",
391
+ "tortoise",
392
+ "chameleon",
393
+ "komodo dragon",
394
+ "frog"
395
+ ],
335
396
  "custom_location": [],
336
397
  "delivery_style": [
337
398
  "spoken softly, whispered",
@@ -362,7 +423,6 @@
362
423
  ],
363
424
  "delivery_style_custom": [],
364
425
  "dialogue": [],
365
- "dialogue_character": [],
366
426
  "dialogue_language": [],
367
427
  "documentary_style": [
368
428
  "nature documentary",
@@ -370,7 +430,7 @@
370
430
  "true crime documentary",
371
431
  "historical documentary",
372
432
  "observational documentary",
373
- "cin\u00e9ma v\u00e9rit\u00e9 documentary",
433
+ "cinéma vérité documentary",
374
434
  "biographical documentary",
375
435
  "social political documentary",
376
436
  "science documentary",
@@ -429,40 +489,6 @@
429
489
  "Lomography Color 400 film, saturated unpredictable colors",
430
490
  "expired film stock, color shifted unpredictable faded"
431
491
  ],
432
- "fm_chips_camera": [
433
- "Slow push in",
434
- "Slow pull out",
435
- "Orbit",
436
- "Dolly",
437
- "Crane up",
438
- "Crane down",
439
- "Handheld",
440
- "Tracking shot",
441
- "Locked off"
442
- ],
443
- "fm_chips_direction": [
444
- "Slow Build",
445
- "One at a Time",
446
- "Breathe",
447
- "Anchor",
448
- "Physics",
449
- "Chaos",
450
- "Match"
451
- ],
452
- "fm_chips_pacing": [
453
- "Slow motion",
454
- "Real-time",
455
- "Time-lapse",
456
- "Hyperlapse"
457
- ],
458
- "fm_chips_transition": [
459
- "Whip pan",
460
- "Steadicam",
461
- "Rack focus",
462
- "Reveal",
463
- "Morph",
464
- "Dissolve"
465
- ],
466
492
  "focal_length": [
467
493
  "8mm fisheye lens",
468
494
  "12mm lens",
@@ -622,6 +648,11 @@
622
648
  "reaction to environment",
623
649
  "transformation"
624
650
  ],
651
+ "isolation": [
652
+ "isolated on a clean white studio background, white cyclorama, no shadows",
653
+ "isolated on a pure black background, void, no reflections",
654
+ "isolated on a bright green screen background, chroma key, evenly lit"
655
+ ],
625
656
  "key_light": [],
626
657
  "land_scale": [
627
658
  "intimate, small detail",
@@ -629,14 +660,6 @@
629
660
  "vast panoramic landscape",
630
661
  "infinite horizon, endless expanse"
631
662
  ],
632
- "land_season": [
633
- "spring, fresh green",
634
- "summer, lush and warm",
635
- "autumn, golden leaves",
636
- "winter, cold and bare",
637
- "dry season, arid",
638
- "monsoon, heavy rain"
639
- ],
640
663
  "lens_brand": [
641
664
  "ARRI Master Prime",
642
665
  "ARRI Signature Prime",
@@ -736,7 +759,7 @@
736
759
  "prison cell",
737
760
  "bar",
738
761
  "nightclub",
739
- "caf\u00e9",
762
+ "café",
740
763
  "restaurant",
741
764
  "diner",
742
765
  "hotel lobby",
@@ -969,7 +992,7 @@
969
992
  "shot on Panasonic GH5",
970
993
  "shot on Blackmagic Pocket Cinema Camera 6K",
971
994
  "shot on IMAX 65mm",
972
- "shot on \u00c9clair NPR 16mm",
995
+ "shot on Éclair NPR 16mm",
973
996
  "shot on Canon 814 XL-S Super 8",
974
997
  "shot on Kodak Brownie 8mm",
975
998
  "shot on Canon Scoopic 16mm",
@@ -1042,7 +1065,7 @@
1042
1065
  "true crime documentary",
1043
1066
  "historical documentary",
1044
1067
  "observational documentary",
1045
- "cin\u00e9ma v\u00e9rit\u00e9 documentary",
1068
+ "cinéma vérité documentary",
1046
1069
  "biographical documentary",
1047
1070
  "social political documentary",
1048
1071
  "science documentary",
@@ -1506,6 +1529,81 @@
1506
1529
  "military",
1507
1530
  "racing"
1508
1531
  ],
1532
+ "veh_subtype": [
1533
+ "sports car",
1534
+ "sedan",
1535
+ "SUV",
1536
+ "race car",
1537
+ "hot rod",
1538
+ "taxi",
1539
+ "police car",
1540
+ "convertible",
1541
+ "sport bike",
1542
+ "cruiser motorcycle",
1543
+ "chopper",
1544
+ "cafe racer",
1545
+ "dirt bike",
1546
+ "scooter",
1547
+ "touring motorcycle",
1548
+ "bobber motorcycle",
1549
+ "pickup truck",
1550
+ "semi truck",
1551
+ "delivery truck",
1552
+ "fire truck",
1553
+ "military truck",
1554
+ "monster truck",
1555
+ "dump truck",
1556
+ "tow truck",
1557
+ "sailboat",
1558
+ "speedboat",
1559
+ "fishing boat",
1560
+ "canoe",
1561
+ "rowboat",
1562
+ "pontoon boat",
1563
+ "tugboat",
1564
+ "raft",
1565
+ "cruise ship",
1566
+ "cargo ship",
1567
+ "warship",
1568
+ "pirate ship",
1569
+ "tanker ship",
1570
+ "aircraft carrier",
1571
+ "submarine",
1572
+ "commercial airliner",
1573
+ "private jet",
1574
+ "fighter jet",
1575
+ "biplane",
1576
+ "seaplane",
1577
+ "cargo plane",
1578
+ "bomber aircraft",
1579
+ "propeller plane",
1580
+ "military helicopter",
1581
+ "medical helicopter",
1582
+ "police helicopter",
1583
+ "news helicopter",
1584
+ "transport helicopter",
1585
+ "tour helicopter",
1586
+ "steam locomotive",
1587
+ "bullet train",
1588
+ "diesel train",
1589
+ "subway train",
1590
+ "freight train",
1591
+ "trolley",
1592
+ "monorail",
1593
+ "road bike",
1594
+ "mountain bike",
1595
+ "BMX bike",
1596
+ "cruiser bike",
1597
+ "e-bike",
1598
+ "tricycle",
1599
+ "rocket",
1600
+ "space shuttle",
1601
+ "space station",
1602
+ "fighter spacecraft",
1603
+ "colony ship",
1604
+ "space probe",
1605
+ "landing module"
1606
+ ],
1509
1607
  "veh_type": [
1510
1608
  "car",
1511
1609
  "motorcycle",
@@ -1534,4 +1632,4 @@
1534
1632
  "smoke drifting through scene",
1535
1633
  "humid, tropical heat"
1536
1634
  ]
1537
- }
1635
+ }
@@ -14,7 +14,7 @@ function nlJoin(arr) {
14
14
  // Section ordering (Universal model default)
15
15
  const SECTION_ORDER = [
16
16
  { section: 'STYLE', fields: ['media_type', 'commercial_type', 'documentary_style', 'animation_style', 'music_video_style', 'social_media_style', 'genre', 'tone', 'format'] },
17
- { section: 'SUBJECT', fields: ['char_label', 'age_range', 'build', 'hair_style', 'hair_color', 'subject_description', 'wardrobe', 'expression', 'body_language', 'framing', 'creature_category', 'creature_label', 'creature_size', 'creature_body', 'creature_skin', 'creature_description', 'creature_expression', 'creature_framing', 'obj_description', 'obj_material', 'obj_condition', 'obj_scale', 'prod_description', 'prod_material', 'prod_staging', 'prod_condition', 'food_description', 'food_state', 'food_presentation', 'food_texture', 'cloth_description', 'cloth_fabric', 'cloth_presentation', 'cloth_fit', 'art_description', 'art_medium', 'art_setting', 'art_condition', 'botan_description', 'botan_type', 'botan_stage', 'botan_detail', 'veh_type', 'veh_description', 'veh_era', 'veh_condition', 'land_season', 'land_scale', 'abs_description', 'abs_quality', 'abs_movement'] },
17
+ { section: 'SUBJECT', fields: ['char_label', 'age_range', 'build', 'hair_style', 'hair_color', 'subject_description', 'wardrobe', 'expression', 'body_language', 'framing', 'creature_category', 'creature_subtype', 'creature_label', 'creature_size', 'creature_body', 'creature_skin', 'creature_description', 'creature_expression', 'obj_description', 'obj_material', 'obj_condition', 'obj_scale', 'prod_description', 'prod_material', 'prod_staging', 'prod_condition', 'food_description', 'food_state', 'food_presentation', 'food_texture', 'cloth_description', 'cloth_fabric', 'cloth_presentation', 'cloth_fit', 'art_description', 'art_medium', 'art_setting', 'art_condition', 'botan_description', 'botan_type', 'botan_stage', 'botan_detail', 'veh_type', 'veh_subtype', 'veh_description', 'veh_era', 'veh_condition', 'land_scale', 'abs_description', 'abs_quality', 'abs_movement'] },
18
18
  { section: 'ACTIONS', fields: ['movement_type', 'pacing', 'interaction_type', 'action_primary', 'beat_1', 'beat_2', 'beat_3'] },
19
19
  { section: 'ENVIRONMENT', fields: ['setting', 'isolation', 'location_type', 'abstract_environment', 'custom_location', 'location', 'env_time', 'weather', 'props', 'env_fg', 'env_mg', 'env_bg'] },
20
20
  { section: 'CINEMATOGRAPHY', fields: ['shot_type', 'movement', 'camera_body', 'focal_length', 'lens_brand', 'lens_filter', 'dof', 'lighting_style', 'lighting_type', 'key_light', 'fill_light'] },
@@ -93,6 +93,9 @@ function buildMergeRules(fields) {
93
93
  if (c && l) return `${c}, ${l}`;
94
94
  return c || l;
95
95
  }},
96
+ 'veh_type': { mergeWith: 'veh_subtype', fn: (type, subtype) => {
97
+ return subtype || type || null;
98
+ }},
96
99
  'music_genre': { mergeWith: 'music_mood', fn: (g, m) => {
97
100
  if (g && m) return `${m.split(',')[0].trim()} ${g}`;
98
101
  return g || m;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cineprompt",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "AI video prompt builder for cinematographers. Create structured prompts and share links via cineprompt.io.",
5
5
  "keywords": [
6
6
  "ai",