@facelessad/cli 2.0.0 → 2.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.
package/README.md CHANGED
@@ -9,10 +9,17 @@ facelessad tools # what can be made
9
9
  facelessad create --tool motion-graphics --url https://your-product.com --wait
10
10
  ```
11
11
 
12
- Ten commands: `login`, `create`, `status`, `list`, `download`, `estimate`,
13
- `tools`, `voices`, `brands`, `balance`. Every command accepts `--json` for scripting;
14
- `create`/`estimate` accept `--dry-run` (print the request body without
15
- sending) and `--file body.json` (a base body that flags override).
12
+ Commands: `login`, `create`, `status`, `list`, `download`, `estimate`,
13
+ `tools`, `voices`, `brands`, `balance`, `parts`, `regen-part`, `regen`,
14
+ `render`, `cancel`, and `webhooks` / `webhook-add` / `webhook-rm`. Every
15
+ command accepts `--json` for scripting; `create`/`estimate` accept `--dry-run`
16
+ (print the request body without sending) and `--file body.json` (a base body
17
+ that flags override).
18
+
19
+ A finished video can be fixed part by part: `parts <id>` shows what it is made
20
+ of and `regen-part` redoes one clip, image card, graphics block — or, on
21
+ background-image styles (marked `+bg` in `tools`), one `bg-N` AI photo
22
+ backdrop with `--prompt`. The whole video re-renders automatically.
16
23
 
17
24
  The key is stored in `~/.facelessad/config.json` with mode 0600. The
18
25
  environment variable `FACELESSAD_API_KEY` always wins — that is the way CI
package/SKILL.md CHANGED
@@ -207,6 +207,11 @@ Which flag a part takes is in its `regenerate_requires`:
207
207
  text-animation, video-banner, and the graphics layer of product-showcase):
208
208
  a plain-language change such as `"make the headline say Faster onboarding"`.
209
209
  The server applies it to the block's current code — you never send code.
210
+ - `--prompt` on a `bg-N` part — background images (styles marked `genBg` in
211
+ the registry / `+bg` in `facelessad tools`): describe the new AI photo
212
+ backdrop, e.g. `"warm sunset gradient with soft haze"`. The graphics stay
213
+ untouched, text/logos/UI are always excluded automatically, and the video
214
+ re-renders. 6 credits per image.
210
215
 
211
216
  Product Showcase lists two parts per scene: the product clip (`--prompt`) and
212
217
  the graphics over it (`--instruction`). Continuous videos chain their clips
@@ -317,6 +322,7 @@ names the offending field and usually the valid values.
317
322
  - `card_needs_image_prompt` — a card needs `--image-prompt`, not `--prompt`.
318
323
  - `webhook_limit` / `webhook_not_found` / `invalid_url` — five endpoints per account; no such id; or a URL we cannot reach.
319
324
  - `graphics_needs_instruction` / `instruction_not_supported` — graphics blocks take `--instruction`, and only they do.
325
+ - `bg_needs_prompt` — a `bg-N` background image is regenerated with `--prompt` describing the backdrop.
320
326
 
321
327
  ## Rules for agents
322
328
 
package/index.js CHANGED
@@ -550,7 +550,10 @@ const commands = {
550
550
  const t = (d.tools || []).find((x) => x.id === flags.tool);
551
551
  if (!t) die('Unknown tool "' + flags.tool + '". Valid: ' + (d.tools || []).map((x) => x.id).join(', '), 'unknown_tool');
552
552
  const lines = [bold(t.id) + ' — ' + (t.name || '')];
553
- if (t.styles?.length) lines.push(' styles: ' + t.styles.map((s) => s.id).join(', '));
553
+ // 2.1.0 (§848 genBg): tyylit joilla on AI-generoitu kuvatausta merkitään
554
+ // +bg-liitteellä — rekisterin genBg-lippu, +6 cr / partti arvioon.
555
+ if (t.styles?.length) lines.push(' styles: ' + t.styles.map((s) => s.id + (s.genBg ? '+bg' : '')).join(', '));
556
+ if (t.styles?.some((s) => s.genBg)) lines.push(' ' + dim('+bg = AI photo background, +6 credits per part (regenerable later: facelessad regen-part <id> --part bg-N --prompt "...")'));
554
557
  // 1.2.0: rekisteri kertoo rakenteet KOLMESSA muodossa (§698). Ennen tämä
555
558
  // tulosti vain adStructures-listan, joka on oletusryhmän pooli — eli
556
559
  // animated-adilla 17 rakennetta 46:sta ja motion-graphicsilla 6 sadasta
@@ -753,7 +756,7 @@ const commands = {
753
756
 
754
757
  async 'regen-part'() {
755
758
  const id = positional[0];
756
- if (!id) die('Usage: facelessad regen-part <id> --part <uid> [--prompt|--image-prompt|--instruction "..."]', 'missing_id');
759
+ if (!id) die('Usage: facelessad regen-part <id> --part <uid> [--prompt|--image-prompt|--instruction "..."]\n scene clip: --prompt (new take) / --image-prompt (new image first)\n image card: --image-prompt\n graphics block (gfx-N): --instruction (plain-language edit)\n background image (bg-N): --prompt (describe the new backdrop — text/logos/UI always excluded)', 'missing_id');
757
760
  const uid = flags.part;
758
761
  if (!uid || uid === true) die('--part <uid> is required — run: facelessad parts ' + id, 'missing_part');
759
762
  const body = {};
@@ -899,6 +902,10 @@ Regenerate flags (regen-part) — the ONLY flags this command takes:
899
902
  Animation, banner, and the graphics layer of product-showcase:
900
903
  plain-language edit, e.g. "make the headline say Faster onboarding".
901
904
  You never send or receive code.)
905
+ --prompt "<backdrop>" (bg-N background images — styles marked +bg
906
+ in facelessad tools: describe the new AI photo backdrop, e.g. "warm
907
+ sunset gradient with soft haze". Graphics stay untouched; text, logos
908
+ and UI are always excluded automatically. 6 credits per image.)
902
909
 
903
910
  Video Banner flags (silent looping banner — no voice, no script):
904
911
  --headline "..." --subline "..." --cta-text "..."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@facelessad/cli",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Create faceless video ads from your terminal or build scripts \u2014 the FacelessAd command line.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,4 +23,4 @@
23
23
  "cli"
24
24
  ],
25
25
  "homepage": "https://facelessad.com/developers"
26
- }
26
+ }