image-riff — 借りたビジュアル言語でオリジナルアートを生成 は何をしますか?
エンジン、そのAPIキー、フラグ、および注意点はすべて make-art スキルにあります。
まずそちらをお読みください。このスキルは方法です。参照画像を実際の選択肢のセットに変え、それを本来の用途に合わせて仕上げる方法です。
完了とは、美しい画像が4枚あることではありません。完了とは、N枚のプレートが生成され、すべてのフレームが確認され、正直な批評に基づいてランク付けされ、目的に合わせたクロップがカットされ、以下のソースフォルダに成果物が収められることです。「ここに4つの画像があります」で終わる実行は、最後の2つの作業をユーザーに残します。
成果物の保存場所
art/<source-slug>/
README.md 日付入りのタイトル、ブリーフ、ランク -> プレートの表、そしてなぜそのピックが勝ったのか
1-<slug>.jpg ... 最終選考、フル解像度マスター、ランク順に番号付け
upload-1024/ 実際の配信サイズの成果物(表面が特定のサイズを必要とする場合)
small-size-test.png サイズにおける可読性が判断を決めた場合の証拠
prompts/ 最終選考のプロンプトをそのまま保存
candidates/<round>/ 敗退したラウンド、それぞれに独自の prompts/
<source-slug> は日付ではなく作品の本体です。同じ階層にフォルダが既に存在する場合は、その命名規則に従ってください。
- READMEは必須です。 フォルダは後日、冷めた状態でレビューされます。READMEがないと、番号付きJPEGのフォルダは、どの画像が採用され、どれが却下され、その理由がわかりません。
- 敗退ラウンドも保持してください。
candidates/には再利用可能な知識があります。 - プロンプトはそのまま保持してください。 これらは再現の手順であり、来歴です。
- 最終選考には生成順ではなくランク順に番号を付けてください。 ファイル名は、会話が消えた後もランキングを残す場所です。
- 生成されたアートは、依頼されない限り個人のフォトライブラリに入れないでください。実際の写真と混ざります。
2つの質問をしてから、リソースを使う
4K画像1枚あたり約$0.24で、4枚のプレートで約$1です。2つの質問だけで済ませるには十分安く、質問ゼロは無駄になるほど高価です。両方の答えはプレートごとに変わるため、推測はできません。
- 何のためのものか? アスペクト比と、テキスト用の余白を残すかどうかを決定します。
- ベースからどれだけ離れるか? 忠実な再現 <-> 自由な再解釈。
主観的な軸については質問し、技術的な軸については自分で判断してください。
プロンプトは3つのパートからなり、変化するのはそのうちの1つだけ
コードで構築し、被写体ごとに1ファイル作成します。
STEM (すべてのプレートで同一) — 画像から読み取ったレンダリング言語
SUBJECT (唯一の変数) — 1段落、1つの構図
TAIL (すべてのプレートで同一) — 幾何学 + 否定条件
STEMテンプレート(単語ではなく動きとして):
添付の画像をスタイルとカラーのアンカーとして厳密に使用してください。その正確なレンダリング言語を再現してください:<時代 + メディア>、<色の置き方>、<線の動作>、<テクスチャ / シェーディング技法>、<名前付き顔料、最大2~3、さらに小さなアクセント>、<光の挙動>。添付画像の被写体をコピーしないでください。新しいものを構成してください。
SUBJECT:
そしてTAIL:
<アスペクト比>の構図、フルブリードで端から端まで。枠なし、フレームなし、紙のテクスチャなし、白マージンなし。テキストなし、レタリングなし、サインなし、ロゴなし。
写真ベースの場合はより難しいケースです。スプレッドにコストをかける前に、2Kでプローブしてください。「レンダリング言語を再現し、被写体を変更する」は、スタイライズされたベース(コミックパネル、版画)からは確実にアートを生成します。写真からは、完璧に実行されてもがっかりすることがあります。ベースが写真の場合は3つ目の質問をしてください — 最終的に写真のように見えるべきか、それとも別のもののように見えるべきか? — そして、4枚の4Kプレートの前に、1~2枚の2Kプレートで試してください。
ベースが写真の場合、STEMのスロットは変わりますが、その役割は変わりません。 マークメイキングのスロットを、カメラが決定する6つの項目に置き換えてください:<ストック + フォーマット>、<シャドウの応答>、<光の質と角度>、<パレット、3~4の名前付きカラーと1つのアクセント>、<グレイン / ハレーション / ビネット>、<これではないもの>。最後のスロットが最も重要です。なぜなら、写真プロンプトに対するエンジンのデフォルトは現代のデジタル写真だからです:HDRなし、影の持ち上げなし、デジタル鮮明化なし、シネマティックなティールアンドオレンジグレードなしと指定してください。「影のディテールをまったく保持しない、深くつぶれた黒」のような句は、プロンプトの中で最も負荷のかかる行になり得ます。
また、ベースからその暗示された被写体も読み取ってください(例:誰もいない、上から見下ろしたプライベートな場所)。SUBJECTを書く前に、一文で名前を付けてください。フレーム内に人物を表示しない のような不変条件はTAILに入れてください。
なぜこのように構築するのか:
- 画像がスタイルを運び、STEMは目に見えるものだけを名前で呼びます。 見えるマークメイキングを説明してください — 太さの異なるハードな黒の輪郭線、見えるベンデイドットのハーフトーンシェーディング、エアブラシによる機械的なブレンドのみ、写真のような光はなし。技法を名前で指定することで、モデルがそれを現代化するのを防ぎます。
- 「被写体をコピーしないで...新しいものを構成してください」は負荷がかかっています。 これがないと、ベースのバリエーションが生成されます。これがあると、ベースの言語でのオリジナル構図が得られ、その中の最高のものはベースを繰り返すのではなく引用します。
- 顔料を名前で指定し、アクセントを制限してください。 アクセントについて特に「小さく」と言わないと、アクセントがフレームを支配します。
- 否定条件は単なる定型文ではありません。 エンジンは独自の判断でペーパー/リソボーダーを追加します。TAILに4つの否定条件を入れることはコストゼロです。
- 同一のSTEM + TAILにより、セットが比較可能になります。 プレート間のすべての違いは、あなたが指定したものです。
被写体は「視点」でなければならず、飾りであってはならない
最も重要なクリエイティブな決定です。カメラの位置が異なる4つの被写体:
| プレート | 視点 | 例 |
|---|---|---|
| spire | 垂直軸を真上に見上げる | 雲海からそびえる塔、遠近法で細くなる |
| wreck | 何もない平原を横切って見る | 半分埋まった難破船、そこへ歩いていく小さな人影 |
| descent | 雲を急降下して見下ろす | 皿のような海から湾曲した地平線へ、一人の人物が落ちていく |
| mandala | 純粋なパターンを、地平線なしで見る | 対称的なロゼット、隅から隅まで |
プレートはその視点のために出荷されます:垂直のコラムはレターボックスバナーのクロップに耐え、空に対する単一のシルエットは正方形のアバタークロップに耐えます。家具が異なるだけの4枚のプレートはすべて同じようにクロップされます — つまり、4つのコスチュームを着た1つのオプションにすぎません。各プレートに1つのアイデアを。
ブリーフに照らしてランク付け — そして、各「表面」がどのプレートを望むかを述べる
2つの異なる順序付け。ベースに対して正直にランク付けし、逸脱したプレートを挙げてください。次に、宛先の表面ごとに、その表面がどのプレートを望み、なぜクロップがそうさせるのかを1行追加してください。忠実度で最下位にランクしたプレートが、適切なバナーになることがあります。低いランクは拒否ではなく、一つの軸です。
クロップをカットする。すべての表面には幾何学がある。
ソースプレートではなく、宛先に合わせたサイズのファイルを納品します。
YouTubeチャンネルバナー — 16:9で1アップロード;YouTubeはデバイスごとに異なるスライスを配信します。
- 保存 / TV:2560x1441。
- デスクトップストリップ:2560x424、垂直方向の中央約29.4%(上35.3% -> 下64.7%)。表示される必要があるものはすべてその帯域に収めます。
- 縦長の9:16プレートは、16:9クロップに必要な高さの約3倍あります:帯域を選択し、デフォルトで中央を受け入れないでください。
チャンネルアバター — 正方形、900x900から88x88まで配信。88pxで判断します。
チャンネルが実際に何を配信しているかを読み取るには:
UA="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36"
curl -sL -A "$UA" "https://www.youtube.com/@<channel>" | grep -o '"banner".\{0,400\}'
# fcrop64の16進数は、0xffffに対する4つの16ビット分数:左、上、右、下
python3 -c "h='00005a57ffffa5a8'; print([round(int(h[i:i+4],16)/0xffff,4) for i in range(0,16,4)])"
他の表面については、クロップする前に実際の配信アセットを測定してください。記憶している仕様シートを信頼しないでください。
メカニクス
- 貼り付けられたベース画像はディスク上にありません。 セッションのトランスクリプトからbase64を抽出し(
make-artにスニペットがあります)、4K生成にコストをかける前に確認してください。 - スプレッドは並行して生成し、プレートごとに1つのシェルコールを実行します。4枚の4Kプレートは約2分で生成されます。
--out foo.pngはJPEGを書き込む可能性があります。 出力されたMIMEタイプを確認し、必要に応じてリネームしてください。- ユーザーより先に自分で全てのフレームを確認し、ペーパーボーダーを目視ではなくプローブで確認してください:非対称なほぼ白のエッジのラインは、空や雲が塗り足しに当たっているものであり、フレームではありません。
ベース画像がない場合
同じ3部構成のプロンプトはアンカーなしでも機能します。STEMはあなたが定義するハウススタイルになります。ユーザー自身の素材(名言集、ムードボード)からテーマ別アンカーを与え、汎用的にならないようにしてください。
アイコンとアバター:小サイズテストが唯一のテスト
ランキングはフルサイズと実サイズで逆転することがあります。意見を持つ前にコンタクトシートを作成してください:実際のレンダリングサイズにダウンスケールし、アプリのようにサークルクロップし、最近傍補間でアップスケールして何が残るかを確認します。
from PIL import Image, ImageDraw
for s in (110, 44, 32): # IG: プロフィール / DM行 / フィード+ストーリーリング
small = Image.open(f"{n}.jpg").convert("RGB").resize((s, s), Image.LANCZOS)
mask = Image.new("L", (s*4, s*4), 0)
ImageDraw.Draw(mask).ellipse((0, 0, s*4-1, s*4-1), fill=255)
out = Image.new("RGB", (s, s), (245, 245, 247))
out.paste(small, (0, 0), mask.resize((s, s), Image.LANCZOS))
out.resize((s*5, s*5), Image.NEAREST).save(f"{n}_{s}.png") # NEAREST = ピクセルを見る
110pxで美しいプレートが、44pxでは読み取れないスミアになることがあります。Instagramの幾何学: 正方形でアップロード(1024x1024で問題ありません)、円形でレンダリング、プロフィールで約110px、DM行で44px、フィードまたはストーリーリングで32px。32pxで判断してください。
フルサイズでは見えない、違いを生む4つの制約:
- 3つのフラットカラー、それ以上は不可。 追加の色はすべて中間調であり、中間調は混ざります。
- フレームの1/40より細いものはなし。 数値としてプロンプトに記述してください。
- エンブレムは幅の85%以上を占める必要があります。 大文字で記載してください;そうしないと、エンジンは控えめなマークを多くの空き地の中央に配置します。
- ホットカラーはグリントではなく、GROUNDに属します。 スペキュラーハイライトは32pxでは無意味です。ホットカラーの全面フラットフィールドがサムネイルを止めます。メタリックシーンの指示は縮小すると泥のように見えます。
エンジンが独自に追加する2つのもの
- プロンプトで円形クロップについて決して言及しないでください。 エンジンが円を描いてしまいます。代わりに、*「平らで途切れのないグラウンドが正方形の4辺すべてに達している;エンブレムは中央の4分の3以内に十分収まっている」*と述べ、TAILに
no circle, no ring, no roundel, no enclosing shapeを入れてください。 - 禁止しない限り、放射状ビネットを追加します。 「すべての塗りつぶしは完全にフラット — グラデーションなし、ビネットなし、角や端の放射状暗化なし。」 を要求してください。
スタイルの説明からベース画像をクレジットしないでください
あなたが書いたスタイルフレーズ(「メビウスの伝統で」)は帰属表示ではありません。それが後段でクレジットにならないようにしてください。クレジットが公開される場合は、実際のアーティストを尋ねてください。実際のアーティストに対する間違ったクレジットは、空白よりも悪いです。
複数のベース画像
--image は繰り返し可能なので、複数のアンカーも可能ですが、テストは十分ではありません。プロンプトでどの画像が何を提供するかを指定し(「画像1は色と線の言語、画像2は構造」)、最初のスプレッドをプローブとして扱ってください。
関連項目
brand-direction-plates(逆のスプレッド:1つの被写体に対して複数の言語)· make-art(エンジン、フラグ、ペースト抽出、ボーダープローブ)。