リファレンス
エラーコード
失敗時のエンベロープに含まれる各codeの意味と対処方法。
失敗時、標準出力には次の内容が出力されます。
{ "ok": false, "code": "...", "message": "...", "details": { } }
- プログラムで分岐する場合は
codeを使ってください。messageは人に表示するための文言です。
- APIから返されたエラーの場合、
details.statusはHTTPステータスです。サーバーが独自のエラーコードを返した場合はdetails.serverCodeに、追加情報はdetails.serverDetailsに入ります。
- 終了コードについては終了コードを参照してください。
| code | 終了コード | 意味 | 対処方法 |
|---|
no_api_key | 1 | APIキーが見つかりません。非対話型の環境(CI、エージェント、パイプ)ではログインは開始されません | tufty loginを実行するか、TUFTY_API_KEYを設定するか、tufty auth set <key>を実行してください |
unauthorized | 1 | キーが無効か、取り消されています(HTTP 401) | APIキーのページで新しいキーを取得してください |
forbidden | 1 | アクセスが拒否されました(HTTP 403) | キーがどのアカウントのものか確認してください |
not_configured | 1 | tufty auth getでキーが見つかりませんでした | 先にログインするか、キーを保存してください |
login_expired | 1 | 認可リクエストの期限が切れたか、拒否されました | tufty loginをもう一度実行してください |
login_timeout | 1 | 30分以内に認可が完了しませんでした | tufty loginをもう一度実行してください |
| code | 終了コード | 意味 | 対処方法 |
|---|
insufficient_balance | 1 | クレジットが不足しています(HTTP 402)。details.requiredがこのステップに必要なクレジット数です。標準エラー出力にはチャージ用のリンクも表示されます | アカウント設定 → クレジットでチャージしてから、もう一度実行してください |
| code | 終了コード | 意味 | 対処方法 |
|---|
invalid_request | 1 | サーバーがリクエストを拒否しました(HTTP 400)。details.serverCodeに理由が入ります(例:unknown_template、reference_not_allowed) | 入力を確認してください。tufty tools describe <id>で現在のオプションを確認できます |
not_found | 1 | 見つかりません(HTTP 404)。多くはrunIdの入力ミスです | runIdを確認してください |
cli_version_too_low | 1 | CLIのバージョンがサーバーの対応範囲より古くなっています(HTTP 426) | npm install -g @tufty/cli@latestを実行してください |
server_error | 1 | サーバーエラー(HTTP 5xx)、またはレスポンスを解析できませんでした | 時間をおいて再試行してください |
http_error | 1 | その他の失敗を示すHTTPステータス | details.statusを確認し、時間をおいて再試行してください |
network_error | 1 | サーバーに接続できませんでした。details.urlはリクエスト先のURLです | ネットワーク、プロキシ、--base-urlを確認してください |
manifest_unavailable | 1 | ツールマニフェストを読み込めず、ローカルのキャッシュもありません | ネットワークを確認してから再試行してください |
これらはすべて終了コード2で終了します。
| code | 意味 | 対処方法 |
|---|
usage_error | 引数が無効です(不明なオプション、選択肢にない値、オプションの値の指定漏れ、正の数でない--timeoutなど)。引数の解析段階のエラーにはdetails.commanderCodeが含まれます | tufty <tool> -hで正しい使い方を確認してください |
unknown_command | そのコマンドは存在しません。details.suggestionsに近いコマンドの候補が入ります | コマンド名を修正してください |
tool_not_found | tufty tools describeで指定したIDのツールが存在しません。details.availableToolsにすべてのツールIDが入ります | ツールIDを修正してください |
missing_input | 入力がツールの必要数に足りません。detailsにflag、min、gotが入ります | 不足している入力を追加してください |
too_many_inputs | 入力が上限を超えているか、1つの商品に+で5枚以上の画像をつないでいます | 入力を減らしてください |
too_many_images | 商品数 × モデル数 × --countが16を超えています。detailsにpairs、count、maxが入ります | 複数回に分けて実行するか、--countを下げてください |
file_not_found | ローカルファイルが存在しません。details.pathがそのパスです | パスを確認してください |
invalid_video | 動画が途中で切れているか、moovインデックスがありません。details.filenameがそのファイルです | 動画を書き出し直すか、ダウンロードし直してください |
invalid_input | data: URLの形式が正しくありません | data: URLを確認してください |
| code | 終了コード | 意味 | 対処方法 |
|---|
task_failed | 1 | サーバー側で生成に失敗しました。detailsにrunId、tool、serverCodeが入ります | 再試行するか、入力画像や--notesを変えてみてください |
timeout | 1 | --timeout以内に完了しませんでした。details.runIdがその実行のIDです。実行はキャンセルされません | tufty status <runId> --waitを実行してください |
| code | 終了コード | 意味 | 対処方法 |
|---|
upload_failed | 1 | ストレージへのアップロードに失敗しました | 時間をおいて再試行してください |
download_failed | 1 | 入力URL、または--saveでの生成物のダウンロードに3回試行して失敗しました。details.urlがそのURLです | URLやネットワークを確認してから再試行してください |
internal_error | 1 | 予期しないエラーが発生しました | --verboseを付けて再試行し、その出力をお送りください |