image-skill 0.1.48 → 0.1.50
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 +17 -0
- package/SKILL.md +8 -1
- package/bin/image-skill.mjs +79 -2
- package/cli.md +10 -3
- package/llms.txt +6 -6
- package/package.json +1 -1
- package/skill.md +8 -1
- package/skills/image-skill/SKILL.md +8 -1
- package/skills/image-skill/references/cli.md +10 -3
- package/skills/image-skill/references/llms.txt +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,23 @@ 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.50 - 2026-06-14
|
|
8
|
+
|
|
9
|
+
- Release (activation/self-fund): publish the post-0.1.49 public mirror payload
|
|
10
|
+
under an unpublished package version so `image-skill@latest` can include
|
|
11
|
+
`create --guide` ready-stage `data.self_fund_preparation` for pre-wall
|
|
12
|
+
browserless x402 quote preparation, plus the matching public contract docs.
|
|
13
|
+
No payment caps, provider routing, wallet action, provider spend, or media
|
|
14
|
+
spend changed in this release bump.
|
|
15
|
+
|
|
16
|
+
## 0.1.49 - 2026-06-13
|
|
17
|
+
|
|
18
|
+
- Release (activation/self-fund): publish the post-0.1.48 public mirror payload
|
|
19
|
+
under an unpublished package version so `image-skill@latest` can include the
|
|
20
|
+
top-up recovery quote commands made copy-runnable by #1894. No payment caps,
|
|
21
|
+
provider routing, wallet action, provider spend, or media spend changed in
|
|
22
|
+
this release bump.
|
|
23
|
+
|
|
7
24
|
## 0.1.48 - 2026-06-13
|
|
8
25
|
|
|
9
26
|
- Release (activation/self-fund): publish the post-0.1.47 public mirror payload
|
package/SKILL.md
CHANGED
|
@@ -39,7 +39,7 @@ JSON is the default. Do not add `--json` to examples.
|
|
|
39
39
|
npm_config_update_notifier=false npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
42
|
+
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.self_fund_preparation`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. Read `data.self_fund_preparation` in this stage before spending the remaining free allowance: when `available` and `recommended` are true, `quote_command` creates an authenticated live-money quote/payment object but does not pay, settle a wallet transfer, debit credits, call a provider, or write media. Only a later buy/payment step can spend money. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
43
43
|
|
|
44
44
|
Minimum success envelope on a create or edit:
|
|
45
45
|
|
|
@@ -180,6 +180,13 @@ reaches `quota_required`, read
|
|
|
180
180
|
`data.checks.payments.preferred_method_summary.top_up_path` before quoting:
|
|
181
181
|
`browserless_agent_self_fund` is the autonomous wallet path, while
|
|
182
182
|
`human_payment_handoff` means a human/browser completion step is still required.
|
|
183
|
+
When `create --guide` reaches `ready_to_create`, inspect
|
|
184
|
+
`data.self_fund_preparation` before consuming the remaining free allowance. If
|
|
185
|
+
it is available and recommended, `quote_command` is the pre-wall browserless
|
|
186
|
+
x402 quote path: it creates an authenticated live-money quote/payment object
|
|
187
|
+
without paying, settling a wallet transfer, debiting credits, calling a
|
|
188
|
+
provider, or writing media. Only follow the later buy/status/wallet-settlement
|
|
189
|
+
commands when delegated spend is allowed.
|
|
183
190
|
For the browserless x402 path, `data.self_fund_handoff.wallet_settlement` names
|
|
184
191
|
the payable-instructions fields to read after `credits buy` or `credits status`,
|
|
185
192
|
plus the Base/USDC exact-amount and deposit-address fields. Use a delegated
|
package/bin/image-skill.mjs
CHANGED
|
@@ -15,7 +15,7 @@ import { Readable } from "node:stream";
|
|
|
15
15
|
import { pipeline } from "node:stream/promises";
|
|
16
16
|
import os from "node:os";
|
|
17
17
|
|
|
18
|
-
const VERSION = "0.1.
|
|
18
|
+
const VERSION = "0.1.50";
|
|
19
19
|
const PACKAGE_NAME = "image-skill";
|
|
20
20
|
const DEFAULT_API_BASE_URL = "https://api.image-skill.com";
|
|
21
21
|
const DEFAULT_DOCS_BASE_URL = "https://image-skill.com";
|
|
@@ -1881,6 +1881,12 @@ async function createGuide(args, options = {}) {
|
|
|
1881
1881
|
tokenSource: publicTokenSource,
|
|
1882
1882
|
commandPrefix: guideCommandPrefix,
|
|
1883
1883
|
});
|
|
1884
|
+
const selfFundPreparation = createGuideSelfFundPreparation(stage, {
|
|
1885
|
+
paymentSummary,
|
|
1886
|
+
quotaTopUp: quota?.envelope.data?.top_up ?? null,
|
|
1887
|
+
afterNext,
|
|
1888
|
+
tokenSource: publicTokenSource,
|
|
1889
|
+
});
|
|
1884
1890
|
const guideRecovery = createGuideRecovery(stage, {
|
|
1885
1891
|
blocker,
|
|
1886
1892
|
nextCommand,
|
|
@@ -1996,6 +2002,7 @@ async function createGuide(args, options = {}) {
|
|
|
1996
2002
|
self_fund_next_command: selfFundNextCommand,
|
|
1997
2003
|
self_fund_next_command_label: selfFundNextCommandLabel,
|
|
1998
2004
|
self_fund_handoff: selfFundHandoff,
|
|
2005
|
+
self_fund_preparation: selfFundPreparation,
|
|
1999
2006
|
after_next: afterNext,
|
|
2000
2007
|
auth_handoff: authHandoff,
|
|
2001
2008
|
escape_hatches: escapeHatches,
|
|
@@ -2628,7 +2635,7 @@ function createGuidePaymentCommands(
|
|
|
2628
2635
|
"image-skill credits methods --json",
|
|
2629
2636
|
"image-skill credits packs list --json",
|
|
2630
2637
|
preferredMethod?.recovery?.quote_command ??
|
|
2631
|
-
"image-skill credits quote --pack starter-500 --payment-method stripe_x402.exact.usdc --
|
|
2638
|
+
"image-skill credits quote --pack starter-500 --payment-method stripe_x402.exact.usdc --json",
|
|
2632
2639
|
preferredMethod?.recovery?.purchase_command ??
|
|
2633
2640
|
"image-skill credits buy --provider stripe_x402 --quote-id QUOTE_ID --idempotency-key KEY --json",
|
|
2634
2641
|
preferredMethod?.recovery?.status_command ??
|
|
@@ -2955,6 +2962,70 @@ function createGuideSelfFundHandoff(stage, input) {
|
|
|
2955
2962
|
};
|
|
2956
2963
|
}
|
|
2957
2964
|
|
|
2965
|
+
function createGuideSelfFundPreparation(stage, input) {
|
|
2966
|
+
if (stage !== "ready_to_create") {
|
|
2967
|
+
return null;
|
|
2968
|
+
}
|
|
2969
|
+
const preferredMethod = input.paymentSummary.preferred_method;
|
|
2970
|
+
const preferredSummary = input.paymentSummary.preferred_method_summary;
|
|
2971
|
+
const quoteCommand = guidePaymentCommandByKind(
|
|
2972
|
+
input.paymentSummary.suggested_commands,
|
|
2973
|
+
"quote",
|
|
2974
|
+
);
|
|
2975
|
+
const available =
|
|
2976
|
+
preferredMethod !== null &&
|
|
2977
|
+
preferredSummary !== null &&
|
|
2978
|
+
quoteCommand !== null;
|
|
2979
|
+
const availableQuoteCommand = available ? quoteCommand : null;
|
|
2980
|
+
const topUpPath = preferredSummary?.top_up_path ?? null;
|
|
2981
|
+
const browserlessSelfFund = topUpPath === "browserless_agent_self_fund";
|
|
2982
|
+
return {
|
|
2983
|
+
available,
|
|
2984
|
+
recommended: input.quotaTopUp?.recommended === true,
|
|
2985
|
+
recommendation_reason: input.quotaTopUp?.recommendation_reason ?? null,
|
|
2986
|
+
preferred_method: preferredMethod,
|
|
2987
|
+
top_up_path: topUpPath,
|
|
2988
|
+
inspect_methods_command: guidePaymentInspectionCommand(
|
|
2989
|
+
input.paymentSummary.suggested_commands,
|
|
2990
|
+
"methods",
|
|
2991
|
+
),
|
|
2992
|
+
inspect_packs_command: guidePaymentInspectionCommand(
|
|
2993
|
+
input.paymentSummary.suggested_commands,
|
|
2994
|
+
"packs",
|
|
2995
|
+
),
|
|
2996
|
+
quote_command: availableQuoteCommand,
|
|
2997
|
+
quote_command_copy_runnable:
|
|
2998
|
+
availableQuoteCommand !== null &&
|
|
2999
|
+
createGuideNextCommandMissingInputs(availableQuoteCommand).length === 0,
|
|
3000
|
+
quote_command_effect: {
|
|
3001
|
+
label: "live_money_quote_no_charge",
|
|
3002
|
+
no_spend: true,
|
|
3003
|
+
live_money:
|
|
3004
|
+
preferredMethod !== null &&
|
|
3005
|
+
input.paymentSummary.live_money_methods.includes(preferredMethod),
|
|
3006
|
+
provider_call: false,
|
|
3007
|
+
hosted_create: false,
|
|
3008
|
+
payment_object: true,
|
|
3009
|
+
credit_debit: false,
|
|
3010
|
+
media_write: false,
|
|
3011
|
+
requires_wallet_for_buy: browserlessSelfFund,
|
|
3012
|
+
max_amount_cents: preferredSummary?.max_amount_cents ?? null,
|
|
3013
|
+
warning:
|
|
3014
|
+
"data.self_fund_preparation.quote_command creates an authenticated live-money quote but does not pay, debit credits, call a provider, or write media. Only a later credits buy/payment step can spend money.",
|
|
3015
|
+
},
|
|
3016
|
+
after_next: input.afterNext,
|
|
3017
|
+
auth: {
|
|
3018
|
+
quote_command_requires_auth: true,
|
|
3019
|
+
token_source: input.tokenSource,
|
|
3020
|
+
secret_value_included: false,
|
|
3021
|
+
accepted_methods: ["IMAGE_SKILL_TOKEN", "--token-stdin", "config"],
|
|
3022
|
+
},
|
|
3023
|
+
warning: browserlessSelfFund
|
|
3024
|
+
? "You can inspect or quote the browserless self-fund rail before credits run out; do not run buy or transfer funds unless delegated spend is allowed."
|
|
3025
|
+
: "You can inspect the top-up path before credits run out; do not run buy or complete payment unless delegated spend is allowed.",
|
|
3026
|
+
};
|
|
3027
|
+
}
|
|
3028
|
+
|
|
2958
3029
|
function createGuideWalletSettlementHandoff({
|
|
2959
3030
|
preferredMethod,
|
|
2960
3031
|
browserless,
|
|
@@ -3493,6 +3564,12 @@ function guidePaymentCommandByKind(commands, kind, commandPrefix = null) {
|
|
|
3493
3564
|
return renderGuidePrefixedCommand(commandPrefix, command);
|
|
3494
3565
|
}
|
|
3495
3566
|
|
|
3567
|
+
function guidePaymentInspectionCommand(commands, kind) {
|
|
3568
|
+
const pattern =
|
|
3569
|
+
kind === "methods" ? /\bcredits\s+methods\b/ : /\bcredits\s+packs\s+list\b/;
|
|
3570
|
+
return commands.find((command) => pattern.test(command)) ?? null;
|
|
3571
|
+
}
|
|
3572
|
+
|
|
3496
3573
|
function renderInputImageGuideCommand(input) {
|
|
3497
3574
|
const promptless = PROMPTLESS_EDIT_MODEL_IDS.has(input.modelId);
|
|
3498
3575
|
return [
|
package/cli.md
CHANGED
|
@@ -237,7 +237,13 @@ step.
|
|
|
237
237
|
it includes the recommendation reason, preferred browserless x402 method, and
|
|
238
238
|
copy-runnable quote/buy/status command templates from `usage quota`.
|
|
239
239
|
- `ready_to_create`: `data.next_command` is a live media create. Its
|
|
240
|
-
`data.
|
|
240
|
+
`data.self_fund_preparation` is the pre-wall top-up affordance; when
|
|
241
|
+
`available` and `recommended` are true, `quote_command` creates an
|
|
242
|
+
authenticated live-money quote/payment object without paying, settling a
|
|
243
|
+
wallet transfer, debiting credits, calling a provider, or writing media.
|
|
244
|
+
Only follow later buy/status/wallet-settlement commands when delegated spend
|
|
245
|
+
is allowed. `data.next_command_effect.label` is
|
|
246
|
+
`live_media_create_credit_debit`, with
|
|
241
247
|
`provider_call`, `hosted_create`, `credit_debit`, and `media_write` all true.
|
|
242
248
|
`data.guide_warning.next_command_safety` is
|
|
243
249
|
`live_media_create_credit_debit`, `data.guide_warning.no_spend_safe` is
|
|
@@ -964,8 +970,9 @@ image-skill create --guide --prompt "A compact field camera on a stainless workb
|
|
|
964
970
|
`stage`, `next_command`, `next_command_copy_runnable`,
|
|
965
971
|
`next_command_missing_inputs`, `guide_warning`, `auth_ready`,
|
|
966
972
|
`no_spend_evaluation`, `recommended_no_spend_command`,
|
|
967
|
-
`self_fund_next_command`, `self_fund_handoff`, `
|
|
968
|
-
executable model and cost, auth/quota/payment
|
|
973
|
+
`self_fund_next_command`, `self_fund_handoff`, `self_fund_preparation`,
|
|
974
|
+
`escape_hatches`, selected executable model and cost, auth/quota/payment
|
|
975
|
+
blockers, and mutation flags. All
|
|
969
976
|
mutation flags must be false in guide mode: no provider call, hosted create,
|
|
970
977
|
signup, payment object, credit debit, or media write.
|
|
971
978
|
For next-command safety, read `next_command_copy_runnable`,
|
package/llms.txt
CHANGED
|
@@ -58,11 +58,11 @@ Claim states:
|
|
|
58
58
|
- revoked: token or agent disabled
|
|
59
59
|
|
|
60
60
|
First-run guide loop:
|
|
61
|
-
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.guide_warning, data.next_command_effect, data.auth_ready, data.no_spend_evaluation, data.guide_recovery, data.no_spend_next_command, data.no_spend_next_command_effect, data.self_fund_next_command, data.self_fund_handoff, data.auth_handoff, data.escape_hatches, data.checks.quota.top_up, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
61
|
+
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.guide_warning, data.next_command_effect, data.auth_ready, data.no_spend_evaluation, data.guide_recovery, data.no_spend_next_command, data.no_spend_next_command_effect, data.self_fund_next_command, data.self_fund_handoff, data.self_fund_preparation, data.auth_handoff, data.escape_hatches, data.checks.quota.top_up, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
62
62
|
2. Read data.guide_warning, then follow data.next_command when its next_command_safety is safe for the current spend policy. Prefer data.guide_recovery for no-doc recovery: data.guide_recovery.no_spend_command_field and data.guide_recovery.no_spend_command name the safest no-spend command, data.guide_recovery.live_create_command_field and data.guide_recovery.live_payment_command_field name fields that would spend, and data.guide_recovery.double_spend_guard tells you when to check error.recovery, jobs, activity, or payment status before any live retry. Do not run doctor, models list, signup, whoami, quota, dry-run, or payment commands as a setup checklist before the guide asks for them.
|
|
63
63
|
3. If data.stage is prompt_required, rerun data.next_command with the real prompt.
|
|
64
64
|
4. If data.stage is auth_required, data.auth_ready.ready is false and data.guide_warning.next_command_safety is hosted_signup_no_spend_setup. Run data.next_command, then rerun the guide once. Hosted signup saves the restricted token to the public CLI config by default with 0600 permissions. If the configured config path is blocked, data.next_command sets IMAGE_SKILL_CONFIG_PATH="$PWD/.image-skill/config.json" and still runs a saved-config signup; do not switch to raw-token handoff unless recovery explicitly requires it. If the runtime intentionally uses --no-save --show-token, store the returned token in the agent runtime secret store, then rerun with IMAGE_SKILL_TOKEN or --token-stdin; data.auth_handoff.rerun_guide.with_env and data.auth_handoff.rerun_guide.with_stdin are copy-safe templates for that mode. Signup is anonymous by default: no contact inbox is required to get a restricted token. The optional --agent-contact flag takes an email-shaped durable contact inbox for the restricted agent identity, not a requirement to find an individual human; attach one later with image-skill claim request --contact INBOX --json when funding or durability makes it worth having. Hosted signup returns the raw restricted token only when --show-token is set, and only once. When providing a contact, use an agent-owned inbox when available; otherwise use an operator, team, or sponsor inbox that can receive future claim, billing, or abuse notices. Never invent an inbox or borrow an unrelated human email just to fill the flag — omit it instead. example.invalid addresses are only appropriate inside documented harness or proof runs. --human-email remains accepted as a compatibility alias, but the guide must not teach it. Anonymous signups mint a fresh agent identity on every call; reuse the saved config instead of re-running signup. --save is accepted as a compatibility no-op for the default save behavior; use --no-save only when the runtime has a separate secret store and does not want local config.
|
|
65
|
-
5. At any guide stage, read data.checks.quota.top_up. When recommended is true, it includes recommendation_reason, preferred_payment_method, and copy-runnable quote/buy/status command templates for the browserless x402 top-up path. If data.stage is quota_required, data.guide_warning.next_command_safety is live_money_payment_action and data.guide_warning.payment_top_up_path summarizes the live-money path. Run data.self_fund_next_command to start the top-up. It aliases data.next_command and is the first payment command, usually an x402 or Stripe quote. First read data.checks.payments.preferred_method_summary.top_up_path: browserless_agent_self_fund means a wallet-equipped agent can complete the preferred live-money rail without a browser; human_payment_handoff means the agent can create the payment attempt but a human/browser step must complete before credits are granted. If the guide authenticated from env or stdin, prefer data.self_fund_handoff.auth.next_command.with_env or data.self_fund_handoff.auth.next_command.with_stdin so auth follows the payment command. Then follow data.self_fund_handoff.payment_commands.buy and status, and rerun data.self_fund_handoff.after_next once credits are granted. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a four-job daily cap.
|
|
65
|
+
5. At any guide stage, read data.checks.quota.top_up. When recommended is true, it includes recommendation_reason, preferred_payment_method, and copy-runnable quote/buy/status command templates for the browserless x402 top-up path. If data.stage is quota_required, data.guide_warning.next_command_safety is live_money_payment_action and data.guide_warning.payment_top_up_path summarizes the live-money path. Run data.self_fund_next_command to start the top-up. It aliases data.next_command and is the first payment command, usually an x402 or Stripe quote. First read data.checks.payments.preferred_method_summary.top_up_path: browserless_agent_self_fund means a wallet-equipped agent can complete the preferred live-money rail without a browser; human_payment_handoff means the agent can create the payment attempt but a human/browser step must complete before credits are granted. If the guide authenticated from env or stdin, prefer data.self_fund_handoff.auth.next_command.with_env or data.self_fund_handoff.auth.next_command.with_stdin so auth follows the payment command. Then follow data.self_fund_handoff.payment_commands.buy and status, and rerun data.self_fund_handoff.after_next once credits are granted. If data.stage is ready_to_create, inspect data.self_fund_preparation before consuming the remaining free allowance. When available and recommended are true, data.self_fund_preparation.quote_command is the pre-wall browserless x402 quote: it creates an authenticated live-money quote/payment object, but data.self_fund_preparation.quote_command_effect must show no provider call, no hosted create, no credit debit, no media write, and no wallet settlement until a later buy/payment step. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a four-job daily cap.
|
|
66
66
|
6. If data.stage is ready_to_create, data.next_command is the first bounded live create. data.guide_warning.next_command_safety must be live_media_create_credit_debit, data.guide_warning.no_spend_safe must be false, data.guide_warning.spend_required must be true, and data.guide_warning.recommended_command_field must be recommended_no_spend_command. data.auth_ready.ready and data.auth_ready.next_command_auth_ready must be true; data.auth_ready.next_command_requires_auth must be true, and the command can reuse saved config, IMAGE_SKILL_TOKEN, or --token-stdin context without exposing a raw token. data.next_command_effect.label must be live_media_create_credit_debit and its provider_call, hosted_create, credit_debit, and media_write flags are true. data.no_spend_evaluation.stop_here must be true, data.no_spend_evaluation.next_command_is_live_create must be true, and data.no_spend_evaluation.recommended_command_field must be recommended_no_spend_command. Run data.next_command only when media spend is allowed. In no-spend evaluations, or when you only need to prove readiness without media/provider work, stop before data.next_command and run data.recommended_no_spend_command instead. data.recommended_no_spend_command must equal data.no_spend_next_command. data.no_spend_next_command_effect.label must be dry_run_planned_job_no_provider_call_no_credit_debit_no_media_write: no_spend, hosted_create_dry_run, planned_job, and plan_receipt are true; activity_event is job.planned; provider_call, credit_debit, and media_write are false. This dry-run may create a recoverable planned job/activity receipt but no provider execution, debit, downloadable asset, or media write. If the guide authenticated from env or stdin, prefer data.auth_handoff.next_command.with_env or data.auth_handoff.next_command.with_stdin so auth follows the live create. In guide cost output, cost.estimated_usd_per_image and cost.estimated_debit_usd_per_image are the Image Skill debit dollars for one output; cost.estimated_provider_usd_per_image is only the upstream provider estimate. Use the guide's returned max_estimated_usd_per_image because it is sized to the credit debit the agent funds. Add --output-count N only after models show confirms the selected create model supports more than one output; credit_pricing.credits_required is the total debit across outputs, while max_estimated_usd_per_image remains a per-image Image Skill debit guard.
|
|
67
67
|
7. After create, prefer data.next_actions when present: inspect_job and inspect_asset are copy-runnable no-spend recovery commands, iterate_edit is the reusable-asset edit template, and self_fund is the promoted top-up quote handoff when quota.top_up.recommended is true. self_fund.quote_command is copy-runnable and omits --idempotency-key so the public CLI generates and returns one for retry safety; follow the quote response into buy/status. Otherwise use image-skill jobs show JOB_ID to recover status, cost, safety, timestamps, and final assets; image-skill assets get ASSET_URL_OR_ID --output ./result.png to fetch the generated asset without repeating provider work; and image-skill activity list --subject JOB_ID to find ledger events, trace, usage, and asset links to cite.
|
|
68
68
|
8. Leave image-skill feedback create if the first-run flow is confusing, blocked, missing an affordance, or easier through a direct provider than through Image Skill. Feedback auth uses saved config from default signup, IMAGE_SKILL_TOKEN, or --token-stdin; if signup or guide already saved config, run feedback create normally and do not copy a raw token. Never paste tokens into feedback title, body, evidence, issues, or logs. Use image-skill activity show FEEDBACK_ID only when you need to confirm the feedback entered the hosted ledger.
|
|
@@ -78,10 +78,10 @@ Core commands:
|
|
|
78
78
|
- image-skill quota --json (compatibility alias)
|
|
79
79
|
- image-skill credits methods --json
|
|
80
80
|
- image-skill credits packs list --json
|
|
81
|
-
- image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --
|
|
81
|
+
- image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --json
|
|
82
82
|
- image-skill credits buy --provider stripe_x402 --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
83
|
-
- image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --
|
|
84
|
-
- image-skill credits quote --credits CREDITS --payment-method stripe_checkout --
|
|
83
|
+
- image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json
|
|
84
|
+
- image-skill credits quote --credits CREDITS --payment-method stripe_checkout --json
|
|
85
85
|
- image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
86
86
|
- image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json
|
|
87
87
|
- image-skill capabilities --json
|
|
@@ -195,7 +195,7 @@ Unclaimed agents may not:
|
|
|
195
195
|
- send card data, wallet secrets, wallet private keys, seed phrases, raw x402 payment headers, provider receipts, Stripe secrets, MPP tokens, SPTs, bearer tokens, or any payment credential to Image Skill; Stripe payment details must be entered only on Stripe-hosted checkout pages
|
|
196
196
|
|
|
197
197
|
Credits:
|
|
198
|
-
One Image Skill credit is $0.01. Use image-skill credits methods --json to inspect payment rail availability, browser/human requirements, agent_initiated, agent_settleable, and settlement_blocker. Always pass the returned payment method when quoting. When stripe_x402.exact.usdc is returned with available:true, quoteable:true, purchasable:true, requires_browser:false, and agent_settleable:true, image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --
|
|
198
|
+
One Image Skill credit is $0.01. Use image-skill credits methods --json to inspect payment rail availability, browser/human requirements, agent_initiated, agent_settleable, and settlement_blocker. Always pass the returned payment method when quoting. When stripe_x402.exact.usdc is returned with available:true, quoteable:true, purchasable:true, requires_browser:false, and agent_settleable:true, image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --json followed by image-skill credits buy --provider stripe_x402 --quote-id QUOTE_ID --idempotency-key KEY --json creates a browserless live deposit attempt with stripe_x402.payable_instructions. Treat live_money:true as real spend, stay inside the delegated cap, and pay exactly token_amount_atomic USDC units to payable_instructions.deposit_address on Base only from a wallet substrate you control. Use image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json and image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json only for the Stripe Checkout human path; this returns checkout_handoff_url, copy-safe checkout_compact_url, and full Stripe checkout_url fallback and does not grant credits. Present checkout_handoff_url or checkout_compact_url to humans, especially in mobile terminals, SSH, or chat. If checkout_handoff_url is absent, present the full checkout_url in a code block and preserve the Stripe # fragment. Use image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy and after settlement/checkout completion to read state, receipt, credit_event, limits, and retry guidance. Create/edit debit model-priced credits after provider success; inspect models show and operation cost.credit_pricing for credits_required and pricing_confidence. Do not silently downgrade to the cheapest model to avoid payment when the user asked for quality or is willing to pay; quote the needed credits and use an agent_settleable:true x402 rail or Stripe Checkout fallback. Credits buy requires explicit --idempotency-key. Quote idempotency keys are scoped to the hosted agent identity and exact quote terms; the public CLI generates one when omitted and returns it in the quote response, while explicit keys remain available for retry-stable automation. Inspect error.recovery.suggested_command on CREDIT_QUOTE_CONFLICT. Never send payment credentials to Image Skill: no wallet private keys, seed phrases, x402 payment headers, deposit client secrets, provider receipts, card data, or Stripe secrets. Public request fields are credits, pack_id, payment_method, quote_id, status reference IDs, and idempotency_key.
|
|
199
199
|
|
|
200
200
|
Telemetry:
|
|
201
201
|
- command or endpoint name
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "image-skill",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.50",
|
|
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,
|
package/skill.md
CHANGED
|
@@ -39,7 +39,7 @@ JSON is the default. Do not add `--json` to examples.
|
|
|
39
39
|
npm_config_update_notifier=false npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
42
|
+
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.self_fund_preparation`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. Read `data.self_fund_preparation` in this stage before spending the remaining free allowance: when `available` and `recommended` are true, `quote_command` creates an authenticated live-money quote/payment object but does not pay, settle a wallet transfer, debit credits, call a provider, or write media. Only a later buy/payment step can spend money. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
43
43
|
|
|
44
44
|
Minimum success envelope on a create or edit:
|
|
45
45
|
|
|
@@ -180,6 +180,13 @@ reaches `quota_required`, read
|
|
|
180
180
|
`data.checks.payments.preferred_method_summary.top_up_path` before quoting:
|
|
181
181
|
`browserless_agent_self_fund` is the autonomous wallet path, while
|
|
182
182
|
`human_payment_handoff` means a human/browser completion step is still required.
|
|
183
|
+
When `create --guide` reaches `ready_to_create`, inspect
|
|
184
|
+
`data.self_fund_preparation` before consuming the remaining free allowance. If
|
|
185
|
+
it is available and recommended, `quote_command` is the pre-wall browserless
|
|
186
|
+
x402 quote path: it creates an authenticated live-money quote/payment object
|
|
187
|
+
without paying, settling a wallet transfer, debiting credits, calling a
|
|
188
|
+
provider, or writing media. Only follow the later buy/status/wallet-settlement
|
|
189
|
+
commands when delegated spend is allowed.
|
|
183
190
|
For the browserless x402 path, `data.self_fund_handoff.wallet_settlement` names
|
|
184
191
|
the payable-instructions fields to read after `credits buy` or `credits status`,
|
|
185
192
|
plus the Base/USDC exact-amount and deposit-address fields. Use a delegated
|
|
@@ -39,7 +39,7 @@ JSON is the default. Do not add `--json` to examples.
|
|
|
39
39
|
npm_config_update_notifier=false npx -y image-skill@latest create --guide --prompt "a compact field camera on a stainless workbench"
|
|
40
40
|
```
|
|
41
41
|
|
|
42
|
-
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
42
|
+
The guide is a free, zero-spend planning call. Given current auth, quota, and payment state, it returns `data.next_command`, `data.next_command_copy_runnable`, `data.next_command_missing_inputs`, `data.stage`, `data.guide_warning`, `data.next_command_effect`, `data.auth_ready`, `data.no_spend_evaluation`, `data.guide_recovery`, `data.recommended_no_spend_command` (alias of `data.no_spend_next_command`), `data.no_spend_next_command_effect`, `data.self_fund_next_command`, `data.self_fund_handoff`, `data.self_fund_preparation`, `data.auth_handoff`, and `data.mutation`. It also preserves `data.checks.quota.top_up`, the same quota top-up recommendation returned by `usage quota`, so wallet-capable agents can see whether a browserless x402 top-up is recommended before the hard wall. Read `data.guide_warning` before running `data.next_command`: `next_command_safety` names whether the command is no-spend setup, read-only inspection, live-money payment action, or live media create. Run that next command only when `data.next_command_copy_runnable` is `true` and the warning says it is safe for your spend policy; when it is `false`, fill `data.next_command_missing_inputs` first. Prefer `data.guide_recovery` for no-doc recovery loops: it names the safest no-spend command and field, the live create or payment field that would spend, and the double-spend guard to check before any live retry. Repeat until `data.stage` is `ready_to_create`. At `ready_to_create`, `data.auth_ready.ready` and `data.auth_ready.next_command_auth_ready` are `true`: the returned create can reuse saved config, env token, or stdin token context without exposing a raw token. Read `data.self_fund_preparation` in this stage before spending the remaining free allowance: when `available` and `recommended` are true, `quote_command` creates an authenticated live-money quote/payment object but does not pay, settle a wallet transfer, debit credits, call a provider, or write media. Only a later buy/payment step can spend money. When `data.guide_warning.next_command_safety` is `live_media_create_credit_debit` and `data.no_spend_evaluation.stop_here` is `true`, `data.next_command` is the live create: run it only if media spend is allowed, otherwise stop before it and run `data.recommended_no_spend_command` for no-spend proof. The no-spend command is an authenticated hosted dry-run: it may create a recoverable `job.planned` receipt, but it has no provider call, credit debit, downloadable asset, or media write.
|
|
43
43
|
|
|
44
44
|
Minimum success envelope on a create or edit:
|
|
45
45
|
|
|
@@ -180,6 +180,13 @@ reaches `quota_required`, read
|
|
|
180
180
|
`data.checks.payments.preferred_method_summary.top_up_path` before quoting:
|
|
181
181
|
`browserless_agent_self_fund` is the autonomous wallet path, while
|
|
182
182
|
`human_payment_handoff` means a human/browser completion step is still required.
|
|
183
|
+
When `create --guide` reaches `ready_to_create`, inspect
|
|
184
|
+
`data.self_fund_preparation` before consuming the remaining free allowance. If
|
|
185
|
+
it is available and recommended, `quote_command` is the pre-wall browserless
|
|
186
|
+
x402 quote path: it creates an authenticated live-money quote/payment object
|
|
187
|
+
without paying, settling a wallet transfer, debiting credits, calling a
|
|
188
|
+
provider, or writing media. Only follow the later buy/status/wallet-settlement
|
|
189
|
+
commands when delegated spend is allowed.
|
|
183
190
|
For the browserless x402 path, `data.self_fund_handoff.wallet_settlement` names
|
|
184
191
|
the payable-instructions fields to read after `credits buy` or `credits status`,
|
|
185
192
|
plus the Base/USDC exact-amount and deposit-address fields. Use a delegated
|
|
@@ -237,7 +237,13 @@ step.
|
|
|
237
237
|
it includes the recommendation reason, preferred browserless x402 method, and
|
|
238
238
|
copy-runnable quote/buy/status command templates from `usage quota`.
|
|
239
239
|
- `ready_to_create`: `data.next_command` is a live media create. Its
|
|
240
|
-
`data.
|
|
240
|
+
`data.self_fund_preparation` is the pre-wall top-up affordance; when
|
|
241
|
+
`available` and `recommended` are true, `quote_command` creates an
|
|
242
|
+
authenticated live-money quote/payment object without paying, settling a
|
|
243
|
+
wallet transfer, debiting credits, calling a provider, or writing media.
|
|
244
|
+
Only follow later buy/status/wallet-settlement commands when delegated spend
|
|
245
|
+
is allowed. `data.next_command_effect.label` is
|
|
246
|
+
`live_media_create_credit_debit`, with
|
|
241
247
|
`provider_call`, `hosted_create`, `credit_debit`, and `media_write` all true.
|
|
242
248
|
`data.guide_warning.next_command_safety` is
|
|
243
249
|
`live_media_create_credit_debit`, `data.guide_warning.no_spend_safe` is
|
|
@@ -964,8 +970,9 @@ image-skill create --guide --prompt "A compact field camera on a stainless workb
|
|
|
964
970
|
`stage`, `next_command`, `next_command_copy_runnable`,
|
|
965
971
|
`next_command_missing_inputs`, `guide_warning`, `auth_ready`,
|
|
966
972
|
`no_spend_evaluation`, `recommended_no_spend_command`,
|
|
967
|
-
`self_fund_next_command`, `self_fund_handoff`, `
|
|
968
|
-
executable model and cost, auth/quota/payment
|
|
973
|
+
`self_fund_next_command`, `self_fund_handoff`, `self_fund_preparation`,
|
|
974
|
+
`escape_hatches`, selected executable model and cost, auth/quota/payment
|
|
975
|
+
blockers, and mutation flags. All
|
|
969
976
|
mutation flags must be false in guide mode: no provider call, hosted create,
|
|
970
977
|
signup, payment object, credit debit, or media write.
|
|
971
978
|
For next-command safety, read `next_command_copy_runnable`,
|
|
@@ -58,11 +58,11 @@ Claim states:
|
|
|
58
58
|
- revoked: token or agent disabled
|
|
59
59
|
|
|
60
60
|
First-run guide loop:
|
|
61
|
-
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.guide_warning, data.next_command_effect, data.auth_ready, data.no_spend_evaluation, data.guide_recovery, data.no_spend_next_command, data.no_spend_next_command_effect, data.self_fund_next_command, data.self_fund_handoff, data.auth_handoff, data.escape_hatches, data.checks.quota.top_up, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
61
|
+
1. Run image-skill create --guide --prompt PROMPT. This is the canonical fresh-agent entrypoint and the only required first command. It performs read-only hosted reachability, executable model availability, auth/quota, and payment rail checks and returns data.stage, data.next_command, data.guide_warning, data.next_command_effect, data.auth_ready, data.no_spend_evaluation, data.guide_recovery, data.no_spend_next_command, data.no_spend_next_command_effect, data.self_fund_next_command, data.self_fund_handoff, data.self_fund_preparation, data.auth_handoff, data.escape_hatches, data.checks.quota.top_up, and data.mutation. Guide mode must report provider_call: false, hosted_create: false, hosted_signup: false, payment_object: false, credit_debit: false, and media_write: false.
|
|
62
62
|
2. Read data.guide_warning, then follow data.next_command when its next_command_safety is safe for the current spend policy. Prefer data.guide_recovery for no-doc recovery: data.guide_recovery.no_spend_command_field and data.guide_recovery.no_spend_command name the safest no-spend command, data.guide_recovery.live_create_command_field and data.guide_recovery.live_payment_command_field name fields that would spend, and data.guide_recovery.double_spend_guard tells you when to check error.recovery, jobs, activity, or payment status before any live retry. Do not run doctor, models list, signup, whoami, quota, dry-run, or payment commands as a setup checklist before the guide asks for them.
|
|
63
63
|
3. If data.stage is prompt_required, rerun data.next_command with the real prompt.
|
|
64
64
|
4. If data.stage is auth_required, data.auth_ready.ready is false and data.guide_warning.next_command_safety is hosted_signup_no_spend_setup. Run data.next_command, then rerun the guide once. Hosted signup saves the restricted token to the public CLI config by default with 0600 permissions. If the configured config path is blocked, data.next_command sets IMAGE_SKILL_CONFIG_PATH="$PWD/.image-skill/config.json" and still runs a saved-config signup; do not switch to raw-token handoff unless recovery explicitly requires it. If the runtime intentionally uses --no-save --show-token, store the returned token in the agent runtime secret store, then rerun with IMAGE_SKILL_TOKEN or --token-stdin; data.auth_handoff.rerun_guide.with_env and data.auth_handoff.rerun_guide.with_stdin are copy-safe templates for that mode. Signup is anonymous by default: no contact inbox is required to get a restricted token. The optional --agent-contact flag takes an email-shaped durable contact inbox for the restricted agent identity, not a requirement to find an individual human; attach one later with image-skill claim request --contact INBOX --json when funding or durability makes it worth having. Hosted signup returns the raw restricted token only when --show-token is set, and only once. When providing a contact, use an agent-owned inbox when available; otherwise use an operator, team, or sponsor inbox that can receive future claim, billing, or abuse notices. Never invent an inbox or borrow an unrelated human email just to fill the flag — omit it instead. example.invalid addresses are only appropriate inside documented harness or proof runs. --human-email remains accepted as a compatibility alias, but the guide must not teach it. Anonymous signups mint a fresh agent identity on every call; reuse the saved config instead of re-running signup. --save is accepted as a compatibility no-op for the default save behavior; use --no-save only when the runtime has a separate secret store and does not want local config.
|
|
65
|
-
5. At any guide stage, read data.checks.quota.top_up. When recommended is true, it includes recommendation_reason, preferred_payment_method, and copy-runnable quote/buy/status command templates for the browserless x402 top-up path. If data.stage is quota_required, data.guide_warning.next_command_safety is live_money_payment_action and data.guide_warning.payment_top_up_path summarizes the live-money path. Run data.self_fund_next_command to start the top-up. It aliases data.next_command and is the first payment command, usually an x402 or Stripe quote. First read data.checks.payments.preferred_method_summary.top_up_path: browserless_agent_self_fund means a wallet-equipped agent can complete the preferred live-money rail without a browser; human_payment_handoff means the agent can create the payment attempt but a human/browser step must complete before credits are granted. If the guide authenticated from env or stdin, prefer data.self_fund_handoff.auth.next_command.with_env or data.self_fund_handoff.auth.next_command.with_stdin so auth follows the payment command. Then follow data.self_fund_handoff.payment_commands.buy and status, and rerun data.self_fund_handoff.after_next once credits are granted. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a four-job daily cap.
|
|
65
|
+
5. At any guide stage, read data.checks.quota.top_up. When recommended is true, it includes recommendation_reason, preferred_payment_method, and copy-runnable quote/buy/status command templates for the browserless x402 top-up path. If data.stage is quota_required, data.guide_warning.next_command_safety is live_money_payment_action and data.guide_warning.payment_top_up_path summarizes the live-money path. Run data.self_fund_next_command to start the top-up. It aliases data.next_command and is the first payment command, usually an x402 or Stripe quote. First read data.checks.payments.preferred_method_summary.top_up_path: browserless_agent_self_fund means a wallet-equipped agent can complete the preferred live-money rail without a browser; human_payment_handoff means the agent can create the payment attempt but a human/browser step must complete before credits are granted. If the guide authenticated from env or stdin, prefer data.self_fund_handoff.auth.next_command.with_env or data.self_fund_handoff.auth.next_command.with_stdin so auth follows the payment command. Then follow data.self_fund_handoff.payment_commands.buy and status, and rerun data.self_fund_handoff.after_next once credits are granted. If data.stage is ready_to_create, inspect data.self_fund_preparation before consuming the remaining free allowance. When available and recommended are true, data.self_fund_preparation.quote_command is the pre-wall browserless x402 quote: it creates an authenticated live-money quote/payment object, but data.self_fund_preparation.quote_command_effect must show no provider call, no hosted create, no credit debit, no media write, and no wallet settlement until a later buy/payment step. One Image Skill credit is $0.01. Credit quotes grant prepaid value units; create/edit operations debit model-priced credits reported as cost.credit_pricing. Starter preview currently gives bounded free-preview credits plus a four-job daily cap.
|
|
66
66
|
6. If data.stage is ready_to_create, data.next_command is the first bounded live create. data.guide_warning.next_command_safety must be live_media_create_credit_debit, data.guide_warning.no_spend_safe must be false, data.guide_warning.spend_required must be true, and data.guide_warning.recommended_command_field must be recommended_no_spend_command. data.auth_ready.ready and data.auth_ready.next_command_auth_ready must be true; data.auth_ready.next_command_requires_auth must be true, and the command can reuse saved config, IMAGE_SKILL_TOKEN, or --token-stdin context without exposing a raw token. data.next_command_effect.label must be live_media_create_credit_debit and its provider_call, hosted_create, credit_debit, and media_write flags are true. data.no_spend_evaluation.stop_here must be true, data.no_spend_evaluation.next_command_is_live_create must be true, and data.no_spend_evaluation.recommended_command_field must be recommended_no_spend_command. Run data.next_command only when media spend is allowed. In no-spend evaluations, or when you only need to prove readiness without media/provider work, stop before data.next_command and run data.recommended_no_spend_command instead. data.recommended_no_spend_command must equal data.no_spend_next_command. data.no_spend_next_command_effect.label must be dry_run_planned_job_no_provider_call_no_credit_debit_no_media_write: no_spend, hosted_create_dry_run, planned_job, and plan_receipt are true; activity_event is job.planned; provider_call, credit_debit, and media_write are false. This dry-run may create a recoverable planned job/activity receipt but no provider execution, debit, downloadable asset, or media write. If the guide authenticated from env or stdin, prefer data.auth_handoff.next_command.with_env or data.auth_handoff.next_command.with_stdin so auth follows the live create. In guide cost output, cost.estimated_usd_per_image and cost.estimated_debit_usd_per_image are the Image Skill debit dollars for one output; cost.estimated_provider_usd_per_image is only the upstream provider estimate. Use the guide's returned max_estimated_usd_per_image because it is sized to the credit debit the agent funds. Add --output-count N only after models show confirms the selected create model supports more than one output; credit_pricing.credits_required is the total debit across outputs, while max_estimated_usd_per_image remains a per-image Image Skill debit guard.
|
|
67
67
|
7. After create, prefer data.next_actions when present: inspect_job and inspect_asset are copy-runnable no-spend recovery commands, iterate_edit is the reusable-asset edit template, and self_fund is the promoted top-up quote handoff when quota.top_up.recommended is true. self_fund.quote_command is copy-runnable and omits --idempotency-key so the public CLI generates and returns one for retry safety; follow the quote response into buy/status. Otherwise use image-skill jobs show JOB_ID to recover status, cost, safety, timestamps, and final assets; image-skill assets get ASSET_URL_OR_ID --output ./result.png to fetch the generated asset without repeating provider work; and image-skill activity list --subject JOB_ID to find ledger events, trace, usage, and asset links to cite.
|
|
68
68
|
8. Leave image-skill feedback create if the first-run flow is confusing, blocked, missing an affordance, or easier through a direct provider than through Image Skill. Feedback auth uses saved config from default signup, IMAGE_SKILL_TOKEN, or --token-stdin; if signup or guide already saved config, run feedback create normally and do not copy a raw token. Never paste tokens into feedback title, body, evidence, issues, or logs. Use image-skill activity show FEEDBACK_ID only when you need to confirm the feedback entered the hosted ledger.
|
|
@@ -78,10 +78,10 @@ Core commands:
|
|
|
78
78
|
- image-skill quota --json (compatibility alias)
|
|
79
79
|
- image-skill credits methods --json
|
|
80
80
|
- image-skill credits packs list --json
|
|
81
|
-
- image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --
|
|
81
|
+
- image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --json
|
|
82
82
|
- image-skill credits buy --provider stripe_x402 --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
83
|
-
- image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --
|
|
84
|
-
- image-skill credits quote --credits CREDITS --payment-method stripe_checkout --
|
|
83
|
+
- image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json
|
|
84
|
+
- image-skill credits quote --credits CREDITS --payment-method stripe_checkout --json
|
|
85
85
|
- image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json
|
|
86
86
|
- image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json
|
|
87
87
|
- image-skill capabilities --json
|
|
@@ -195,7 +195,7 @@ Unclaimed agents may not:
|
|
|
195
195
|
- send card data, wallet secrets, wallet private keys, seed phrases, raw x402 payment headers, provider receipts, Stripe secrets, MPP tokens, SPTs, bearer tokens, or any payment credential to Image Skill; Stripe payment details must be entered only on Stripe-hosted checkout pages
|
|
196
196
|
|
|
197
197
|
Credits:
|
|
198
|
-
One Image Skill credit is $0.01. Use image-skill credits methods --json to inspect payment rail availability, browser/human requirements, agent_initiated, agent_settleable, and settlement_blocker. Always pass the returned payment method when quoting. When stripe_x402.exact.usdc is returned with available:true, quoteable:true, purchasable:true, requires_browser:false, and agent_settleable:true, image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --
|
|
198
|
+
One Image Skill credit is $0.01. Use image-skill credits methods --json to inspect payment rail availability, browser/human requirements, agent_initiated, agent_settleable, and settlement_blocker. Always pass the returned payment method when quoting. When stripe_x402.exact.usdc is returned with available:true, quoteable:true, purchasable:true, requires_browser:false, and agent_settleable:true, image-skill credits quote --pack PACK_ID --payment-method stripe_x402.exact.usdc --json followed by image-skill credits buy --provider stripe_x402 --quote-id QUOTE_ID --idempotency-key KEY --json creates a browserless live deposit attempt with stripe_x402.payable_instructions. Treat live_money:true as real spend, stay inside the delegated cap, and pay exactly token_amount_atomic USDC units to payable_instructions.deposit_address on Base only from a wallet substrate you control. Use image-skill credits quote --pack PACK_ID --payment-method stripe_checkout --json and image-skill credits buy --provider stripe --quote-id QUOTE_ID --idempotency-key KEY --json only for the Stripe Checkout human path; this returns checkout_handoff_url, copy-safe checkout_compact_url, and full Stripe checkout_url fallback and does not grant credits. Present checkout_handoff_url or checkout_compact_url to humans, especially in mobile terminals, SSH, or chat. If checkout_handoff_url is absent, present the full checkout_url in a code block and preserve the Stripe # fragment. Use image-skill credits status --payment-attempt-id PAYMENT_ATTEMPT_ID --json after buy and after settlement/checkout completion to read state, receipt, credit_event, limits, and retry guidance. Create/edit debit model-priced credits after provider success; inspect models show and operation cost.credit_pricing for credits_required and pricing_confidence. Do not silently downgrade to the cheapest model to avoid payment when the user asked for quality or is willing to pay; quote the needed credits and use an agent_settleable:true x402 rail or Stripe Checkout fallback. Credits buy requires explicit --idempotency-key. Quote idempotency keys are scoped to the hosted agent identity and exact quote terms; the public CLI generates one when omitted and returns it in the quote response, while explicit keys remain available for retry-stable automation. Inspect error.recovery.suggested_command on CREDIT_QUOTE_CONFLICT. Never send payment credentials to Image Skill: no wallet private keys, seed phrases, x402 payment headers, deposit client secrets, provider receipts, card data, or Stripe secrets. Public request fields are credits, pack_id, payment_method, quote_id, status reference IDs, and idempotency_key.
|
|
199
199
|
|
|
200
200
|
Telemetry:
|
|
201
201
|
- command or endpoint name
|