@koda-sl/baker-cli 0.192.4 → 0.194.0-dev.5dba041c4

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
@@ -777,6 +777,12 @@ baker ads meta ads --account-id act_123 --all-statuses # widen to
777
777
  baker ads meta creatives --creative-id 9988
778
778
  baker ads meta preview --creative-id 9988 --ad-format MOBILE_FEED_STANDARD --out-file /tmp/p.html
779
779
 
780
+ # "Why does it show as a still image in one placement?"
781
+ baker ads meta insights --object 9988 --level ad --intent video \
782
+ --breakdowns publisher_platform,platform_position --date-preset last_30d # one ad only: hints flag placements that never played
783
+ baker ads meta preview --creative-id 9988 --placement facebook_reels_overlay --platform facebook
784
+ baker ads meta preview --list-formats # ad_format values + placement mappings
785
+
780
786
  # "What audience is this targeting?"
781
787
  baker ads meta audiences --account-id act_123
782
788
 
@@ -847,10 +853,14 @@ creatives # list per account, or fetch single via --creative-id
847
853
  audiences # custom audiences (incl. lookalikes)
848
854
  pixels # list, or --stats for one --pixel-id (see "Restricted pixel fields")
849
855
  activities # account audit log, ~90d retention
850
- insights # see "Smart defaults" above
851
- preview # iframe HTML for a creative or ad in a given ad_format
856
+ insights # see "Smart defaults" above; a single-ad placement breakdown returns hints
857
+ # naming placements that delivered impressions but never played the video
858
+ preview # iframe HTML for a creative or ad in a given ad_format, or in the
859
+ # placement an insights breakdown reported (--placement, --list-formats)
852
860
  ```
853
861
 
862
+ Placement diagnostics deliberately stop at evidence. `insights` names a suspect placement with its share of delivery, `preview` shows what Meta renders there, and neither asserts *why* — Meta documents an eligibility error for a video creative in a video-incompatible placement, not a silent fallback to the cover frame. Ad-set writes that pin placements warn about the learning-phase reset, and a placement set missing the `feed` Meta requires alongside `marketplace`/`search`/`profile_feed`/`notification` is rejected at stage time.
863
+
854
864
  The HTTP backend exposes more endpoints (catalogs, ad-studies, ad-images, labels, high-demand-periods, raw currency lookup). They're intentionally not surfaced as CLI commands because AI agents rarely need them. Hit them via curl against `/api/ads/meta/*` if needed.
855
865
 
856
866
  #### Auth + caching
@@ -1773,6 +1783,8 @@ Each external source is its own subcommand. Pick the verb that matches the sourc
1773
1783
  | `baker images delete <id>` | Delete a record | n/a |
1774
1784
  | `baker images normalize <files>` | Local recolor + bg removal + trim + resize | n/a (operates on disk, no upload) |
1775
1785
  | `baker images upscale <imageId>` | Real-ESRGAN super-resolution via backend ($0.05/image, cost-tracked) | n/a (operates on library image) |
1786
+ | `baker images layerize <imageId>` | Split into editable layers — transparent cutouts per element plus baked-in copy recovered as editable text (costs credits) | n/a (operates on library image) |
1787
+ | `baker images layers <imageId>` | Read the layers of an already-split image (free) | n/a (operates on library image) |
1776
1788
  | `baker images crop <file>` | Coordinate-based rectangular extract — local file or URL | n/a |
1777
1789
  | `baker images dimensions <file\|url>` | Read width / height / aspect / format without decoding | n/a |
1778
1790
  | `baker images tags` | List available image tag names (defaults + company custom tags) | n/a |
@@ -2251,6 +2263,23 @@ Validation errors return `VALIDATION_ERROR`:
2251
2263
  - Malformed `--color` (must be `#RGB` or `#RRGGBB`)
2252
2264
  - Empty file pattern or no matches
2253
2265
 
2266
+ ### `baker images layerize <imageId>`
2267
+
2268
+ Splits a library image into editable layers and waits for completion (~90s). Returns a transparent PNG per element — each at a permanent URL usable as a canvas input — plus any headline that was drawn into the picture, recovered as real copy with its font, size, weight and colour.
2269
+
2270
+ ```bash
2271
+ baker images layerize j571abc123def
2272
+ baker images layerize j571abc123def --full # geometry + typography
2273
+ baker images layerize j571abc123def --instructions "keep the bottle and its shadow together"
2274
+ baker images layerize j571abc123def --max-wait 0 # fire-and-forget
2275
+ ```
2276
+
2277
+ The model separates what was *visible* and does not repaint what sat behind a subject, so the flat picture is kept as an `Original image` layer underneath.
2278
+
2279
+ ### `baker images layers <imageId>`
2280
+
2281
+ Reads back the layers of an image already split with `layerize`. Free — no provider call. `--full` includes geometry and typography.
2282
+
2254
2283
  ### `baker images upscale <imageId>`
2255
2284
 
2256
2285
  Super-resolution via the Convex backend (Replicate, cost-tracked at $0.05/image). Operates on a library image by ID — upload the file first via `baker images upload`, then upscale.