prompt-writing について
prompt-writingは、Astria CLIで画像生成用プロンプトを作成するスキルです。画像の生成、編集、アップスケールを行うユーザーを対象とし、プロンプトは必ず英語で作成します。事前にユーザーのprompts、packs、tunesを確認し、関連する素材や好みを反映します。
主な機能
- 01生成プロンプトを英語で作成
- 02最近のprompts、packs、tunesを確認
- 03依頼の種類に応じた生成手順の設計
- 04プロンプトを提示して確認・編集
- 05画像枚数と生成パラメーターの案内
活用シーン
- 01商品画像用プロンプトの作成
- 02入力画像の編集内容の記述
- 03画像アップスケール用プロンプトの作成
- 04参照tuneによる被写体の一貫性維持
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ astriaai/ skills --skill prompt-writingインストール後、Claude Code で/prompt-writingを入力して読み込まれたか確認します。
詳細
プロンプトの作成
ユーザーが別の言語でやり取りしている場合も、生成プロンプトのテキストは必ず英語で作成してください。会話の周辺部分はユーザーの言語のままでかまいませんが、ユーザーに表示するプロンプトも、Astria に送信するプロンプトも、すべて英語にしてください。
プロンプトを作成する前に、astria CLI を使ってユーザーについて把握してください(astria-api スキルを参照)。
astria prompts list --limit 20— 最近のプロンプトを確認し、ユーザーのスタイルやパラメーターを把握します。astria packs list— ユーザーのパックを確認します。リクエストが特定の対象(例:シャツ)に関するものであれば、main_class_nameが一致するパックを探し、astria prompts list --pack-id <id>でそのテンプレートプロンプトを確認します。astria tunes list— ユーザーの参照画像/チューンを確認します。生成したい内容に合うものがあれば、<model_type:id:1> name構文でプロンプト内から参照します(astria-apiスキルを参照)。
ユーザー自身にパックやチューンを探すよう促さないでください。CLI で確認し、具体的な候補を提示してください。選択肢を提示する場合は、画像サムネイル付きの質問ツール(Claude Code の AskUserQuestion、Astria チャットエージェントの ask_user)を使うと、ユーザーが選びやすくなります。
リクエストに合うチューンがない場合は、ユーザーの意図に沿って対応してください。
- ヘッドショット/モデル/アバターの場合は、まず参照画像を求めないでください。すぐに生成できるプロンプトの選択肢と、特徴の選択肢(外見、年齢層、スタイリング、フレーミング、照明)を提案し、その後、生成設定を確認します。
- 商品や特定の人物の同一性が重要なリクエストの場合は、参照画像を提供するようユーザーに依頼してください(
astria tunes createでチューンとしてアップロードするか、ウェブアプリのプロンプト欄にドラッグしてください)。 - この手順では、ウェブ検索を提案しないでください。
プロンプトを作成したら、生成する前にユーザーにプロンプトのテキストを表示し、確認または編集できるようにしてください。astria generate を呼び出す前に、プロンプトごとの画像数を質問ツールで確認してください。
リクエストの種類
- E コマース/商品写真 — 参照チューンを使って新しい画像を作成します。
- 画像編集 — 既存の画像を変更するには、
astria generate --input-image <url|file>を指定します(背景の変更、スタイルの変更、オブジェクトの追加/削除など)。 - アップスケーリング —
astria generate --model gemini --text "Recreate this image in 4K" --input-image <url>を使用します。画像に目立つテキストラベルがある場合は、アップスケーリング後も残るよう、プロンプト内でそれらに言及してください。
プロンプト作成ガイド
デフォルトでは、gemini モデルを使って生成します(astria generate --model gemini)。
ユーザーが別のモデルに言及したり、推奨を求めたりしない限り、モデルの種類について尋ねる必要はありません。
デフォルトの意図のマッピング
ユーザーが「モデル」「アバター」「ヘッドショット」の作成を求めた場合、清潔感のある白いスタジオ背景に、リアルで個性的な顔のヘッドショットを作成するリクエストとして解釈してください。
- この種類のリクエストでは、参照チューンを使用しないでください。
- フレーミングは顔のヘッドショット(全身ではない)、背景は白い
#fffのスタジオ背景、照明はスタジオ照明にしてください。 - 参照画像を求めるのではなく、質問ツールを使って、プロンプトや特徴の選択肢を先回りして提示してください。
- 国籍を表す言葉(「israeli」「french」「japanese」)は、顔立ちやキャスティングの多様性に関するスタイリング/特徴の指定として扱い、参照画像を求めるリクエストとは解釈しないでください。
- ユーザーが明示的に求めない限り、この種類のリクエストではファッション、ルックブック、ライフスタイル、全身、衣装を主役にしたプロンプトを提案しないでください。
顔の特徴に関する詳細なテンプレートは、unique-headshot スキルを参照してください。
やり取りのルール(厳守)
質問とプロンプトのテキストを、同じ応答で提示しないでください。
- 質問ツールを使う場合、そのターンでは質問と選択肢のみを返してください。
- ユーザーが回答した後、次のターンでプロンプトの候補を返してください。
参照
チューンを参照する場合は、常に <model_type:tune.id:1> tune.name を使って、学習対象を指定してください。
portrait of <faceid:123:1> woman in a garden wearing <faceid:124:1> dress— 正しい例portrait of John in a garden— 誤った例(モデルは「John」を認識しません)
末尾の :1 はトークン構文の固定部分であり、重みや強度ではありません。常に :1 と記述してください。変更したり、ユーザーに変更を促したりしてはいけません。
結果が悪い場合の確認
ユーザーから結果が悪いと言われた場合は、原因を特定してください。
- 各参照の
orig_images(astria tunes get <id>)を確認し、nameが画像の内容と一致しているか調べます。name=womanなのに、服や帽子を含む全身写真の場合は、そのチューンのページ(/tunes/<id>→「training images」→ crop tool)でトレーニング画像を再度トリミングするようユーザーに伝えてください。 nameは主な対象を表す必要があります。「jewelry」は適切な名前ではありません。対象に応じて「ring」または「necklace」にしてください。「jewelry」という名前のチューンに指輪が含まれている場合は、名前を変更(astria tunes update <id> --name ring)して再トレーニングするよう提案してください。- 顔が歪んだり、競合したりする場合(例:1つのプロンプトで同じ人物のLoRAとFaceIDを使用している場合)は、コンポーザーの設定で「Inpaint faces」を有効にするか、余分な顔の参照をチップの✕で削除してください。参照トークン内の数値を調整するよう提案してはいけません。参照の重みを調整する機能はありません。
主なパラメーター
| パラメーター | CLI フラグ | 一般的な値 |
|---|---|---|
| プロンプトテキスト | --text | 必須 |
| 画像の枚数 | --num-images | 1~4 |
| アスペクト比 | --aspect-ratio | 1:1 16:9 9:16 21:9 9:21 3:2 2:3 5:4 4:5 4:3 |
| 解像度(gemini のみ) | --resolution | 1K、2K(デフォルト)、4K |
より良い結果を得るためのヒント
- 背景を具体的に記述してください。「clean white studio」「blurred urban street」「autumn forest」などが使えます。
- 商品写真では、表面や配置について説明してください。
生成画像間で背景を同じに保つ
Gemini / Nano Banana では、生成ごとに背景を完全に同じに保つことはできません。背景参照を添付していても、スタジオ背景の色合いや明るさは変動します。文言では解決できません。確実な方法は、プロンプトテキストの末尾に後処理フラグを追加することです。
astria generate --text "<faceid:123:1> woman in a studio --background_color #f2f0ed"
--background_color #RRGGBB は生成後に検出された背景を指定した16進数の色に変更するため、カタログ全体で背景を統一できます。Gemini / Nano Banana、パートナーモデル、Kontext で動作しますが、Flux では動作しません。ウェブアプリでは、コンポーザーのオプションにある歯車アイコンの「Background color」行にあります。
背景が変動するとユーザーから報告された場合は、次の2つのよくある間違いも確認してください。
- 背景参照を添付せずに「match the provided background reference」のようなテキストを指定している場合、モデルは実行ごとに背景を作り出します。参照(
<faceid:ID:1> background)として添付するか、正確な色を記述してください。 - 1つのプロンプトに5~6個の参照(被写体+衣装+靴+帽子+バッグ+背景)を重ねている場合、それぞれが競合し、最初に背景が犠牲になります。必要なものだけに絞り、アクセサリーは2回目の生成で追加してください。
ファッションと衣服
- 一貫した顔の参照を常に使用してください。ユーザーが持っていない場合は、公開ギャラリーからFaceIDチューンを選ぶ(
astria tunes list --gallery --model-type faceid --limit 200)か、まず参照なしで顔を生成し、その生成画像を使ってチューンを作成する(astria tunes create)よう提案してください。 - 目的を確認してください。ルックブック(例:プロンプト
look book plain white background #fff)か、キャンペーン写真かを判断します。キャンペーンの例:A direct flash paparazzi style shot of <faceid:3904080:1> woman moving through a crowded bar. She looks straight into the lens with an intense expression. She wears the <faceid:3907553:1> dress and the <faceid:3907242:1> bag on her shoulder. The background is dark and out of focus. High contrast, sharp flash.