CLI
CLIの概要
tuftyのコマンド一覧と共通のルール。
コマンド
| コマンド | 内容 |
|---|---|
tufty <tool> | スタジオツールを実行します(例:tufty pet-dressup)。詳しくはツールを参照 |
tufty tools list | すべてのツールを一覧表示 |
tufty tools describe <id> | 1つのツールの入力、オプション、料金、制限をすべて表示 |
tufty status <runId> | 実行状況を確認。--waitを付けると完了まで待機 |
tufty upload <file> | ファイルをtuftyのストレージにアップロードし、公開URLを表示 |
tufty login | ブラウザのデバイスコードでログイン |
tufty auth set <apiKey> | APIキーを保存 |
tufty auth get | 使用中のキーを表示(デフォルトはマスク表示) |
tufty logout | 設定ファイルからキーを削除 |
ツールコマンドの仕組み
ツールコマンドとそのフラグは、CLIに直接書き込まれているわけではありません。CLIは実行時にサーバーのツールマニフェストを読み込み(ローカルに10分間キャッシュ)、ツールごとにコマンドを登録して、オプションの生成と値の検証を行います。サイト側でツールが追加されたり、料金やオプションが変わったりしても、CLIをアップグレードせずに追従できます。そのため、常にtufty <tool> -hの出力が正となります。
auth、login、logout、upload、statusはマニフェストに依存せず、マニフェストを取得することもありません。
共通のルール
- 標準出力にはJSONエンベロープが1つだけ出力され、進行状況は標準エラー出力に書き出されます。詳しくは出力モードを参照してください。
- 終了コード:
0は成功、1は実行時エラーまたはAPIエラー、2は使い方の誤りです。詳しくは終了コードを参照してください。 - 入力の数、ファイルの有無、オプションの値はアップロード前に検証されるため、入力ミスでクレジットが無駄になることはありません。
- コマンド名を間違えると
unknown_commandが返され、details.suggestionsに近いコマンドの候補が入ります。
よく使う組み合わせ
# 使えるツールを確認
tufty tools list
# ツールの現在のフラグと料金
tufty pet-dressup -h
tufty tools describe pet-dressup
# 見積もってから実行
tufty pet-dressup --product ./sweater.jpg --model ./corgi.jpg --quality medium --dry-run
tufty pet-dressup --product ./sweater.jpg --model ./corgi.jpg --quality medium --save ./outこのセクションの内容
- グローバルフラグ:すべてのコマンドで共通のフラグと環境変数
- 出力モード:JSONエンベロープ、
--format url、--save、--dry-run - 非同期実行とステータス:
--no-waitとtufty status - ローカルファイルとアップロード:入力の扱い、自動切り抜き、上限
- クレジット:実行前に費用を見積もる
