@miketromba/ploof 0.1.2 → 0.1.4

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 +34 -5
  2. package/SPEC.md +31 -4
  3. package/dist/ploof.js +181 -181
  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, editing, and variations today, with a provider registry 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 | Supported |
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-1 \
62
62
  --size 1024x1024
63
63
 
64
64
  # Edit an image with context
@@ -108,13 +108,15 @@ 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 \
114
116
  --profile default \
115
117
  --prompt "Editorial portrait, dramatic side light" \
116
118
  --out assets/portrait.png \
117
- --model gpt-image-1 \
119
+ --model gpt-image-2 \
118
120
  --size 1024x1024 \
119
121
  --quality high \
120
122
  --format png
@@ -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.
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
@@ -161,7 +181,7 @@ tasks:
161
181
  provider: openai
162
182
  prompt: "Studio product photo"
163
183
  params:
164
- model: gpt-image-1
184
+ model: gpt-image-2
165
185
  size: 1024x1024
166
186
  quality: high
167
187
  output: assets/base.png
@@ -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:
@@ -265,7 +294,7 @@ PLOOF_OPENAI_API_KEY=sk-... bun test tests/e2e
265
294
  Optional live-test overrides:
266
295
 
267
296
  ```bash
268
- PLOOF_OPENAI_LIVE_MODEL=gpt-image-1
297
+ PLOOF_OPENAI_LIVE_MODEL=gpt-image-2
269
298
  PLOOF_OPENAI_LIVE_SIZE=1024x1024
270
299
  ```
271
300
 
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,13 +177,15 @@ 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 \
182
185
  --profile default \
183
186
  --prompt "Studio product photo" \
184
187
  --out assets/hero.png \
185
- --model gpt-image-1 \
188
+ --model gpt-image-2 \
186
189
  --size 1024x1024 \
187
190
  --quality high \
188
191
  --format png
@@ -209,6 +212,20 @@ 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 current OpenAI variations
227
+ endpoint only supports that model. `ploof image variations` is an alias.
228
+
212
229
  ### Batch Run
213
230
 
214
231
  ```bash
@@ -226,7 +243,7 @@ tasks:
226
243
  provider: openai
227
244
  prompt: "Studio product photo"
228
245
  params:
229
- model: gpt-image-1
246
+ model: gpt-image-2
230
247
  size: 1024x1024
231
248
  quality: high
232
249
  output: assets/base.png
@@ -241,6 +258,15 @@ tasks:
241
258
  mask: ./mask.png
242
259
  prompt: "Add a premium background"
243
260
  output: assets/final.png
261
+
262
+ - id: variation
263
+ kind: image.variation
264
+ provider: openai
265
+ needs: [base]
266
+ inputs:
267
+ images:
268
+ - task: base
269
+ output: assets/variation.png
244
270
  ```
245
271
 
246
272
  ## Asset Input Model
@@ -280,6 +306,7 @@ type Provider = {
280
306
  capabilities: ProviderCapability[]
281
307
  runImageGenerate(job, context): Promise<ProviderResult>
282
308
  runImageEdit(job, context): Promise<ProviderResult>
309
+ runImageVariation(job, context): Promise<ProviderResult>
283
310
  }
284
311
  ```
285
312
 
@@ -325,7 +352,7 @@ Asset-producing commands should write the asset to disk and print structured met
325
352
  "provider": "openai",
326
353
  "outputs": ["assets/hero.png"],
327
354
  "metadata": {
328
- "model": "gpt-image-1"
355
+ "model": "gpt-image-2"
329
356
  }
330
357
  }
331
358
  ```
@@ -429,7 +456,7 @@ The initial complete implementation should include:
429
456
  - npm package scaffolding for `@miketromba/ploof`.
430
457
  - Build, test, typecheck, lint setup.
431
458
  - OpenAI auth profiles.
432
- - OpenAI image generate/edit.
459
+ - OpenAI image generate/edit/variation.
433
460
  - Asset input normalization.
434
461
  - Manifest run with dependency-aware parallelism.
435
462
  - Output formats and sidecar metadata.