@facelessad/cli 1.0.2 → 1.1.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 (3) hide show
  1. package/README.md +41 -0
  2. package/index.js +14 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -27,6 +27,47 @@ stops on it immediately instead of polling forever. For long-running
27
27
  builds a webhook is still the better tool — a stuck shell is a stuck CI
28
28
  job. See https://facelessad.com/developers → Webhooks.
29
29
 
30
+ ## Custom style (1.1.0)
31
+
32
+ Most tools accept a look of your own instead of one of the built-in styles.
33
+ `facelessad tools` marks which ones (`supports.customStyle`):
34
+
35
+ ```bash
36
+ facelessad create --tool motion-graphics --url https://your-product.com \
37
+ --style custom \
38
+ --custom-style "Retro terminal — phosphor green on near-black, scan lines, chunky mono type" --wait
39
+ ```
40
+
41
+ What to describe depends on what the tool builds. Animated Ad, Character,
42
+ Music Video, Inspiration, Motivational and Slideshow render images, so
43
+ describe the illustration or cinematic style. Motion Graphics, SaaS UI Ad,
44
+ Text Animation and Video Banner generate their graphics as code, so describe
45
+ typography, palette and motion. Crude Drawings has no custom style.
46
+
47
+ Product Showcase builds both — cinematic clips animated from your real
48
+ product photo, and text graphics drawn in code on top — so it takes two
49
+ descriptions:
50
+
51
+ ```bash
52
+ facelessad create --tool product-showcase --product-image https://.../bottle.jpg \
53
+ --text "A steel bottle that keeps drinks cold for 24 hours" \
54
+ --style custom \
55
+ --custom-style "Frozen tundra — cracked ice, pale blue rim light, slow orbiting camera" \
56
+ --custom-graphics-style "Deep navy typography, thin white hairlines — the video reads light" --wait
57
+ ```
58
+
59
+ Leave `--custom-graphics-style` out and it is written for you from the first
60
+ description.
61
+
62
+ Your text is expanded into a full style specification before the video is
63
+ built. `facelessad status <id> --json` returns the expanded text as
64
+ `customStyle`; feed it back with `--no-refine-style` to give a whole
65
+ campaign one identical look.
66
+
67
+ `--style-hint` is now an alias: with no `--style`, it is treated exactly like
68
+ `--custom-style`. Before 1.1.0 it only reached the script writer and could
69
+ not change how the video looked.
70
+
30
71
  ## Flag spellings (1.0.1)
31
72
 
32
73
  Both spellings are accepted, because the older ones appeared on the
package/index.js CHANGED
@@ -111,6 +111,10 @@ if (flags['no-music'] === true) { flags.music = 'false'; delete flags['no-music'
111
111
  */
112
112
  const KNOWN_FLAGS = new Set([
113
113
  'tool', 'url', 'text', 'duration', 'aspect', 'language', 'style', 'style-hint',
114
+ // 1.1.0 (§673): custom style. --style custom yksin ei riita — palvelin
115
+ // vastaa custom_style_required, ja se on tarkoitus: tyylin sisalto ON
116
+ // kayttajan teksti.
117
+ 'custom-style', 'custom-graphics-style', 'no-refine-style',
114
118
  'structure', 'hook', 'video-mode', 'brand-color', 'brand-name', 'cta', 'name',
115
119
  'voice', 'gender', 'no-voice', 'music', 'sfx', 'captions', 'product-image',
116
120
  'no-brand-kit', 'no-winners', 'brand-kit',
@@ -220,6 +224,13 @@ function buildBody() {
220
224
  set('language', flags.language !== undefined ? String(flags.language) : undefined);
221
225
  set('style', flags.style !== undefined ? String(flags.style) : undefined);
222
226
  set('style_hint', flags['style-hint'] !== undefined ? String(flags['style-hint']) : undefined);
227
+ // 1.1.0 (§673): oma tyyli. --custom-style on ainoa lippu joka oikeasti
228
+ // vaihtaa videon ilmeen; --style-hint on nykyaan sen alias silloin kun
229
+ // --style on antamatta. --custom-graphics-style koskee vain
230
+ // product-showcasea (video + sen paalle koodilla piirretyt grafiikat).
231
+ set('custom_style', flags['custom-style'] !== undefined ? String(flags['custom-style']) : undefined);
232
+ set('custom_graphics_style', flags['custom-graphics-style'] !== undefined ? String(flags['custom-graphics-style']) : undefined);
233
+ if (flags['no-refine-style'] === true) body.custom_style_refine = false;
223
234
  set('ad_structure', flags.structure !== undefined ? String(flags.structure) : undefined);
224
235
  set('hook_formula', flags.hook !== undefined ? String(flags.hook) : undefined);
225
236
  set('video_mode', flags['video-mode'] !== undefined ? String(flags['video-mode']) : undefined);
@@ -392,6 +403,9 @@ Commands:
392
403
 
393
404
  Create flags:
394
405
  --tool --url --text --duration --aspect --language --style --style-hint
406
+ --custom-style "<look you want>" (with --style custom; see facelessad tools)
407
+ --custom-graphics-style "<...>" (product-showcase only)
408
+ --no-refine-style (use your text verbatim, don't expand it)
395
409
  --structure --hook --video-mode --brand-color --brand-name --cta --name
396
410
  --voice --gender --no-voice --music --sfx --captions --product-image
397
411
  --no-brand-kit --no-winners --brand-kit <id> (see: facelessad brands)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@facelessad/cli",
3
- "version": "1.0.2",
3
+ "version": "1.1.0",
4
4
  "description": "Create faceless video ads from your terminal or build scripts — the FacelessAd command line.",
5
5
  "license": "MIT",
6
6
  "type": "module",