特売の文字が枠からはみ出したら、その画像はもう貼れないんです。FLUX 3 Imageには文字や物の位置を座標の箱で決める枠指定(バウンディングボックス)があり、日本語サムネの文字位置がどこまで揃うかを自分の素材で測る手順をまとめました。公式ドキュメントには日本語の作例が載っていますが、何回に何回枠に収まるかという数字はどこにもないので、測るしかありません。
日本語サムネの文字は、なぜ数ミリずれると使えないのか?
チラシやPOPは、値札の枠や店名の帯、商品写真の位置が先に決まっています。そこへ「本日特売」の4文字が5mm右に流れただけで、帯の端と重なって読めなくなるんです。
画像生成AIで困るのもここですよね。背景はいいのに文字だけがずれて、作り直すと今度は背景まで変わってしまう。毎回ここで手が止まっていませんか?
FLUX 3 Imageは、10月1日に提供が始まったと報じられた画像モデルです。APIのほか、ブラウザで触れるPlaygroundも公式ページから開けます。文字の場所を言葉でお願いするのではなく座標で箱を置けるので、レイアウトが先に決まっている販促の画像と相性がよさそうなんです。
FLUX 3 Imageの枠指定は、0から1000の座標で箱を置く
画像の縦と横をそれぞれ0から1000の目盛りで区切り、箱の上下左右をその目盛りで決めます。画像サイズが変わっても同じ数字で同じ場所を指せるので、横長のサムネでも正方形の投稿画像でも考え方は変わりません。
枠指定の座標は縦が先に来る
最初につまずくのがここです。箱の座標は [y0, x0, y1, x1]、つまり上・左・下・右の順で並びます。Canvaなどのデザインツールは横から書くことが多いので、同じ感覚で数字を入れると縦と横が入れ替わった場所に箱が置かれます。
ピクセルで測った位置からの換算式は、公式の編集ガイドに載っています。最後の2行は、わたしが足した使い方の例です。
def to_bbox(left, top, right, bottom, width, height):
return [round(top / height * 1000), round(left / width * 1000),
round(bottom / height * 1000), round(right / width * 1000)]
# 1280×720のサムネで、左64px・上54px・右704px・下216pxの範囲に文字を置きたいとき
to_bbox(64, 54, 704, 216, 1280, 720) # [75, 50, 300, 550]日本語の文字には専用の箱を渡す
公式ガイドの指示は「文字には専用の箱を与え、その文言を説明(desc)の中に引用符で書く」です。バウンディングボックスの解説ページでは日本語の文字の箱に Ja_Text_1 のようなidが付いていて、漢字とカタカナを縦に並べた作例も出てきます。
箱1つは、公式の例と同じ形でこう書きます。文言と色の指定はわたしが入れた例で、リクエストのどこに入れるかは公式ガイドの例に合わせてください。
{
"id": "Ja_Text_1",
"from": null,
"src_bbox": null,
"tgt_bbox": [75, 50, 300, 550],
"desc": "The text '本日特売' in bold red Japanese letters",
"kind": "new"
}kind は、新しく描く new、場所を動かす move、今あるものをそのまま残す anchor の3種類です。商品写真を anchor で残し、文字の箱だけを new で描き直せれば、直すのは文字だけで済みます。ただし箱の外も完全には固定されず、公式ガイドにも、箱の外のピクセルは通常そのままでも影や反射、近くの光は変わることがあると書かれています。
文字位置が揃うかを測る、テスト用サムネの組み方
測るときは、背景だけ作ってある自分のテンプレート画像を参照画像として渡し、そこに文字の箱を置くのがおすすめです。背景が毎回同じなので、ずれたのが文字なのか背景なのかで迷わずに済みます。
条件は売り場でよく使う文言で4通り、箱を使わない比較用を1つ用意し、それぞれ5回ずつ生成します。
Cの小さい箱は、公式ガイドも注意している部分です。約40×25ピクセルの箱に新しい要素を置くと出てこないことが多かった、とあります。値札の数字を小さく入れたいなら、どこまで小さくできるかを先に確かめておきたいところです。
比較用は、文字入り画像を作るときの公式の書き方どおり、文言を引用符で囲んで場所を言葉で伝えます。箱ありと箱なしで作り直しの回数がどれだけ違うかを見るための条件です。
あなたの売り場で一番ずれて困る文字は、どれでしょうか? AからDのどれかを、その文言に差し替えてみてください。
枠からのはみ出しと日本語の誤字はどう数える?
はみ出しは、出てきた画像に箱を描き戻して測ります。画像のURLは1時間で失効すると公式に書かれているので、生成したらすぐ保存しておきます。出力が1280px幅なら [75, 50, 300, 550] の左端は64pxに戻り、別のサイズで返ってきたらその幅と高さで掛け直します。
その位置に長方形を描いて、文字が箱の中にあるか、はみ出したなら何pxどちらへ出たかを記録します。印刷物ならミリに直すと判断しやすく、幅1280pxの画像をA4横(297mm)いっぱいに刷る場合、1pxは約0.23mmで、1cmのずれは約43pxです。あなたなら、何mmまでのずれを許せますか? その線を先に決めておくと、判定で迷いません。
誤字は、拡大して1文字ずつ見ていくしかありません。見る場所は、字の形の崩れ、似た字への置き換わり(「特」と「持」など)、濁点や「ー」の抜けです。
記録は1枚ごとに、この4項目で足ります。
- 箱に収まったか、はみ出した量と方向
- 誤字や字形の崩れがあったか
- 箱の外の背景や商品写真、影が変わったか
- 判定(そのまま貼れる、文字だけ直せば使える、作り直し)
条件ごとに「そのまま貼れる」が5回中何回あったかを並べると、どこまで任せられるかが見えてきます。Aは揃うのにCだけ崩れる、といった差が出たら、それがそのまま自分の作業での線引きになります。
FLUX 3 Imageの料金なら、25枚のテストは数百円
公式の価格ページに載っている1枚あたりの定価を、1ドル150円で円に直しました。
テスト25枚を1Kで回すと約180円、2Kでも約375円です。位置を見るだけなら1Kで足り、字形まで印刷サイズで見たい条件だけ2Kにする分け方もできます。発売記念の値引きを伝える記事もありますが、公式の価格ページには載っていませんでした。実際にかかった額は、リクエストの返事に入る cost で確かめられます。
売り場に貼る前には、商用利用の条件も確認が要ります。モデルページで読めたのは自社のサーバーで動かす企業向けの商用ライセンスの話で、APIで作った画像をチラシに使ってよいかは、規約を読んで確かめる必要があります。
それから、価格と日付の数字は結果がどうであれ人の目で照合してください。198円が189円になっていたら、どれだけ位置が揃っていても貼れない画像ですよね。
まずはAの「本日特売」を、箱ありと箱なしで5回ずつ。その10枚を並べるだけでも、枠指定で直す手間がどれだけ減るかが見えてくるはずです。



コメント
ログイン か 会員登録 するとコメントできます