@miketromba/ploof 0.1.3 → 0.1.5

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 (4) hide show
  1. package/README.md +31 -2
  2. package/SPEC.md +31 -1
  3. package/dist/ploof.js +169 -169
  4. package/package.json +1 -1
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  <img src="https://img.shields.io/badge/node-%3E%3D18-brightgreen" alt="node version" />
10
10
  </p>
11
11
 
12
- Ploof is a CLI for generating and editing creative assets with AI providers. It supports OpenAI image generation and editing today, with a provider registry designed for audio, video, and broader model marketplaces over time.
12
+ Ploof is a CLI for generating and editing creative assets with AI providers. It supports OpenAI image generation and editing today, plus the legacy OpenAI image variations endpoint when the authenticated project has access. The provider registry is designed for audio, video, and broader model marketplaces over time.
13
13
 
14
14
  It is built for both developers and AI agents: predictable commands, parseable output, local auth profiles, YAML manifests, parallel execution, and a companion skill.
15
15
 
@@ -20,6 +20,7 @@ It is built for both developers and AI agents: predictable commands, parseable o
20
20
  | OpenAI auth profiles | Supported |
21
21
  | OpenAI image generation | Supported |
22
22
  | OpenAI image editing | Supported |
23
+ | OpenAI image variations | Legacy endpoint; supported when available to the authenticated project |
23
24
  | Context images and masks | Supported |
24
25
  | YAML/JSON batch manifests | Supported |
25
26
  | Dependency-aware parallel runs | Supported |
@@ -58,7 +59,6 @@ ploof login openai --api-key <your-api-key>
58
59
  ploof image generate \
59
60
  --prompt "Studio product photo of a matte black water bottle" \
60
61
  --out assets/hero.png \
61
- --model gpt-image-2 \
62
62
  --size 1024x1024
63
63
 
64
64
  # Edit an image with context
@@ -108,6 +108,8 @@ ploof login openai \
108
108
 
109
109
  ## Image Generation
110
110
 
111
+ OpenAI image generation and editing default to `gpt-image-2` when `--model` is omitted.
112
+
111
113
  ```bash
112
114
  ploof image generate \
113
115
  --provider openai \
@@ -150,6 +152,24 @@ ploof image edit \
150
152
 
151
153
  Use repeated `--image` flags for context/reference images. Use `--mask` when the selected provider/model supports masked edits.
152
154
 
155
+ ## Image Variations
156
+
157
+ OpenAI image variations use the legacy variations endpoint and default to `dall-e-2`, which is currently the only supported model for that endpoint. If OpenAI returns a 404 for this command, use `ploof image edit` for image-to-image workflows or try a profile/project with DALL-E 2 variation access.
158
+
159
+ ```bash
160
+ ploof image variation \
161
+ --provider openai \
162
+ --image input.png \
163
+ --out variation.png \
164
+ --size 1024x1024
165
+ ```
166
+
167
+ The plural alias also works:
168
+
169
+ ```bash
170
+ ploof image variations --image input.png --out variation.png
171
+ ```
172
+
153
173
  ## Batch Manifests
154
174
 
155
175
  ```yaml
@@ -176,6 +196,15 @@ tasks:
176
196
  mask: ./mask.png
177
197
  prompt: "Add a premium background"
178
198
  output: assets/final.png
199
+
200
+ - id: variation
201
+ kind: image.variation
202
+ provider: openai
203
+ needs: [base]
204
+ inputs:
205
+ images:
206
+ - task: base
207
+ output: assets/variation.png
179
208
  ```
180
209
 
181
210
  Run it:
package/SPEC.md CHANGED
@@ -86,6 +86,7 @@ Initial capabilities:
86
86
 
87
87
  - `image.generate`
88
88
  - `image.edit`
89
+ - `image.variation`
89
90
 
90
91
  Future providers should be added through the provider registry without changing the manifest model.
91
92
 
@@ -176,6 +177,8 @@ ploof config reset
176
177
 
177
178
  ### Image Generation
178
179
 
180
+ OpenAI image generation and editing default to `gpt-image-2` when no model is specified.
181
+
179
182
  ```bash
180
183
  ploof image generate \
181
184
  --provider openai \
@@ -209,6 +212,23 @@ ploof image edit \
209
212
 
210
213
  The CLI must support multiple context images where the provider supports them.
211
214
 
215
+ ### Image Variations
216
+
217
+ ```bash
218
+ ploof image variation \
219
+ --provider openai \
220
+ --image input.png \
221
+ --out assets/variation.png \
222
+ --model dall-e-2 \
223
+ --size 1024x1024
224
+ ```
225
+
226
+ OpenAI variations default to `dall-e-2`, because the legacy OpenAI variations
227
+ endpoint only supports that model. This endpoint is supported when the
228
+ authenticated project has DALL-E 2 variation access; if OpenAI returns a 404,
229
+ use `ploof image edit` for image-to-image workflows. `ploof image variations`
230
+ is an alias.
231
+
212
232
  ### Batch Run
213
233
 
214
234
  ```bash
@@ -241,6 +261,15 @@ tasks:
241
261
  mask: ./mask.png
242
262
  prompt: "Add a premium background"
243
263
  output: assets/final.png
264
+
265
+ - id: variation
266
+ kind: image.variation
267
+ provider: openai
268
+ needs: [base]
269
+ inputs:
270
+ images:
271
+ - task: base
272
+ output: assets/variation.png
244
273
  ```
245
274
 
246
275
  ## Asset Input Model
@@ -280,6 +309,7 @@ type Provider = {
280
309
  capabilities: ProviderCapability[]
281
310
  runImageGenerate(job, context): Promise<ProviderResult>
282
311
  runImageEdit(job, context): Promise<ProviderResult>
312
+ runImageVariation(job, context): Promise<ProviderResult>
283
313
  }
284
314
  ```
285
315
 
@@ -429,7 +459,7 @@ The initial complete implementation should include:
429
459
  - npm package scaffolding for `@miketromba/ploof`.
430
460
  - Build, test, typecheck, lint setup.
431
461
  - OpenAI auth profiles.
432
- - OpenAI image generate/edit.
462
+ - OpenAI image generate/edit/variation.
433
463
  - Asset input normalization.
434
464
  - Manifest run with dependency-aware parallelism.
435
465
  - Output formats and sidecar metadata.