@byteplus/ark-cli-darwin-x64 0.0.0-stage → 1.0.46-prerelease.dc921200a42d
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/LICENSE +201 -0
- package/bin/arkcli-darwin-amd64 +4 -0
- package/manifest.json +43 -0
- package/package.json +20 -4
- package/skills/arkcli-agent/SKILL.md +152 -0
- package/skills/arkcli-agent/references/agent.md +398 -0
- package/skills/arkcli-agent/references/byok.md +65 -0
- package/skills/arkcli-agent/references/context-management.md +42 -0
- package/skills/arkcli-agent/references/debug-export.md +26 -0
- package/skills/arkcli-agent/references/evals.md +178 -0
- package/skills/arkcli-agent/references/events-chat.md +148 -0
- package/skills/arkcli-agent/references/interfaces-gaps.md +52 -0
- package/skills/arkcli-agent/references/mcp-vault.md +111 -0
- package/skills/arkcli-agent/references/model-config.md +46 -0
- package/skills/arkcli-agent/references/self-hosted.md +47 -0
- package/skills/arkcli-agent/references/session-files.md +149 -0
- package/skills/arkcli-agent/references/session-upgrade.md +61 -0
- package/skills/arkcli-agent/references/skills.md +87 -0
- package/skills/arkcli-agent/references/todo-write.md +31 -0
- package/skills/arkcli-api-explorer/SKILL.md +188 -0
- package/skills/arkcli-api-explorer/references/arkcli-api.md +180 -0
- package/skills/arkcli-api-explorer/references/evals.md +176 -0
- package/skills/arkcli-auth/SKILL.md +184 -0
- package/skills/arkcli-auth/references/arkcli-auth-login.md +92 -0
- package/skills/arkcli-auth/references/arkcli-auth-status.md +109 -0
- package/skills/arkcli-auth/references/arkcli-auth-whoami.md +56 -0
- package/skills/arkcli-auth/references/auth-modes.md +78 -0
- package/skills/arkcli-auth/references/evals.md +82 -0
- package/skills/arkcli-auth/references/identity-resolution.md +33 -0
- package/skills/arkcli-auth/references/realname-gate.md +69 -0
- package/skills/arkcli-billing/SKILL.md +122 -0
- package/skills/arkcli-billing/references/arkcli-billing-list.md +259 -0
- package/skills/arkcli-billing/references/evals.md +107 -0
- package/skills/arkcli-chat/SKILL.md +114 -0
- package/skills/arkcli-chat/references/arkcli-chat.md +283 -0
- package/skills/arkcli-chat/references/caching-thinking.md +124 -0
- package/skills/arkcli-chat/references/chat-meta.md +77 -0
- package/skills/arkcli-chat/references/evals.md +34 -0
- package/skills/arkcli-chat/references/stream-events.md +124 -0
- package/skills/arkcli-chat/references/text-format.md +167 -0
- package/skills/arkcli-chat/references/tools.md +119 -0
- package/skills/arkcli-config/SKILL.md +197 -0
- package/skills/arkcli-config/references/arkcli-config-init.md +89 -0
- package/skills/arkcli-config/references/arkcli-config-profile.md +106 -0
- package/skills/arkcli-config/references/evals.md +154 -0
- package/skills/arkcli-connect/SKILL.md +196 -0
- package/skills/arkcli-connect/references/arkcli-connect.md +165 -0
- package/skills/arkcli-connect/references/evals.md +231 -0
- package/skills/arkcli-custommodel/SKILL.md +167 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-available-quantizations.md +29 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-delete.md +37 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-get.md +45 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-list.md +65 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-quantize.md +59 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-update.md +47 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-upload.md +64 -0
- package/skills/arkcli-custommodel/references/evals.md +59 -0
- package/skills/arkcli-datasets/SKILL.md +39 -0
- package/skills/arkcli-datasets/references/commands.md +83 -0
- package/skills/arkcli-datasets/references/evals.md +31 -0
- package/skills/arkcli-deploy/SKILL.md +89 -0
- package/skills/arkcli-deploy/references/arkcli-deploy.md +141 -0
- package/skills/arkcli-deploy/references/evals.md +80 -0
- package/skills/arkcli-docs/SKILL.md +453 -0
- package/skills/arkcli-docs/references/commands.md +283 -0
- package/skills/arkcli-docs/references/evals.md +201 -0
- package/skills/arkcli-docs/references/failure-modes.md +85 -0
- package/skills/arkcli-doctor/CONTRIBUTING.md +54 -0
- package/skills/arkcli-doctor/SKILL.md +367 -0
- package/skills/arkcli-doctor/references/error-codes.md +162 -0
- package/skills/arkcli-doctor/references/evals.md +385 -0
- package/skills/arkcli-doctor/references/scope-account.md +94 -0
- package/skills/arkcli-doctor/references/scope-cli.md +88 -0
- package/skills/arkcli-doctor/references/scope-infer-endpoint.md +132 -0
- package/skills/arkcli-doctor/references/scope-metrics.md +157 -0
- package/skills/arkcli-doctor/references/scope-model.md +130 -0
- package/skills/arkcli-doctor/references/verify-origin.md +102 -0
- package/skills/arkcli-gen/SKILL.md +188 -0
- package/skills/arkcli-gen/references/arkcli-gen.md +230 -0
- package/skills/arkcli-gen/references/gen-meta.md +154 -0
- package/skills/arkcli-gen/references/image-stream.md +105 -0
- package/skills/arkcli-helper/SKILL.md +200 -0
- package/skills/arkcli-helper/references/arkcli-helper.md +298 -0
- package/skills/arkcli-helper/references/evals.md +334 -0
- package/skills/arkcli-iam/SKILL.md +46 -0
- package/skills/arkcli-iam/references/arkcli-iam-userid.md +54 -0
- package/skills/arkcli-iam/references/evals.md +24 -0
- package/skills/arkcli-infer-endpoint/SKILL.md +82 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-capability-get.md +50 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-create.md +121 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-delete.md +71 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-get.md +43 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-list.md +82 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-start.md +36 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-stop.md +36 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-update.md +78 -0
- package/skills/arkcli-infer-endpoint/references/evals.md +24 -0
- package/skills/arkcli-models/SKILL.md +305 -0
- package/skills/arkcli-models/references/arkcli-models-activate.md +103 -0
- package/skills/arkcli-models/references/arkcli-models-get.md +94 -0
- package/skills/arkcli-models/references/arkcli-models-list.md +71 -0
- package/skills/arkcli-models/references/arkcli-models-scenario-table.md +75 -0
- package/skills/arkcli-models/references/arkcli-models-search.md +170 -0
- package/skills/arkcli-models/references/evals.md +57 -0
- package/skills/arkcli-onboard/SKILL.md +169 -0
- package/skills/arkcli-onboard/references/evals.md +156 -0
- package/skills/arkcli-plans/SKILL.md +135 -0
- package/skills/arkcli-plans/references/arkcli-plans-buy.md +125 -0
- package/skills/arkcli-plans/references/arkcli-plans-get.md +84 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-apply.md +58 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-list.md +114 -0
- package/skills/arkcli-plans/references/arkcli-plans-renew.md +125 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-rotate-apikey.md +61 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-assign.md +147 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-list.md +100 -0
- package/skills/arkcli-plans/references/evals.md +178 -0
- package/skills/arkcli-pricing/SKILL.md +120 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-models.md +258 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-plans.md +139 -0
- package/skills/arkcli-profile/SKILL.md +168 -0
- package/skills/arkcli-profile/references/arkcli-profile-create.md +92 -0
- package/skills/arkcli-profile/references/arkcli-profile-keys.md +135 -0
- package/skills/arkcli-profile/references/arkcli-profile-set-default.md +81 -0
- package/skills/arkcli-profile/references/evals.md +93 -0
- package/skills/arkcli-resources/SKILL.md +112 -0
- package/skills/arkcli-resources/references/arkcli-resources-list.md +105 -0
- package/skills/arkcli-shared/SKILL.md +209 -0
- package/skills/arkcli-shared/references/global-flags.md +77 -0
- package/skills/arkcli-shared/references/profile-defaults.md +35 -0
- package/skills/arkcli-shared/references/troubleshooting.md +49 -0
- package/skills/arkcli-shared/references/update.md +117 -0
- package/skills/arkcli-train-finetune/SKILL.md +109 -0
- package/skills/arkcli-train-finetune/references/create.md +274 -0
- package/skills/arkcli-train-finetune/references/download.md +50 -0
- package/skills/arkcli-train-finetune/references/evals.md +59 -0
- package/skills/arkcli-train-finetune/references/export-deploy.md +179 -0
- package/skills/arkcli-train-finetune/references/list.md +79 -0
- package/skills/arkcli-train-finetune/references/manage.md +140 -0
- package/skills/arkcli-understand/SKILL.md +105 -0
- package/skills/arkcli-understand/references/arkcli-understand.md +249 -0
- package/skills/arkcli-understand/references/evals.md +109 -0
- package/skills/arkcli-understand/references/sub-skills.md +137 -0
- package/skills/arkcli-usage/SKILL.md +123 -0
- package/skills/arkcli-usage/references/arkcli-usage-balance.md +196 -0
- package/skills/arkcli-usage/references/arkcli-usage-plan.md +153 -0
- package/skills/arkcli-usage/references/arkcli-usage-seats.md +199 -0
- package/skills/arkcli-usage/references/arkcli-usage-stats.md +160 -0
- package/README.md +0 -3
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# BytePlus VMP metrics scope
|
|
2
|
+
|
|
3
|
+
Use this reference when the user needs the live metric catalog, one ModelArk
|
|
4
|
+
metric value, a time series, or explicit PromQL. Use model or Endpoint diagnosis
|
|
5
|
+
for an overall health decision; metrics output does not assign health by itself.
|
|
6
|
+
|
|
7
|
+
Follow the resource-first rule in the parent Skill before entering this scope.
|
|
8
|
+
If the request contains an Endpoint ID or foundation-model name, run
|
|
9
|
+
`doctor infer-endpoint` or `doctor model` first even when the user also names a
|
|
10
|
+
metric. Use this metrics scope directly only when no resource identifier is
|
|
11
|
+
present, or after the resource diagnosis when a separate raw metric value is
|
|
12
|
+
still required.
|
|
13
|
+
|
|
14
|
+
## Command families
|
|
15
|
+
|
|
16
|
+
| Goal | Command | Remote access |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| List the live named-query catalog | `arkcli doctor metrics list --format json` | No; local embedded catalog only |
|
|
19
|
+
| Describe one query and its parameters | `arkcli doctor metrics describe <query-id> --format json` | No; local embedded catalog only |
|
|
20
|
+
| Run a named query | `arkcli doctor metrics <query-id> ... --format json|scalar|table` | Yes; BytePlus VMP |
|
|
21
|
+
| Run raw PromQL | `arkcli doctor metrics raw --promql '<expr>' --format json|scalar|table` | Yes; BytePlus VMP |
|
|
22
|
+
|
|
23
|
+
## Discover the live catalog
|
|
24
|
+
|
|
25
|
+
Do not hardcode a query count or parameter list. The embedded BytePlus catalog
|
|
26
|
+
can change by release.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
arkcli doctor metrics list --format json
|
|
30
|
+
arkcli doctor metrics describe request.error.rate --format json
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
These commands do not require login, a configured profile, VMP, or an auth
|
|
34
|
+
preflight. Execute the requested catalog command once, return its result, and
|
|
35
|
+
stop. Do not inspect configuration, command help, or VMP state after a
|
|
36
|
+
successful local catalog read.
|
|
37
|
+
|
|
38
|
+
`list` returns an array of:
|
|
39
|
+
|
|
40
|
+
- `id`
|
|
41
|
+
- `summary`
|
|
42
|
+
- `metric_family`
|
|
43
|
+
- `calc_kind`
|
|
44
|
+
- `unit`
|
|
45
|
+
|
|
46
|
+
`describe` additionally returns the PromQL `template`, declared `params` with
|
|
47
|
+
types and defaults, output `unit`, and `aggregation_hint`. Use the exact
|
|
48
|
+
parameter names from `describe`; unknown names are rejected.
|
|
49
|
+
|
|
50
|
+
## Run a named query
|
|
51
|
+
|
|
52
|
+
Apply the shared authentication gate, describe the query when its parameters
|
|
53
|
+
are not already known, and then run it:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
arkcli doctor metrics request.error.rate \
|
|
57
|
+
--param endpoint=ep-example \
|
|
58
|
+
--window 1h \
|
|
59
|
+
--format json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Do not use `--param endpoint_id=...` for this query; the catalog declares the
|
|
63
|
+
parameter as `endpoint`.
|
|
64
|
+
|
|
65
|
+
Useful flags:
|
|
66
|
+
|
|
67
|
+
| Flag | Contract |
|
|
68
|
+
|---|---|
|
|
69
|
+
| `--param key=value` | Bind one declared catalog parameter; repeatable |
|
|
70
|
+
| `--filter label=value` | Add a label matcher only when the template declares `${@filters}`; repeatable |
|
|
71
|
+
| `--window <duration>` | Lookback window in Go duration syntax; default `1h` |
|
|
72
|
+
| `--step <duration>` | Sample step; default is window/60 clamped to 10-60 seconds |
|
|
73
|
+
| `--workspace-id <uuid>` | Query a specific BytePlus VMP workspace and skip telemetry workspace resolution |
|
|
74
|
+
| `--format json` | Return rendered PromQL, window, and raw series |
|
|
75
|
+
| `--format scalar` | Reduce the matrix using the catalog aggregation hint and return top-level `value`, `unit`, and `aggregation` |
|
|
76
|
+
| `--format table` | Return one row per series with tags, latest, mean, and max |
|
|
77
|
+
| `--auto-bind` | Reuse/create a workspace and bind ModelArk telemetry when only binding is missing; requires approval |
|
|
78
|
+
|
|
79
|
+
Doctor metrics queries are read-only and do not register `--dry-run`. The local
|
|
80
|
+
`metrics list` and `metrics describe` commands expose the catalog and request
|
|
81
|
+
shape without VMP access. A named or raw query is the real remote diagnosis and
|
|
82
|
+
must not be presented as a Client Preview.
|
|
83
|
+
|
|
84
|
+
## Output interpretation
|
|
85
|
+
|
|
86
|
+
Named and raw results share these fields:
|
|
87
|
+
|
|
88
|
+
| Field | Meaning |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `query_id` | Present for a named query; omitted for raw PromQL |
|
|
91
|
+
| `promql` | Exact rendered or supplied query sent to VMP |
|
|
92
|
+
| `window.start`, `window.end`, `window.step` | Effective UTC query bounds |
|
|
93
|
+
| `series` | JSON matrix output |
|
|
94
|
+
| `value`, `unit`, `aggregation` | Scalar output at the top level |
|
|
95
|
+
| `table` | Per-series summary rows for table output |
|
|
96
|
+
|
|
97
|
+
Preserve the rendered PromQL, workspace scope, label values, and time window
|
|
98
|
+
when reporting a query issue. An empty `series`, empty `table`, or zero scalar
|
|
99
|
+
after a successful query means no matching data for that selection or a
|
|
100
|
+
legitimate zero; it is not proof that ModelArk is healthy or unhealthy.
|
|
101
|
+
|
|
102
|
+
Before changing the query, verify:
|
|
103
|
+
|
|
104
|
+
1. The query ID and declared parameter names.
|
|
105
|
+
2. The Endpoint/model label values.
|
|
106
|
+
3. The BytePlus VMP workspace and ModelArk telemetry binding.
|
|
107
|
+
4. The selected window and expected traffic.
|
|
108
|
+
5. The metric family for the workload modality.
|
|
109
|
+
|
|
110
|
+
## Raw PromQL
|
|
111
|
+
|
|
112
|
+
Use raw PromQL only when the live catalog cannot express the requested metric:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
arkcli doctor metrics raw \
|
|
116
|
+
--promql 'sum(rate(ark_api_proxy_request_total[5m]))' \
|
|
117
|
+
--window 1h \
|
|
118
|
+
--format json
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
The expression must mention at least one `ark_*` metric. General cluster
|
|
122
|
+
queries such as `node_*`, `kube_*`, or `up{}` are rejected. Raw mode bypasses
|
|
123
|
+
catalog parameter validation and has no catalog unit; verify the expression
|
|
124
|
+
carefully and do not use it as the default path.
|
|
125
|
+
|
|
126
|
+
## VMP workspace and `--auto-bind`
|
|
127
|
+
|
|
128
|
+
Without `--workspace-id`, arkcli resolves the workspace from ModelArk telemetry
|
|
129
|
+
configuration and checks VMP subscription plus cross-service authorization.
|
|
130
|
+
|
|
131
|
+
If only workspace binding is missing, explain the mutation and obtain approval:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
arkcli doctor metrics request.error.rate \
|
|
135
|
+
--param endpoint=ep-example \
|
|
136
|
+
--auto-bind \
|
|
137
|
+
--format json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
If VMP is disabled or the service-linked role is missing, do not add
|
|
141
|
+
`--auto-bind`. Use the official BytePlus setup path:
|
|
142
|
+
|
|
143
|
+
- https://docs.byteplus.com/en/docs/vmp/Quick-start
|
|
144
|
+
- https://docs.byteplus.com/en/docs/ModelArk/1263493
|
|
145
|
+
|
|
146
|
+
An explicit `--workspace-id` bypasses ModelArk telemetry workspace resolution.
|
|
147
|
+
Use only a workspace the user supplied or that belongs to the active BytePlus
|
|
148
|
+
account; never copy one from another product or account.
|
|
149
|
+
|
|
150
|
+
## Boundaries
|
|
151
|
+
|
|
152
|
+
- Catalog list and describe are local and read-only.
|
|
153
|
+
- Named and raw queries are remote but read-only unless `--auto-bind` is added.
|
|
154
|
+
- Metrics output is evidence, not a complete model or Endpoint health decision.
|
|
155
|
+
- Do not hardcode the current catalog size.
|
|
156
|
+
- Do not use raw PromQL when a named catalog query exists.
|
|
157
|
+
- Do not query non-`ark_*` infrastructure metrics through this command.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# BytePlus foundation-model scope
|
|
2
|
+
|
|
3
|
+
Use this reference when the user provides a BytePlus ModelArk foundation-model
|
|
4
|
+
name and wants health, usage, error, Endpoint, or quota diagnosis. The model
|
|
5
|
+
name outranks a standalone error-code lookup.
|
|
6
|
+
|
|
7
|
+
## Commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Default 24-hour diagnosis.
|
|
11
|
+
arkcli doctor model <model-name> --format json
|
|
12
|
+
|
|
13
|
+
# Explicit window.
|
|
14
|
+
arkcli doctor model <model-name> --window 6h --format json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
`--window` uses Go duration syntax. Use `168h`, not `7d`.
|
|
18
|
+
|
|
19
|
+
This diagnostic is read-only and supports neither `--fix` nor `--dry-run`.
|
|
20
|
+
Apply remediation through the owning command after explicit confirmation.
|
|
21
|
+
|
|
22
|
+
Run the Doctor command directly. Do not run `arkcli auth status`, start login,
|
|
23
|
+
inspect a profile, call `arkcli models list`, call
|
|
24
|
+
`arkcli infer endpoint list`, or add another preflight first. The model scope
|
|
25
|
+
preserves the requested model and reports its own authentication, catalog,
|
|
26
|
+
Endpoint-visibility, and VMP failures.
|
|
27
|
+
|
|
28
|
+
## Output contract
|
|
29
|
+
|
|
30
|
+
BytePlus uses only fields already present in the Volc `doctor model` schema.
|
|
31
|
+
The scope combines foundation-model catalog visibility, usage, Endpoint APIs,
|
|
32
|
+
rate-limit APIs, and BytePlus VMP operational evidence. It does not emit a
|
|
33
|
+
BytePlus-only `activation` object or `report_suggestion`.
|
|
34
|
+
|
|
35
|
+
`exists.ok=true` proves only catalog visibility. It does not prove that a model
|
|
36
|
+
is activated for the account, that payment is current, or that inference will
|
|
37
|
+
succeed.
|
|
38
|
+
|
|
39
|
+
## Checks and schema
|
|
40
|
+
|
|
41
|
+
| Output | Meaning |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `model_name` | Exact requested foundation-model name |
|
|
44
|
+
| `window.duration`, `start_time`, `end_time` | Effective diagnostic evidence window |
|
|
45
|
+
| `exists.ok`, `not_found`, `reason` | Catalog visibility result |
|
|
46
|
+
| `exists.modality` | `text`, `image`, `video`, or `unknown` from authoritative model tags |
|
|
47
|
+
| `exists.vendor`, `display_name`, `primary_version` | Returned model metadata |
|
|
48
|
+
| `endpoint_total.total` | Visible Endpoints serving the model |
|
|
49
|
+
| `endpoint_state_distribution.buckets` | Endpoint lifecycle count and percent by state |
|
|
50
|
+
| `usage.available` | Whether model usage was returned |
|
|
51
|
+
| `usage.total_calls`, token fields, cache fields | Window totals for the applicable modality |
|
|
52
|
+
| `top_endpoint_by_usage` | Top Endpoints from authoritative ModelArk usage data |
|
|
53
|
+
| `errors.overall` or `errors.task` | Modality-specific error-code distribution |
|
|
54
|
+
| `error_rate.overall`, `request`, or `task` | Modality-specific rate channels |
|
|
55
|
+
| `top_endpoint_by_error_rate` | BytePlus VMP ranking using `ark_endpoint` and `base_model` labels |
|
|
56
|
+
| `account_quota_pressure` | Applicable account-level limit, peak, percent, and level |
|
|
57
|
+
|
|
58
|
+
## Analysis order
|
|
59
|
+
|
|
60
|
+
1. Read `exists.ok`. If false, report `not_found` and `reason`, then stop.
|
|
61
|
+
2. Read `exists.modality` before interpreting tokens, images, async tasks, or
|
|
62
|
+
concurrency.
|
|
63
|
+
3. Read Endpoint count and state distribution. Zero visible Endpoints means no
|
|
64
|
+
visible deployed Endpoint in the active profile scope; it does not prove an
|
|
65
|
+
activation or payment state.
|
|
66
|
+
4. Read `usage.available`, totals, and `top_endpoint_by_usage`. Text models rank
|
|
67
|
+
naturally by tokens; image and video models can fall back to call or task
|
|
68
|
+
count.
|
|
69
|
+
5. Read the model-level error-rate channel, leading error codes, and
|
|
70
|
+
`top_endpoint_by_error_rate` for the same window.
|
|
71
|
+
6. Load [`error-codes.md`](error-codes.md) for the exact leading code.
|
|
72
|
+
7. Read only quota fields present for the modality and use their structured
|
|
73
|
+
`level` and `percent`.
|
|
74
|
+
8. Drill into one Endpoint with `doctor infer-endpoint <id>` only when the model
|
|
75
|
+
result identifies a relevant candidate.
|
|
76
|
+
|
|
77
|
+
## Operational interpretation
|
|
78
|
+
|
|
79
|
+
| Finding | Next action |
|
|
80
|
+
|---|---|
|
|
81
|
+
| `exists.ok=false` | Check the exact name, fixed Region, and IAM visibility |
|
|
82
|
+
| Many Endpoints are not running | Select the relevant Endpoint and use `doctor infer-endpoint`; lifecycle writes belong to `arkcli-infer-endpoint` |
|
|
83
|
+
| One Endpoint dominates usage | Check that Endpoint's state, error rate, and quota pressure |
|
|
84
|
+
| One Endpoint dominates error rate | Run `doctor infer-endpoint <id>` for resource-level evidence |
|
|
85
|
+
| Model-wide error rate exceeds `threshold_percent` | Interpret the leading exact error codes and distinguish model/account causes from one Endpoint |
|
|
86
|
+
| `level=critical95` or `warn80` | Reduce or redistribute traffic, or request the applicable BytePlus quota |
|
|
87
|
+
| `ModelNotOpen` | Interpret the exact error with `error-codes.md`; do not invent an activation field |
|
|
88
|
+
| `RequestBurstTooFast` | Ramp traffic gradually and retry idempotently with exponential backoff |
|
|
89
|
+
|
|
90
|
+
## Modality routing
|
|
91
|
+
|
|
92
|
+
| Modality | Error fields | Usage and quota interpretation |
|
|
93
|
+
|---|---|---|
|
|
94
|
+
| Text | `errors.overall`, `error_rate.overall` | Tokens, cache, RPM, and TPM when populated |
|
|
95
|
+
| Image | `errors.overall`, `error_rate.overall` | Calls, images, and IPM when populated |
|
|
96
|
+
| Video or async content generation | `errors.task`, `error_rate.request`, `error_rate.task` | Calls, tasks, create-task RPM, and concurrency when populated |
|
|
97
|
+
| Unknown | Preserve returned fields and state the limitation | Do not guess a metric or quota family from the model name |
|
|
98
|
+
|
|
99
|
+
An empty VMP series or zero peak is not proof of health. Check the workspace,
|
|
100
|
+
labels, selected time window, usage availability, and whether that metric is
|
|
101
|
+
populated for the modality.
|
|
102
|
+
|
|
103
|
+
## VMP precheck and binding
|
|
104
|
+
|
|
105
|
+
If VMP and the ModelArk service-linked role are ready but only the workspace
|
|
106
|
+
binding is missing, explain the mutation and obtain approval before running:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
arkcli doctor model <model-name> --window 24h --auto-bind --format json
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The command may reuse the first workspace or create `ark_default`, then bind
|
|
113
|
+
ModelArk telemetry. It does not enable VMP, grant IAM, activate the model, or
|
|
114
|
+
make a payment. If VMP is disabled or the service-linked role is missing, stop
|
|
115
|
+
at the official BytePlus setup path.
|
|
116
|
+
|
|
117
|
+
## Boundaries
|
|
118
|
+
|
|
119
|
+
- Read-only unless `--auto-bind` is explicitly approved.
|
|
120
|
+
- Does not invoke the model and does not consume inference tokens.
|
|
121
|
+
- Diagnoses foundation models, not custom-model training jobs.
|
|
122
|
+
- Does not prove or change model activation or payment state.
|
|
123
|
+
- Does not modify Endpoints.
|
|
124
|
+
- Does not compare accounts, Regions, or products.
|
|
125
|
+
- Does not support or suggest `doctor report`.
|
|
126
|
+
|
|
127
|
+
Use [`scope-infer-endpoint.md`](scope-infer-endpoint.md) for one Endpoint and
|
|
128
|
+
[`scope-account.md`](scope-account.md) for available-balance, IAM, VMP, or TOS
|
|
129
|
+
readiness. Doctor does not determine payment qualification, bill status, or
|
|
130
|
+
overdue state.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# ModelArk Generation-Origin Verification
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
Use:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
arkcli doctor +verify-origin <media-url> [media-url...] --format json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The command checks whether 1-20 public image or video URLs contain technical
|
|
12
|
+
features associated with the ModelArk generation process.
|
|
13
|
+
|
|
14
|
+
It does not determine content truthfulness, copyright, ownership, legal
|
|
15
|
+
certification, content safety, compliance, media quality, or playability.
|
|
16
|
+
|
|
17
|
+
## One Confirmation for the Entire Batch
|
|
18
|
+
|
|
19
|
+
Run the complete batch once without `--yes`:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
arkcli doctor +verify-origin \
|
|
23
|
+
"https://example.com/a.mp4" \
|
|
24
|
+
"https://example.com/b.png" \
|
|
25
|
+
--format json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
This call does not acquire the origin-verification invoker or call Create/Get.
|
|
29
|
+
It returns one disclosure covering the entire batch:
|
|
30
|
+
|
|
31
|
+
- 20 free calls per account, but remaining quota is unknown;
|
|
32
|
+
- USD 0.015 per successful call after the free quota;
|
|
33
|
+
- successful `True`, `False`, and `Null` results are billable;
|
|
34
|
+
- authentication and rate-limit failures are not billable;
|
|
35
|
+
- daily limit 1000;
|
|
36
|
+
- Create and Get target 20 QPS.
|
|
37
|
+
|
|
38
|
+
Show the disclosure and wait for explicit user confirmation. Then rerun the same
|
|
39
|
+
batch with one `--yes`:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
arkcli doctor +verify-origin \
|
|
43
|
+
"https://example.com/a.mp4" \
|
|
44
|
+
"https://example.com/b.png" \
|
|
45
|
+
--yes \
|
|
46
|
+
--format json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
That single `--yes` authorizes every URL in the current batch. Never ask once
|
|
50
|
+
per URL.
|
|
51
|
+
|
|
52
|
+
## Execution and Recovery
|
|
53
|
+
|
|
54
|
+
The CLI owns:
|
|
55
|
+
|
|
56
|
+
```text
|
|
57
|
+
CreateArkOfficialResultQuery
|
|
58
|
+
-> Result.QueryID
|
|
59
|
+
-> GetArkOfficialResult every 5 seconds
|
|
60
|
+
-> running continues
|
|
61
|
+
-> succeeded or failed terminates
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Do not launch separate CLI processes, write a shell loop, call raw Actions, or
|
|
65
|
+
poll in the Agent.
|
|
66
|
+
|
|
67
|
+
Resume existing tasks without creating or reconfirming them:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
arkcli doctor +verify-origin \
|
|
71
|
+
--query-id "<query-id-1>" \
|
|
72
|
+
--query-id "<query-id-2>" \
|
|
73
|
+
--format json
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Each URL may be created at most once. A Get retry must preserve its QueryID and
|
|
77
|
+
must never return to Create.
|
|
78
|
+
|
|
79
|
+
## Authentication
|
|
80
|
+
|
|
81
|
+
This is a control-plane OpenTOP workflow:
|
|
82
|
+
|
|
83
|
+
- use BytePlus login-derived STS or configured AK/SK;
|
|
84
|
+
- do not use an Ark data-plane API key;
|
|
85
|
+
- do not pass global `--api-key` or `--base-url`;
|
|
86
|
+
- do not retry through another product.
|
|
87
|
+
|
|
88
|
+
## Exact Output Handoff
|
|
89
|
+
|
|
90
|
+
The final response must contain only the complete CLI stdout JSON:
|
|
91
|
+
|
|
92
|
+
- no summary, interpretation, or translation;
|
|
93
|
+
- no extraction of only `Result` or `Message`;
|
|
94
|
+
- no Markdown code fence, prefix, or suffix;
|
|
95
|
+
- no `--transform`;
|
|
96
|
+
- no YAML, table, CSV, or JSONL.
|
|
97
|
+
|
|
98
|
+
Never convert:
|
|
99
|
+
|
|
100
|
+
- `True` into legal or official certification;
|
|
101
|
+
- `False` into certainty that ModelArk was not involved;
|
|
102
|
+
- `Null` into `False`.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arkcli-gen
|
|
3
|
+
version: 2.0.1
|
|
4
|
+
description: "Image/video generation entry point: Use arkcli +gen when the user wants to generate an image, draw an image, generate an image/video, generate an image or a video from a reference image, generate from a reference image/video/audio, or explicitly use Seedream/Seedance models to create new content.+gen generates based on the available resources of the current profile and the model supported_params. Images are returned synchronously. After a video is submitted, task_id/status is returned. Use --wait or arkcli gen get/list to poll and download the result."
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["arkcli"]
|
|
8
|
+
cliHelp: "arkcli +gen --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# arkcli generation workflow (+gen)
|
|
12
|
+
|
|
13
|
+
**CRITICAL: Before starting, you MUST first use the read tool to read [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md) (authentication gate, model lookup fallback, and shared security rules).**
|
|
14
|
+
|
|
15
|
+
**CRITICAL: This is a three-step workflow, not a single command. To generate images/videos, you MUST execute in the order `Step 1 → Step 2 → Step 3`. Do not skip Step 1/2 and run `+gen` directly: it will fail because the model name format is wrong (404) or because parameters unsupported by the model are passed. Before running it, be sure to read [`references/arkcli-gen.md`](references/arkcli-gen.md).**
|
|
16
|
+
|
|
17
|
+
## Why this is a workflow (core concept, understand before running)
|
|
18
|
+
|
|
19
|
+
When the user says "generate a video/image", it is essentially **three independent things that must be done in order**:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
1. Which models are available in the current profile: Model sources differ completely by profile (EP vs model name)
|
|
23
|
+
2. Which parameters this model supports: Passing parameters without checking = guessing blindly = rejected by validation/backend
|
|
24
|
+
3: Generate using the available parameters
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Compressing these three steps into "directly guess a `+gen` command" is exactly where failures come from: an incorrect model name format causes a 404, and unsupported parameters are rejected.
|
|
28
|
+
|
|
29
|
+
## Authoritative modality contract
|
|
30
|
+
|
|
31
|
+
Production calls resolve generation capability in this fixed order:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
explicit --modality > output_modalities > task types > unknown
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- For a versioned model ID, Ark CLI reads `output_modalities` from ArkModels, then falls back to `task_types` / `filter_task_types` from the FoundationModel.
|
|
38
|
+
- For an `ep-*` ID, Ark CLI first reads `Endpoint.ModelReference.FoundationModel(name, version)`, then selects that exact model version and applies the same metadata contract.
|
|
39
|
+
- **Model names and display names are identifiers, not capability evidence.** Dola, Dreamina, Seedream, Seedance, or any future branding must not determine image/video routing.
|
|
40
|
+
- Missing or conflicting metadata resolves to `unknown`; pass `--modality image|video` explicitly instead of guessing.
|
|
41
|
+
- `+gen --dry-run` is a local Client Preview. It never reads live model or
|
|
42
|
+
Endpoint metadata, calls generation APIs, downloads files, or opens an
|
|
43
|
+
application. Pass `--modality image|video` for an unknown model or Endpoint;
|
|
44
|
+
online-only routing is reported as `unresolved` with `fidelity=partial`.
|
|
45
|
+
- Execute exactly one `arkcli +gen ... --dry-run` for one preview request.
|
|
46
|
+
After a successful `preview.v1` response, deliver it and stop immediately;
|
|
47
|
+
explain `steps`, `unresolved`, `fidelity`, and explicit parameters from that
|
|
48
|
+
response. Do not run `+gen --help`, change flags and retry, or repeat the same
|
|
49
|
+
dry-run to reconfirm a successful preview.
|
|
50
|
+
|
|
51
|
+
## Use cases
|
|
52
|
+
|
|
53
|
+
- "Generate an image" / "text-to-image" / "draw an X".
|
|
54
|
+
- "Generate a video" / "text-to-video".
|
|
55
|
+
- Image-to-image / image-edit / adding a reference image; image-to-video (I2V); reference-to-video (R2V); reference audio.
|
|
56
|
+
- "Use this image as the first frame to generate a video" / "keep the motion from this reference video".
|
|
57
|
+
|
|
58
|
+
## Workflow overview
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
User intent: "Generate X"
|
|
62
|
+
│
|
|
63
|
+
▼ Step 1 (mandatory) List models available in the current profile ──► arkcli resources list --modality image|video
|
|
64
|
+
│ platform → List EPs (ep-xxx) ┐
|
|
65
|
+
│ ├─ Select one and record it as $MODEL
|
|
66
|
+
│ coding-plan → List EPs (via platform) ┘
|
|
67
|
+
│
|
|
68
|
+
▼ Step 2 (mandatory, except EPs) Check available parameters for $MODEL ──► arkcli models get $MODEL --transform supported_params
|
|
69
|
+
│ Model name + has sp → **only** use the listed parameters, with values within min/max/enum
|
|
70
|
+
│ Model name + empty sp (not configured or currently unparseable) → +gen applies modality fallback defaults (video 720p/5s; image leaves size unset)
|
|
71
|
+
│ EP (ep-xxx) → Skip; do not force-fill parameters (unknown underlying capabilities); let the server decide.
|
|
72
|
+
│
|
|
73
|
+
▼ Step 3 Generate based on available parameters ──► arkcli +gen --model $MODEL [parameters allowed by Step 2] "prompt"
|
|
74
|
+
│
|
|
75
|
+
▼ Step 4 (result handling)
|
|
76
|
+
Video = asynchronous: returns task_id + status=queued (**not a failure!**) → Use arkcli gen get <task_id> to poll; when it becomes succeeded, the result is automatically downloaded locally (local_path); add --wait for synchronous blocking (capped by --timeout, default 10m; raise it for long videos)
|
|
77
|
+
Image = synchronous: directly returns output_url + local_path
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Step 1(mandatory) List models available in the current profile
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# List by target modality. The output items[].id is the candidate that can be used as --model.
|
|
84
|
+
arkcli resources list --modality video # or image
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
- **Platform differences (`resources list` already routes automatically by profile; just read items)**:
|
|
88
|
+
- `platform` profile → items are **inference endpoints (EPs)** (`ep-xxx`), and each EP binds a model internally.
|
|
89
|
+
- `coding-plan` profile → It does not contain vision models itself. `+gen image/video` automatically uses the platform data plane, and **`--model` must explicitly pass an EP on platform**.
|
|
90
|
+
- `is_default: true` marks the current default for this modality. Prefer it when the user does not specify one.
|
|
91
|
+
- **Select an ID and record it as `$MODEL`; use it throughout Step 2/3.**
|
|
92
|
+
- If the user has already explicitly provided a model/EP, it is still recommended to use `resources list` to check that it is available in the current profile. If it differs from the default, handle it according to "Default drift detection and promote nudge" in [`../arkcli-shared/references/profile-defaults.md`](../arkcli-shared/references/profile-defaults.md).
|
|
93
|
+
|
|
94
|
+
## Step 2 (mandatory, except EPs) Check available parameters for $MODEL
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
arkcli models get "$MODEL" --transform supported_params
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
- **`$MODEL` is a model name**: Get the `supported_params` list for this model (each item contains `name / type / support / min / max / enum / required`).
|
|
101
|
+
- > **MUST: Step 3 can only use parameters where `support=true` here, and values must be within the `min/max/enum` range.** Parameters not in the list (or with `support=false`) will be rejected by `+gen`.
|
|
102
|
+
- **You can directly use the ID returned by Step 1 `resources list`**: `models get` normalizes by DisplayName to the canonical hyphenated name. But normalization **only accepts the one form where "the dotted spelling == the lowercased DisplayName"** — it is not "any dotted name works". Step outside that and you get `not found`:
|
|
103
|
+
- ✅ `dreamina-seedance-2.0-fast` (its DisplayName is exactly `Dreamina-Seedance-2.0-fast`) → `dreamina-seedance-2-0-fast`
|
|
104
|
+
- ✅ `dola-seedream-5.0-pro` (DisplayName `Dola-Seedream-5.0-pro`) → `dola-seedream-5-0-pro`
|
|
105
|
+
- ❌ `dola-seedream-5.0-pro-260628` — **dotted spelling + date snapshot**: the DisplayName carries no date, so it does not match
|
|
106
|
+
|
|
107
|
+
**Rule**: any name with a date snapshot always uses the hyphenated form (`dola-seedream-5-0-pro-260628`); the dotted form is only for dateless family / variant names. If `not found` persists, check the canonical name with `arkcli models search <family name>` rather than guessing where the dots go.
|
|
108
|
+
- If the model is found but `supported_params` is empty / `null`, that version has no configured catalog or its upstream catalog is currently unparseable. Preserve any `warn: model supported_params enrichment failed: ...` line from stderr for troubleshooting. **Do not guess parameters manually**: `+gen` automatically applies built-in modality fallback defaults (video: `resolution=720p` / `duration=5` / `ratio=adaptive`) to fill parameters you did not specify. **Image tasks get no `size`** — the canvas follows the aspect ratio described in the prompt plus the server default, and pinning a 1:1 constant would override a ratio the prompt already states; pass `--size` explicitly when you need a fixed canvas. When the control-plane lookup *fails* (as opposed to the model simply having no catalog), stderr also carries a `warn: ...` line saying validation was skipped — it goes to stderr rather than the JSON payload, and appears even when generation fails. Go directly to Step 3.
|
|
109
|
+
- **`$MODEL` is an EP (`ep-xxx`)**: Skip this step. It is normal that supported_params cannot be found for an EP. Also, `+gen` **does not** apply fallback defaults to EPs (the model behind the EP may support higher capabilities, and forcing defaults may downgrade it incorrectly). Degrade open directly and let the server decide.
|
|
110
|
+
- Only the `supported_params` lookup is skipped. A real `+gen` call still resolves image/video through `Endpoint -> ModelReference -> FoundationModel metadata`.
|
|
111
|
+
- Provide `--modality` only when authoritative metadata is unavailable or conflicting.
|
|
112
|
+
|
|
113
|
+
## Step 3: Generate based on available parameters
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
# Text-to-image / text-to-video.
|
|
117
|
+
arkcli +gen --model "$MODEL" "<prompt>"
|
|
118
|
+
|
|
119
|
+
# With parameters confirmed in Step 2 (example: video 1080p + priority 9, provided that supported_params lists them).
|
|
120
|
+
arkcli +gen --model "$MODEL" --resolution 1080p --priority 9 "<prompt>"
|
|
121
|
+
|
|
122
|
+
# Image-to-image / image-to-video / reference assets: --input can be repeated.
|
|
123
|
+
arkcli +gen --model "$MODEL" --input @ref.jpg "<prompt>"
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
- For the full parameter set, multimodal `--input` rules, and the new `--n/--priority/--wait/--timeout`, see [`references/arkcli-gen.md`](references/arkcli-gen.md).
|
|
127
|
+
- **Artifacts are automatically downloaded to CWD by default** (or `--save-to <dir>`). The `local_path` in JSON is the persistent artifact. The presigned `output_url` expires after 24 hours, so prefer referencing `local_path`.`--save-to=""` disables this.
|
|
128
|
+
- **Images are also archived into the product gallery by default.** Pass `--no-gallery` or set `ARKCLI_NO_GALLERY=1` to disable this.
|
|
129
|
+
- **Automatically open artifacts with the system default application**: By default, artifacts are opened only when stdout is an interactive terminal (a person runs it directly in the terminal). When an agent / pipeline / CI captures stdout (non-TTY), **no window pops up**, and only `local_path` is returned.`--open` forces opening, and `--no-open` forces not opening. This only applies to local files that have already been saved (when an asynchronous video does not use `--wait`, there is no local file and nothing is opened). For multiple artifacts, only the first few are opened.
|
|
130
|
+
- **🔑 You are an agent, so use `--open` by default**: When you (the AI agent) call arkcli, stdout is taken over by you = non-TTY, so the default auto behavior will not pop up a window. The user can only see the file path, not the finished artifact.**To let the user directly see the generated image/video, by default add `--open` to all `+gen` commands that generate images/videos for a real person and to `gen get` commands that poll to `succeeded`** (`--open` ignores TTY and forces opening on the user's desktop). Exceptions only apply when the user explicitly says "do not open it / in a script / batch / no pop-up", or when generating more than 4 images in one batch → in these cases, omit `--open` or explicitly use `--no-open`.
|
|
131
|
+
|
|
132
|
+
## Step 4 (result handling) Asynchronous video generation / synchronous image generation
|
|
133
|
+
|
|
134
|
+
| Modality | Default behavior | How you should read the result |
|
|
135
|
+
|------|---------|---------------|
|
|
136
|
+
| **Video** | **Asynchronous**: immediately returns `task_id` + `status: queued` | `queued` **is not a failure**. Use `arkcli gen get <task_id> --open` to poll until `succeeded`—**this `gen get` call will also download the artifact locally and return `local_path`** (default CWD, `<task-id>.mp4`). `--open` makes the finished artifact pop up directly on the user's desktop (you are an agent, non-TTY, so without it there is only a path). You do not need to manually curl `output_url`; **do not** resubmit `+gen` just because you did not get the video (that creates a new task) |
|
|
137
|
+
| Video + `--wait` | Synchronous: blocks until completion before returning, **but gives up once it passes `--timeout` (default 10m)** | `arkcli +gen ... --wait --open`, directly get `output_url` / `local_path` and pop up the finished artifact.**Raise `--timeout` first for long videos** (e.g. `--timeout 30m`): in measurement, nearly half of seedance-2.0 requests did not finish rendering within 10m. Hitting the cap returns "the task is still running + task id", **not a failure** — keep polling with `gen get <task-id>` and **do not re-run `+gen`** |
|
|
138
|
+
| **Image** | **Synchronous**: directly returns `output_url` + `local_path` | `arkcli +gen ... --open` makes the image pop up directly for the user to view |
|
|
139
|
+
|
|
140
|
+
> **⚠️ Behavior change (2.0)**: The default video task behavior has changed from "automatically wait for completion" to "return task_id immediately after submission". To use the old synchronous blocking behavior, explicitly add `--wait`.
|
|
141
|
+
|
|
142
|
+
> **⚠️ `--wait` has a cap**: it blocks for at most `--timeout` (default 10m) and then returns. Video rendering often takes longer (measured: nearly half of seedance-2.0 requests exceed 10m), so **pass `--timeout 30m` explicitly for long videos**. The JSON returned at the cap is a `type: timeout` error **carrying the task id** — this is **not a generation failure**, the task is still rendering server-side; keep polling with the `gen get <task-id>` from the hint and **never re-run `+gen`** (that creates a second billed task).
|
|
143
|
+
|
|
144
|
+
## Quick decision
|
|
145
|
+
|
|
146
|
+
- If the user wants to generate an image/video in one go → Use this workflow (Step 1→2→3).
|
|
147
|
+
- If the user has not chosen a model yet → Step 1 `resources list` lists candidates; if the model family is uncertain → switch to [`../arkcli-models/SKILL.md`](../arkcli-models/SKILL.md).
|
|
148
|
+
- Image-to-image / reference assets → Add `--input @<file>` in Step 3 (repeatable).
|
|
149
|
+
- If the user "does not see the video" after video generation → It is probably asynchronous `queued`. Use `arkcli gen get <task_id> --open` to poll. The call that reaches `succeeded` will automatically download the artifact locally (see the returned `local_path`) and pop up the finished artifact. Do not resubmit.
|
|
150
|
+
- **Add `--open` by default when generating images/videos for a real person** → You are an agent (non-TTY). Without it, the user can only see the path, not the finished artifact. Omit it or use `--no-open` only for "do not open / in a script / batch >4 images".
|
|
151
|
+
|
|
152
|
+
## Natural language trigger table for advanced flags
|
|
153
|
+
|
|
154
|
+
| How the user says it | Corresponding flag / command |
|
|
155
|
+
|---|---|
|
|
156
|
+
| "Open it directly after generation / open it for me to see / pop it up when it is ready" | `arkcli +gen --open` (force opening with the system default application; it is already opened automatically by default in an interactive terminal) |
|
|
157
|
+
| "Do not open automatically / no pop-up / I am running it in a script, do not open it" | `arkcli +gen --no-open` (force not opening) |
|
|
158
|
+
| "Preview / do not actually submit / only view parameters / dry run / trial run / take a look first" | Run `arkcli +gen ... --dry-run --format json`; inspect `steps`, `unresolved`, and `fidelity`, and do not present a partial plan as server validation |
|
|
159
|
+
| "Do not download / URL only / do not save locally / disable automatic download" | Add `--save-to=""` explicitly; retain it together with `--dry-run` so the preview verifies the no-download intent for a future real execution |
|
|
160
|
+
| "Force execution / skip validation / I know it is unsupported but want to try it" | `arkcli +gen --force` |
|
|
161
|
+
| "Coherent multiple images / in order / consistent style / 4-panel comic / sequential images" | `arkcli +gen --sequential` |
|
|
162
|
+
| "My previous tasks / generation history / task list / task status" | `arkcli gen list` (list all asynchronous generation tasks) |
|
|
163
|
+
| "Is that task finished / check progress / check status" | `arkcli gen get <task_id>`
|
|
164
|
+
|
|
165
|
+
## Command overview
|
|
166
|
+
|
|
167
|
+
| Command | Role |
|
|
168
|
+
|------|------|
|
|
169
|
+
| `arkcli resources list --modality image\|video` | **Step 1**: Models/EPs available in the current profile |
|
|
170
|
+
| [`arkcli models get <model> --transform supported_params`](../arkcli-models/SKILL.md) | **Step 2**: Check available model parameters |
|
|
171
|
+
| [`arkcli +gen`](references/arkcli-gen.md) | **Step 3**: Generate based on available parameters |
|
|
172
|
+
| [`arkcli +gen --stream`](references/image-stream.md) | Streaming NDJSON output for image tasks |
|
|
173
|
+
| [`arkcli gen get <task-id>`](references/gen-meta.md) | **Step 4**: Poll/query asynchronous video tasks |
|
|
174
|
+
| [`arkcli gen list`](references/gen-meta.md) | List/filter asynchronous generation tasks |
|
|
175
|
+
| [`arkcli gen delete <task-id>`](references/gen-meta.md) | Delete asynchronous generation tasks |
|
|
176
|
+
|
|
177
|
+
## Common fallbacks
|
|
178
|
+
|
|
179
|
+
- Model name reports `not found` → `models get`'s normalization only covers the one form where "the dotted spelling == the lowercased DisplayName" (see Step 2); it is not "any dotted name works". First **convert any name carrying a date snapshot to the hyphenated form** (`dola-seedream-5-0-pro-260628`); if it still reports this, check the canonical name with `arkcli models search <family name>`.
|
|
180
|
+
- Parameter rejected (`param_not_supported`) → Go back to Step 2 and check `supported_params`. Use only the listed parameters. If you really need to force it, you can add `+gen --force` to skip validation (the server still makes the final decision).
|
|
181
|
+
- **Content blocked by moderation** (`ContentRiskBlocked` / `*SensitiveContentDetected` / sensitive-content hit / copyright) → This is not a parameter issue, and `--force` cannot bypass it. Adjust the prompt / sensitive content in the input assets and retry. For structured blocking causes + fix guidance, switch to `arkcli doctor error <code>` in [`../arkcli-doctor/SKILL.md`](../arkcli-doctor/SKILL.md) (full coverage for all 5 video-generation blocking subtypes).
|
|
182
|
+
- Authentication error → Switch to [`../arkcli-auth/SKILL.md`](../arkcli-auth/SKILL.md).
|
|
183
|
+
|
|
184
|
+
## References
|
|
185
|
+
|
|
186
|
+
- [arkcli-shared](../arkcli-shared/SKILL.md) — Authentication and global parameters (must read).
|
|
187
|
+
- [arkcli-models](../arkcli-models/SKILL.md) — Detailed explanation of Step 2 model query / `supported_params`.
|
|
188
|
+
- [references/arkcli-gen.md](references/arkcli-gen.md) — Full `+gen` parameters + multimodal + asynchronous semantics.
|