image-skill 0.1.33 → 0.1.34

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/CHANGELOG.md CHANGED
@@ -4,6 +4,14 @@ This changelog tracks the public `image-skill` CLI package and public skill
4
4
  mirror. The npm package metadata remains the authority for tarball integrity and
5
5
  provenance; this file is the human- and agent-readable release map.
6
6
 
7
+ ## 0.1.34 - 2026-06-04
8
+
9
+ - Fix (guide): `create --guide --model openai.gpt-image-2-edit` now returns an
10
+ edit-shaped next command with an input placeholder and prompt instead of
11
+ rejecting the requested edit model as non-create. The `image-edit` and
12
+ `image-to-3d` intent skills now start from the guide-first zero-setup path,
13
+ and their advertised live command caps match current model-priced credits.
14
+
7
15
  ## 0.1.33 - 2026-06-04
8
16
 
9
17
  - Fix (guide): public `create --guide` replay commands now preserve explicit
@@ -7,7 +7,7 @@ import { Readable } from "node:stream";
7
7
  import { pipeline } from "node:stream/promises";
8
8
  import os from "node:os";
9
9
 
10
- const VERSION = "0.1.33";
10
+ const VERSION = "0.1.34";
11
11
  const PACKAGE_NAME = "image-skill";
12
12
  const DEFAULT_API_BASE_URL = "https://api.image-skill.com";
13
13
  const DEFAULT_DOCS_BASE_URL = "https://image-skill.com";
@@ -1646,7 +1646,9 @@ async function createGuide(args) {
1646
1646
  requestedIntent,
1647
1647
  )
1648
1648
  : createGuideSelectedModelRequiresInputImage(selected)
1649
- ? "requested executable image-to-3D model"
1649
+ ? selected.modality === "3d"
1650
+ ? "requested executable image-to-3D model"
1651
+ : "requested executable input-image edit model"
1650
1652
  : "requested executable create model",
1651
1653
  },
1652
1654
  cost: {
@@ -1702,15 +1704,14 @@ function selectCreateGuideModel(
1702
1704
  model?.execution?.model_execution_status === "executable" &&
1703
1705
  Array.isArray(model?.supports) &&
1704
1706
  model.supports.includes("create");
1705
- const isExecutableImageTo3d = (model) =>
1707
+ const isExecutableInputImageEdit = (model) =>
1706
1708
  model?.status === "available" &&
1707
1709
  model?.execution?.model_execution_status === "executable" &&
1708
- model?.modality === "3d" &&
1709
1710
  Array.isArray(model?.supports) &&
1710
- model.supports.includes("variation") &&
1711
+ (model.supports.includes("edit") || model.supports.includes("variation")) &&
1711
1712
  createGuideSelectedModelRequiresInputImage(model);
1712
1713
  const isExecutableGuideModel = (model) =>
1713
- isExecutableCreate(model) || isExecutableImageTo3d(model);
1714
+ isExecutableCreate(model) || isExecutableInputImageEdit(model);
1714
1715
  if (requestedModelId !== null) {
1715
1716
  const requested = models.find((model) => model.id === requestedModelId);
1716
1717
  return requested !== undefined && isExecutableGuideModel(requested)
@@ -1720,7 +1721,10 @@ function selectCreateGuideModel(
1720
1721
  const candidates = models.filter(isExecutableCreate);
1721
1722
  if (createGuideImplies3d({ prompt, intent })) {
1722
1723
  const eligible3d = guideCandidatesWithinBudget({
1723
- candidates: models.filter(isExecutableImageTo3d),
1724
+ candidates: models.filter(
1725
+ (model) =>
1726
+ model?.modality === "3d" && isExecutableInputImageEdit(model),
1727
+ ),
1724
1728
  maxEstimatedUsdPerImage,
1725
1729
  });
1726
1730
  const threeDimensional = eligible3d[0];
@@ -1859,7 +1863,9 @@ function createGuideSuggestedAspectRatio(model) {
1859
1863
 
1860
1864
  function createGuideSelectedModelRequiresInputImage(model) {
1861
1865
  return (
1862
- model?.modality === "3d" && model?.media?.input?.images?.required === true
1866
+ model?.media?.input?.images?.required === true &&
1867
+ Array.isArray(model?.supports) &&
1868
+ (model.supports.includes("edit") || model.supports.includes("variation"))
1863
1869
  );
1864
1870
  }
1865
1871
 
@@ -2603,8 +2609,9 @@ function createGuideNextCommand(stage, input) {
2603
2609
  );
2604
2610
  }
2605
2611
  if (createGuideSelectedModelRequiresInputImage(input.selected)) {
2606
- return renderImageTo3dGuideCommand({
2612
+ return renderInputImageGuideCommand({
2607
2613
  modelId: input.selected.id,
2614
+ prompt: input.prompt,
2608
2615
  budgetGuard: input.budgetGuard,
2609
2616
  dryRun: false,
2610
2617
  idempotencyKey: `edit-guide-${Date.now()}-${randomBytes(4).toString("hex")}`,
@@ -2654,8 +2661,9 @@ function createGuideEscapeHatches(input) {
2654
2661
  "create --dry-run --prompt PROMPT --json",
2655
2662
  )
2656
2663
  : createGuideSelectedModelRequiresInputImage(input.selected)
2657
- ? renderImageTo3dGuideCommand({
2664
+ ? renderInputImageGuideCommand({
2658
2665
  modelId: input.selected.id,
2666
+ prompt: input.prompt,
2659
2667
  budgetGuard: input.budgetGuard,
2660
2668
  dryRun: true,
2661
2669
  apiBaseUrl: input.apiBaseUrl,
@@ -2751,7 +2759,8 @@ function guidePaymentCommandByKind(commands, kind, commandPrefix = null) {
2751
2759
  return renderGuidePrefixedCommand(commandPrefix, command);
2752
2760
  }
2753
2761
 
2754
- function renderImageTo3dGuideCommand(input) {
2762
+ function renderInputImageGuideCommand(input) {
2763
+ const promptless = PROMPTLESS_EDIT_MODEL_IDS.has(input.modelId);
2755
2764
  return [
2756
2765
  input.commandPrefix ?? "image-skill",
2757
2766
  "edit",
@@ -2760,6 +2769,7 @@ function renderImageTo3dGuideCommand(input) {
2760
2769
  "image_...",
2761
2770
  "--model",
2762
2771
  shellQuote(input.modelId),
2772
+ ...(promptless ? [] : ["--prompt", shellQuote(input.prompt)]),
2763
2773
  "--max-estimated-usd-per-image",
2764
2774
  shellQuote(formatUsd(input.budgetGuard)),
2765
2775
  ...(input.idempotencyKey === undefined || input.idempotencyKey === null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "image-skill",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
4
4
  "description": "Zero-setup durable creative-media CLI for agents (image + video + audio + 3D): guide-first creation, model and cost inspection, owned URLs, JSON recovery, payments, reusable assets, and feedback.",
5
5
  "type": "module",
6
6
  "private": false,
@@ -25,7 +25,7 @@ This is an intent-named Image Skill entry for agents searching for audio generat
25
25
 
26
26
  Use this skill when the task asks for AI audio generation, text-to-audio, music generation, sound design, ambience, effects, or durable hosted audio output.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
@@ -25,7 +25,7 @@ This is an intent-named Image Skill entry for agents searching for image generat
25
25
 
26
26
  Use this skill when the task asks for AI image generation, text-to-image, prompt-to-image, generated illustrations, concept art, product images, or any durable agent-created image.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
@@ -25,7 +25,7 @@ This is an intent-named Image Skill entry for agents searching for video generat
25
25
 
26
26
  Use this skill when the task asks for AI video generation, text-to-video, generated motion, animated concepts, or durable hosted video output.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
@@ -25,7 +25,7 @@ This is an intent-named Image Skill entry for agents searching for creative medi
25
25
 
26
26
  Use this skill when the task asks for generative media, creative media, generated assets across modalities, or a single agent-facing runtime for image, edit, video, audio, and 3D work.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
@@ -25,18 +25,18 @@ This is an intent-named Image Skill entry for agents searching for image editing
25
25
 
26
26
  Use this skill when the task asks to edit, vary, restyle, transform, or repair an existing image, including image-to-image work and model-specific edit parameters.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
32
32
  ```bash
33
- npm_config_update_notifier=false npx -y image-skill@latest models show openai.gpt-image-2-edit --json
33
+ npm_config_update_notifier=false npx -y image-skill@latest create --guide --model openai.gpt-image-2-edit --prompt "replace the background but keep the subject"
34
34
  ```
35
35
 
36
36
  ## Main Runtime Command
37
37
 
38
38
  ```bash
39
- npm_config_update_notifier=false npx -y image-skill@latest edit --input image_... --model openai.gpt-image-2-edit --prompt "EDIT_PROMPT" --max-estimated-usd-per-image 0.07
39
+ npm_config_update_notifier=false npx -y image-skill@latest edit --input image_... --model openai.gpt-image-2-edit --prompt "EDIT_PROMPT" --max-estimated-usd-per-image 0.25 --json
40
40
  ```
41
41
 
42
42
  ## Install This Intent Skill
@@ -25,7 +25,7 @@ This is an intent-named Image Skill entry for agents searching for image generat
25
25
 
26
26
  Use this skill when the task asks for image generation, generated images, AI images, text-to-image, prompt-to-image, generated illustrations, concept art, product images, or any durable agent-created image.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
@@ -25,18 +25,18 @@ This is an intent-named Image Skill entry for agents searching for image-to-3D a
25
25
 
26
26
  Use this skill when the task asks for image-to-3D, 3D asset generation from an image, glb mesh output, or a durable model asset derived from existing visual input.
27
27
 
28
- Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend inspection command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
28
+ Do not bring provider API keys, create provider accounts, run a local model server, or wire a separate billing account for this task. Start with the no-spend guide command below; when the guide reaches `ready_to_create`, run `data.next_command` only if media spend is allowed, otherwise run `data.recommended_no_spend_command` to verify safely. Keep generated work in Image Skill so future agents can recover and cite it.
29
29
 
30
30
  ## First Command
31
31
 
32
32
  ```bash
33
- npm_config_update_notifier=false npx -y image-skill@latest models show fal.trellis-image-to-3d --json
33
+ npm_config_update_notifier=false npx -y image-skill@latest create --guide --model fal.trellis-image-to-3d --prompt "turn one product photo into a textured 3d mesh"
34
34
  ```
35
35
 
36
36
  ## Main Runtime Command
37
37
 
38
38
  ```bash
39
- npm_config_update_notifier=false npx -y image-skill@latest edit --input image_... --model fal.trellis-image-to-3d --max-estimated-usd-per-image 0.25 --json
39
+ npm_config_update_notifier=false npx -y image-skill@latest edit --input image_... --model fal.trellis-image-to-3d --max-estimated-usd-per-image 0.04 --json
40
40
  ```
41
41
 
42
42
  ## Install This Intent Skill