技術鴨生図
このスキルのGoプログラムを使用して画像の生成・編集を行います。フォルダ全体を解凍するだけで使用可能で、ユーザー側にPython、Node.js、Goは不要であり、インストールコマンドの実行も必要ありません。実行時はプログラムの絶対パスを使用します。PATHが通っていることを前提としないでください。
プログラムの選択
共通パッケージの bin/ には、全5プラットフォーム用のプログラムが含まれています。初回呼び出し時は実際にコマンドを実行する環境に基づいてOSとCPUアーキテクチャを選択します。WSLではLinux用プログラムを使用します。macOS/Linuxでは uname -s と uname -m で判断します。x86_64 は amd64 に、arm64/aarch64 は arm64 に対応します。
| 実行環境 | このスキルディレクトリからの相対パス |
|---|---|
| Windows Intel/AMD x64 | bin/jishuya-image-windows-amd64.exe |
| macOS Intel | bin/jishuya-image-darwin-amd64 |
| macOS Apple Silicon | bin/jishuya-image-darwin-arm64 |
| Linux x64 | bin/jishuya-image-linux-amd64 |
| Linux ARM64 | bin/jishuya-image-linux-arm64 |
Windowsでは [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture を確認できます。ここに記載のないシステム/アーキテクチャは対応プログラムが存在しないため、互換性を推測しないでください。PowerShellでは & "プログラムの絶対パス" を使用します。macOS/Linuxで解凍時に実行権限が保持されていない場合は、選択したプログラムに対して chmod +x "プログラムの絶対パス" を実行します。macOSのパッケージは開発者署名/公証を受けていないため、システムがブロックした場合は、ユーザーにシステムの指示に従って提供元を確認するよう伝え、自動的にシステム保護を無効にしないでください。
実行フロー
- 初回使用時、または設定エラーが発生した場合は
doctorを実行します。これはモデルの問い合わせのみを行い、画像は生成しません。Keyが設定済みでリクエスト内容が明確な場合は、毎回確認を取らずに直接実行します。Keyが不足している場合は、ユーザーがローカル端末で実行する完全なinitコマンドを提示します。また、ユーザーがホストプロセスにJISHUYA_IMAGE_API_KEYを設定することも可能です。会話内でキーを貼り付けさせたり、対話不可能なバックグラウンドで入力を待機したりしないでください。既存の設定や環境変数があればそのまま使用可能で、initは設定を保存するためのオプション手順です。 - 明確な新規画像の需要には
generateを使用します。参照画像の修正や「さっきのあれを...」といった場合はeditを使用し、ユーザーが提供した、または以前に生成されたローカル画像の絶対パスを渡します。タスクに実際の参照画像がない場合は、まず画像の場所を特定し、パスを捏造しないでください。 - 需要に応じてパラメータを選択します。明示的な数量がない場合は1枚生成します。モデルが指定されていない場合は設定ファイルのモデルを使用し、利用可能なモデル設定がない場合はデフォルトで
gpt-image-2を使用します。modelsで可視モデルを確認できます。勝手にモデルを切り替えてリトライしないでください。 - 現在のリクエストが完了するまでそのまま実行し続けます。ホストが実行セッションを返した場合は、同じプロセスの終了を待ち続けます。成功した場合は
pathsの実際のファイルを基準に画像を表示し、その場所を伝えると同時に、warnings内の満たされなかった要件も通知します。失敗した場合は、返されたresult.paths/result.partial_pathsを確認し、既存の結果とエラーについて説明します。
Keyは優先的に JISHUYA_IMAGE_API_KEY を読み取り、次にプログラムが管理するユーザー設定ファイルを読み取ります。環境変数モードではユーザー設定ディレクトリが存在しなくても直接使用可能です。init で設定を保存する場合も、そのディレクトリは必要になります。設定ファイル内のKeyを読み取ったり、表示したり、コピーしたりしないでください。APIは固定で https://www.jishuya.net/v1 です。bin/ に対応プログラムが存在しない場合は、完全版の配布ZIPが必要であることを説明します。ソースコードのみのダウンロードや SKILL.md のコピーには実行可能プログラムは含まれていません。ダウンロード方法は README.md を参照してください。
ホストのサンドボックスは、プログラムがローカル設定を読み取り、指定された出力ディレクトリに書き込み、技術鴨にアクセスできるようにしなければなりません。アクセス拒否が発生した場合は、ホストが提供する承認方法に従って、今回のコマンドに必要な権限を申請します。承認が不可能な環境では、ブロック理由を説明し、ローカル端末で実行するコマンドを提示します。サンドボックスを閉じたり、KeyファイルのACLを緩めたり、自分でキーをコピーして制限を回避したりしないでください。ユーザーがホストプロセスに環境変数を設定している場合、ローカル設定ファイルが読み取れなくても、プログラムはその環境変数を直接使用できます。
コマンド例
以下の PROGRAM は現在のシステムプログラムの絶対パスに置き換えてください。PowerShellでパスにスペースが含まれる場合は & "完全なパス" を使用します。
PROGRAM generate --prompt "窓辺に座った小さなアヒル" --output-dir "プロジェクトディレクトリ/output/imagegen"
PROGRAM edit --image "元画像の絶対パス.png" --prompt "被写体はそのままで背景を青に変更" --output-dir "プロジェクトディレクトリ/output/imagegen"
PROGRAM edit --image "参照画像1.png" --image "参照画像2.png" --prompt "1枚目の構図と2枚目の配色を参考に"
PROGRAM generate --prompt "透明背景の商品画像" --background transparent
PROGRAM generate --model gpt-image-2.6-sunburst --prompt "本物のGIFアニメーションを生成:赤い玉を左右に動かす、2フレームループ、各フレーム200ミリ秒、出力はGIFファイル" --format gif --frame-count 2 --frame-duration-ms 200
PROGRAM generate --help
PROGRAM edit --help
通常の画像はデフォルトでPNG、1024x1024、auto 品質を使用します。必要に応じてサイズ、品質、アスペクト比を調整します。ユーザーが具体的なサイズを要求した場合は、プロンプトにもサイズとアスペクト比を記載し、完了後に実際の画像を確認します。--output-dir は優先的に現在のタスクの出力ディレクトリを使用します。省略時はカレントワーキングディレクトリの jishuya-output/ に書き込みます。デフォルトのタイムアウトは600秒です。
高度なパラメータとプラットフォームの能力
2026-11-09 実測:gpt-image-2、gpt-image-2.6-sunburst、gpt-image-2.6-flare はいずれもPNGを返すことが可能です。参照画像編集、複数参照画像、2枚出力、透明PNGについては成功事例があります。2.6 Sunburst/Flareは、プロンプトで明示的にGIFアニメーションを要求した後、それぞれ2フレーム/200ミリ秒および4フレーム/120ミリ秒のループアニメーションで検証済みです。Flareのストリーミング最終画像も確認済みで、クライアントは技術鴨の結果イベントと互換性があります。以下の制限はエンドポイントの実測に基づくものであり、モデル自体の能力を表すものではありません。
- デフォルトで
1024x1024をリクエストしたが、何度か1254x1254が返ってきたことがある。プロンプトとパラメータの両方で1536x1024を指定した場合の成功事例はあるが、実際のサイズを確認する必要がある。 - JPEG、WebP、ネイティブSVGはまだ確認できていない。プロンプトで明示してもPNGが返ってくる場合があるため、拡張子だけで成功と判断してはいけない。
- ストリーミング最終画像は利用可能だが、リクエストした中間プレビュー画像は返されない。クライアントは
warningsで注意を促すため、リアルタイムプレビューがあると主張してはいけない。 - Flareの
low/medium/highリクエストは成功し、レスポンスの品質ラベルも一致していた。xhigh/maxはラベルがmediumと返ってきたため、指定したより高品質で生成されたと主張してはいけない。クライアントはプラットフォームから報告されたサイズや品質の差異を通知する。 - mask は依然としてマスク範囲外のピクセルを変更することがある。markup はプロンプトで左上位置と座標を補足することで成功事例があるが、厳密な領域制約や他のピクセルが変更されないことを保証できない。
ユーザーが上記の未確認機能を必要とする場合は、まず現在の実測上の制限を説明します。誤った形式、誤った領域、または成功終了コードのみの結果を、需要を満たしたと主張しないでください。詳細なモデルとユースケースの対応関係は README.md を参照してください。パラメータエントリは引き続き利用可能で、エンドポイント修正後の検証に使用できます。
- 共通パラメータ:
--model、--size、--quality、--complexity、--count、--format、--background、--compression、--moderation。品質はauto/low/medium/high/xhigh/max、出力はpng/jpeg/webp/gif/svgを指定可能。これはクライアント側のパラメータ範囲であり、技術鴨のエンドポイントが実際にサポートするものに従う必要があります。 - 編集:
--imageは最大16回繰り返し可能。--maskと--markupは排他的であり、PNG形式である必要があります。サイズは最初の参照画像と一致する必要があります。注釈画像は独立した透明レイヤーである必要があります。プログラムは入力ファイルのシグネチャをチェックしますが、エンドポイントに代わってサイズや透明度をチェックしません。 - GIF:
--format gifに加えて、プロンプトで「GIFアニメーションを生成」、動きのある内容、フレーム数、各フレームの表示時間を明示する必要があります。フォーマットパラメータのみを渡した場合、PNGが返ってきたことがあります。--frame-count 2–16、--frame-duration-ms 20–2000。mask、ストリーミング、圧縮率とは同時に使用できません。プログラムは破損したGIFや単一フレームのGIFを拒否します。アニメーション効果および指定されたフレーム数/表示時間は、やはり確認する必要があります。 - SVG:一度に1枚。
--svg-modelおよび--svg-reasoning(後者は著者モデルが必要)を追加可能。ストリーミングや圧縮率とは同時に使用できません。SVG編集、透明SVG、追加の品質レベルなどはエンドポイントでの実測が必要であり、利用可能であると約束できません。 - SSE:
--streamまたは--partial-images 1–3。プログラムはイベントごとに受信した画像を保存し、終了後にJSONでパスを返します。会話中にリアルタイムプレビューは提供されません。ストリームが中断された場合、保存済みのファイルは保持されます。
生成および編集は技術鴨のクレジットを消費します。リクエストが失敗したり、タイムアウトしたり、ストリームが中断された後は、自動的に再送信しないでください。まずユーザーに通知し、プラットフォームの記録と照合します。models が成功しても、画像生成機能の検証が成功したことにはなりません。初回使用、設定、アップグレード、無効化、アンインストールについては README.md を参照してください。プログラムはスキルをコピーせず、個人ルールを書き換えず、自動更新もしません。