本文へスキップ

一貫したAIキャラクター:参照と確認のワークフロー

キャラクターの参照セットを作り、顔と衣装・画風を切り分け、スチルと動画ショットを確認してからシリーズを広げる手順を解説します。

執筆
Lydia
公開
読了時間
約 21 分
更新
短い銅色の巻き毛と濃色のワークジャケットを着た架空の成人の整備士が、自分の小さな印刷ポートレートを持って丸椅子に座っている。工房の中で、横には自転車と黄色い工具バッグがある

気に入ったキャラクターのポートレートが1枚あるとします。2枚目ではもうあごが少し違い、3枚目では生え際が変わり、動画にすると振り向いたところで顔が変わってしまいます。解決策は、より長い説明文ではありません。短くて厳格な手順です。承認済みの人物の基準画像を1枚だけ残し、ほかの参照画像にはそれぞれ役割を1つだけ与え、新しいショットはすべて直前の結果ではなくこのアンカーから作り、出力はソースにする前に必ずアンカーと照らし合わせます。

まず Qwen Image 2.1 の編集を、3:4、PNG、プロンプト拡張オフで使います。参照が1枚なら1k($0.036)を使います。参照画像が2枚以上になると、2kは定額の$0.048で、1kと同額かそれより安くなるため、工房や2人のキャラクターのシーンには2kを選びます。最初の動画は、承認したスチルを Seedance 2.5 画像から動画で5秒・720pにして動かします。料金は$1.3865です。参照画像2枚で、最初の2kシーンは$0.048です。同じ設定でシーン編集をあと2回行い、5秒・720pのクリップを1本作ると、合計は$1.5305です。やり直しとアンカー作成の費用は含みません。

例として使うのはMaraです。34歳の架空の成人の自転車整備士で、短い銅色の巻き毛、フォレストグリーンのジャケット、クリーム色のシャツという設定です。目標は、見分けられるスチル3枚、隣に立つ2人目のキャラクター、そして工房のドアに向かう短い振り向きです。

競合する10の顔ではなく、1つのアンカーを作る

両目が見え、髪がはっきり写り、光が平坦で、開始時の衣装を決められるだけの肩とジャケットが入った、胸から上のポートレートを選びます。それを人物のアンカーとして保存します。まだポートレートがない場合は、Qwen Image 2.1 テキストから画像(1kで$0.024)のようなテキストから画像のモデルで候補を4〜5枚生成し、1枚を選んで、顔の生成はそこでやめます。後のシーンのうち見栄えがよいものでアンカーを置き換えてはいけません。小さな変化は積み重なるため、4枚目が3枚目と完全に一致していても、1枚目とはもう似ていないことがあります。

2つ目のアングルを足すのは、ポートレートにない情報がショットに必要なときだけです。頭を振り向かせるなら、承認済みの斜め前(3/4)のアングルが鼻筋と首元の巻き毛を決めます。背面はジャケットの背中を固定しますが、顔については何も保証しません。生成したアングルでMaraのあごや生え際が変わってしまったら、セットに加えずに捨てます。正面のポートレートでは横顔に隠れる特徴は確定しないので、物語で実際に使うアングルと表情を承認してください。

追加のアングルを作るには、承認済みのポートレートを1つの目的だけで編集します。"Show the same adult mechanic in side profile on the same plain grey background; keep her face, hair and green jacket." 参照1枚・1kの編集は$0.036です。結果はアンカーと照らして承認してから、キットに加えます。

銅色の巻き毛と緑のジャケットの架空の成人の整備士の、正面・斜め前・横顔のポートレート

イラストであり、対象モデルの結果ではありません。複数アングルのシートは、参照として有用な情報を説明するものです。各パネルは、Qwenでの人物の一貫性を測定した結果ではありません。

キャプションや複数の顔が入った1枚のコンタクトシートではなく、きれいな画像を別々にアップロードしてください。ファイルが別なら役割を割り当てやすいからです。公式のQwen Image 2.1リポジトリには、最大10枚までの複数参照編集が記載されています。参照画像は多ければよいわけではなく、1枚ごとに役割が必要です。

参照の役割を明示して最初のシーンを作る

Playgroundでの手順です。

  1. Qwen Image 2.1の編集を開き、1番目にMaraのポートレート、2番目に空の工房をアップロードします。
  2. 下のプロンプトを貼り付けます。縦向き3:4、2k、PNGを選び、この精密な指示ではプロンプト拡張をオフのままにします。
  3. 見積もりを確認して、シーンを1枚生成します。次のショットを作る前に、顔とジャケットを承認します。

Use the adult mechanic in the first reference for Mara's facial identity, short copper curls and forest-green work jacket over a cream shirt. Use the second reference only for the empty workshop and workbench layout. Show Mara aged 34 standing beside one dark commuter bicycle, with one hand resting on the handlebar and the other at her side. Medium portrait, face in a clear three-quarter view, bicycle stationary, yellow tool bag on the workbench. Soft side daylight, no additional people, no lettering. Do not borrow a person from the room reference.

プロンプトはこのくらい直接的にします。編集モデルにエージェント向けの長い指示は要りません。必要なのは、各画像とその役割だけです。工房の参照がない場合は、アンカーだけを送り、部屋を言葉で説明して、2枚目の画像に関する文を削ってください。"Mara" はプロンプト内のラベルであり、保存された人物情報ではありません。

シードは、承認済みの人物の基準画像の代わりにはなりません。このモデルでは同じシードでも別の画像が返ることがあります。気に入ったファイルは保管し、シードは近い仕上がりにとどめたいときにだけ使ってください。

参照1枚ごとの料金

ルート参照1枚参照画像3枚参照画像10枚
Qwen Image 2.1 編集、1k$0.036$0.060$0.144
Qwen Image 2.1 編集、2k$0.048$0.048$0.048
Qwen Image 2.1 編集、1.5k$0.072$0.108$0.234
Seedream 5.0 Flash 編集、どの段階でも$0.029$0.029$0.029
Seedream 5.0 Pro 編集、1k$0.036$0.042$0.063

Qwen Image 2.1の編集では、参照1枚の修正なら1kがいちばん安くなります。参照画像が2枚以上になると、2kは1kと同額かそれより安いうえに大きな出力になり、1.5kが最安になることはありません。Seedream 5.0 Flashは、1枚から10枚の参照画像を1k・1.5k・2kのどれでも同じ定額で受け付けます。3:4、2k、PNG、不透明な背景を明示してください。シードとマスクのフィールドはありません。Qwenの2k定額が適用される場合でも、Flashは$0.029で低コストの選択肢です。Seedream 5.0 Proは参照が1枚増えるごとに$0.003が加算され、オフにできる思考パスがあります。

全部を変えずに、さらに2枚のスチルを作る

アンカーと承認した工房のシーンを役割を分けて使い、各プロンプトには物語の新しい展開を1つだけ入れます。

ショット動作の文を次に置き換える保持するもの
ドア"Mara stands in the workshop doorway holding the yellow bag in one hand, looking outside."顔、巻き毛、緑のジャケット、クリーム色のシャツ
戻り"Mara stands beside the same workbench and places the yellow bag on it; one bicycle remains behind her."人物と部屋の目印
衣装バリエーション"Mara wears a plain navy raincoat over the same cream shirt, in a neutral waist-up portrait."人物。衣装は意図して変える

1枚のスチルで、バッグを拾う、ドアまで歩く、衣装を変えるを同時に求めないでください。バッグは連続性を目で確認できる手がかりになります。最初は作業台の上、次にドアのところで彼女の手の中、そして作業台の上に戻ります。

ソースにする前に、出力をすべて確認する

新しいスチルは、直前の出力ではなく、元のアンカーと比べます。まず、納品サイズで画面全体を見て、緑のジャケットがなくても見る人がMaraだと分かるかを判断します。次に、見えている範囲で目、鼻、あご、耳、生え際を確認し、その後でジャケットの襟、バッグ、部屋を見ます。表情は別に扱います。集中した顔つきはドリフトではありませんが、鼻が変わっていればドリフトです。

候補ごとに、次の3つの判定のどれかを付けます。

  • 承認: 人物と、そのショットで重要なディテールが正しい。
  • 修正: 間違いが1つだけで、それを言葉にできる。
  • 保留: 顔が小さすぎる、または影が濃すぎて判断できない。ソースとして使う前に、もう少し寄ったミディアムショットを依頼する。

承認は1枚の画像の1つの用途だけに効くので、理由をファイルのそばに書いておきます(「顔と巻き毛は一致、右手は隠れている、ここでは不要」など)。

症状考えられる原因対処
あごや生え際が変わった参照画像の中に競合する顔がある、ドリフトした画像をソースにした、またはアンカーのタイトなクロップを使った元のアンカーに戻り、別の人物が写っている参照を外す
顔は合っているが襟やジャケットが変わった服を「緑」としか説明していなかった服の構造を説明するか、承認済みの衣装ビューを送る
正面の顔はよいが、振り向くと違う参照画像にそのアングルがまったく写っていない承認済みの斜め前または横顔の参照を追加するか、振り向きを小さくする
ショット間で部屋やバッグが動くシーンの参照を外した、またはその役割が曖昧だった承認済みの前のシーンを送り、それが何を担うのかを書く
顔が小さすぎて判断できない引きのフレーミングミディアムショットを依頼する。推測しない

アンカーか最初のシーンが決まらないうちは、シリーズを広げないでください。疑わしい顔からさらに10枚作っても、却下する画像が増えるだけです。

同じ参照の方法を、成人キャラクターのフィードにも使う

工房の物語は参照の割り当て方を示すものですが、成人のクリエイターには別のセットが必要なことが多いでしょう。プロフィール用ポートレート、コーディネート投稿、部屋のシーン、短い挨拶です。この4つの作業は別々に行ってください。1回生成した魅力的な顔だけでは、全身のシリーズ全体で人物の体型を保てません。

承認済みの顔のアンカーを1つ持ち、コレクションで体型が重要なら、肩、ウエスト、脚がはっきり分かる承認済みの立ち姿のビューを1つ用意します。ほかの誰かが写っている部屋の参照は避けます。別の人のコーディネートを参照にすると、その人の顔や体型まで持ち込まれることがあります。可能であれば、その参照を服の部分に切り抜き、衣服専用だと明示して割り当ててください。

Maraのコーディネート投稿であれば、提案する指示は次のようになります。

First reference supplies Mara's adult identity, age, short copper curls and body proportions. Second reference supplies only the navy coat design. Show Mara standing in a plain dressing room, three-quarter view, coat fully visible, both hands relaxed at her sides. Keep her face and build; change the clothing and setting only. Do not borrow the person or pose from the garment reference.

部屋の投稿では、同じ人物のアンカーに戻り、服の参照を外して、必要なら空の部屋を添付します。挨拶クリップでは、承認済みの部屋のスチルを、小さな笑顔と視線の変化で動かします。タイトな横顔の写真から始めて、動画モデルにその周りの全身の部屋のシーンを作らせることはしないでください。

プロポーションは、似たアングルとクロップで確認します。カメラが近いと頭が大きく見え、ポーズが違えばウエストの輪郭も変わります。こうした違いは、自動的に別人になったことを意味しません。同じアングルでのあごの広がり、動いた生え際、肩とウエストの関係の違いのほうが、候補を却下するよい理由になります。これらは提案する制作上の選択であり、成人向けシリーズの一貫性について新たに行ったテストではありません。この記事の最後にあるコンテンツの扱いについての所見は、これまでどおり、テストしたモデルとタスクに限った内容です。

2人目の成人は、シーンに必要なときだけ加える

工房の相手役には、Eliの別のポートレートを2番目の人物ソースとして使い、空の工房を3番目に移します。順序を明記します。

First reference supplies Mara; second supplies Eli, a fictional adult man aged 36 with wavy dark hair, short stubble and a rust overshirt; third supplies only the workshop. Mara kneels at the bicycle's front wheel on viewer-left, checking the mudguard. Eli, standing on viewer-right, holds the handlebars. The yellow bag sits on the bench behind them. Both faces are visible, their bodies separated, and neither touches the other's arms.

濃色のワークジャケットを着た架空の成人の整備士が自転車の前輪のそばにひざまずき、さび色のオーバーシャツを着た成人男性がハンドルを持っている。左の作業台には黄色い工具バッグがある

イラストであり、対象モデルの結果ではありません。ここで示した配置は、2人の成人と自転車にそれぞれ別の役割を割り当てるものです。修理の完了や、人物を保った生成を証明するものではありません。

顔の入れ替わり、ジャケットの入れ替わり、バッグの持ち主の入れ替わりは、それぞれ別の失敗です。汎用的な "same character" という一文を足すのではなく、症状に合った参照の割り当てに戻ってください。服の持ち主や接触点については、2人のキャラクターを扱うAI画像のガイド(two-character-ai-images)を参照してください。

承認したスチルを動かす

承認した工房のスチルを image_url として Seedance 2.5 画像から動画に渡し、次の設定にします。

パラメータ開始値
duration_seconds5
resolution720p
aspect_ratioadaptive。このタスクで使える値はこれだけです
generate_audio映像だけの試作では false
return_last_frame次のショットをこのクリップから始めるなら true

Locked camera. Mara slowly turns her head from the bicycle toward the doorway, then holds her gaze. Keep her short copper curls, facial identity, green jacket and cream shirt. Her body stays in place. The bicycle and yellow bag remain stationary. No walking, camera orbit or new person.

1秒あたり$0.2773なので、5秒で$1.3865です。480pは1秒あたり$0.1234、1080pは$0.6823です。音声のオンとオフは同じ料金なので、オフにするのは編集上の判断であり、節約にはなりません。長さは4〜30秒で、整数秒で指定します。ただし最初の小さな動作に5秒を超える長さは必要ありません。

クリップ全体を見てください。特に振り向きと、横顔から戻る部分が重要です。最初と最後のフレームが一致していても、途中で顔が変わっていないとは言い切れません。動かないはずのバッグと自転車が動いたり、部品が増えたりしていないかも確認します。振り向きで人物がずれる場合は、動きを表す言葉を重ねるのではなく、角度を小さくするか、後述の参照タスクで承認済みの横顔のスチルを使ってください。

次のショットへ進む

return_last_frame をオンにすると、クリップの最後のフレームが画像として返ります。まずアンカーと比べます。保たれていれば次のクリップの image_url として使い、ずれていれば承認済みのスチルに戻ります。確認していない最後のフレームをつなぐと、小さな誤差が後のすべてのショットに引き継がれます。承認したクリップを順に並べ、1つのショットを磨く前に、各カットでジャケット、バッグの側、視線の向きを確認してください。

参照から動画を使う場面を見極める

Seedance 2.5 参照から動画は、別々に割り当てたソース向けです。別々に用意した人物と背景を1つのショットで組み合わせる必要があるときに使います。承認済みの1枚のスチルに目的の冒頭がすでに含まれているなら、画像から動画を使います。参照画像は最大30枚で、@Image1 のようなトークンを使います。開始用のプロンプトは次のとおりです。

Use @Image1 for Mara's identity and green work jacket. Use @Image2 for the empty workshop. One fictional adult mechanic stands beside a stationary bicycle and turns slightly toward the doorway. Locked camera, quiet five-second shot, no dialogue.

reference_image_urls をこの順序で渡し、3:4、5秒、720pにします。参照画像モードと先頭フレーム画像は併用しないでください。参照画像のみの場合、720pも1秒あたり$0.2773です。参照動画を添付すると料金体系が変わり、課金対象の長さに映像が加算されます。別途見積もりを取ってください。

シリーズをリセットせずに、1枚のスチルを修正する

Qwen Image 2.1が白黒のマスクを受け付けるのは、参照画像が1枚のときだけです。白は修正を求める領域、黒は保持する領域を示します。マスクは編集を導くものであり、ピクセルが変わらないことを保証するものではありません。バッグのストラップに不具合がある場合は、承認したシーンだけをソースとしてアップロードし、Maraの胴体ではなく、ストラップとその取り付け部分をマスクします。"one continuous yellow bag strap attached to the existing bag; retain the face, jacket and room." と依頼してください。顔が変わってしまったら、編集前のマスターに戻します。

成人向けのキャラクター

同じ手順は成人向けのキャラクターにも使えます。Qwen Image 2.1の編集と、Seedance 2.5の画像から動画・参照から動画は、コンテンツテストで成人向けのプロンプトを処理しました。この結果は、これらのルートを成熟したシーンに使う根拠になります。アンカー、参照の役割、人物の確認は変わりません。架空の成人か、変換する権利のある画像を使ってください。Qwen編集のレポートには、コンテンツのレベルごとにこのエディターが何をするかがまとめられています。Maraの例のような参照と確認を続け、人物の判断も同じ基準で行ってください。

参照だけでは足りないとき

数十枚の画像や極端なアングルまでキャラクターを保つ必要があるなら、実際に使うモデル向けに学習したキャラクターLoRAを検討してください。学習の前に人物を選別します。よりリアルに見えても、あごが違う顔は別のキャラクターなので、学習セットに入れてはいけません。Qwen Image 2.1のLoRA編集は、URLで最大3つのLoRAの重みを受け取り、参照1枚で1kなら$0.042、2kなら$0.15です。LoRA APIガイドでリクエスト例を確認できます。Qwen Image 2512 LoRA編集では、どの重みがどのタスクに合うかを説明しています。

承認済みの設定をAPIで使う

環境に SPICY_API_KEY を設定します。CHARACTER_IMAGE_URL、WORKSHOP_IMAGE_URL には、承認した画像の直接のHTTPS URLを設定します。Python 3で実行し、新しい有料の試行をしたいときだけ、表示された見積もりを確認して続行してください。

python
import json
import os
import uuid
from pathlib import Path
from urllib.request import Request, urlopen

payload = {"model": 'alibaba/qwen-image-2.1/edit', "input": {
    'prompt': 'Use image one for the adult mechanic Mara, her short copper curls and green jacket. Image two supplies only the empty workshop. Show her standing beside one dark commuter bicycle, one hand on the handlebar. Keep her face recognizable. Soft side daylight, no other people or lettering.',
    'image_urls': [os.environ['CHARACTER_IMAGE_URL'], os.environ['WORKSHOP_IMAGE_URL']],
    'resolution': '2k',
    'aspect_ratio': '3:4',
    'output_format': 'png',
    'background': 'opaque',
    'enable_prompt_expansion': False,
}}

def api(action, body, key=None):
    headers = {"Authorization": "Bearer " + os.environ["SPICY_API_KEY"],
               "Content-Type": "application/json"}
    if key:
        headers["Idempotency-Key"] = key
    request = Request("https://api.spicyapi.ai/api/v1/jobs/" + action,
                      data=json.dumps(body).encode(), headers=headers)
    with urlopen(request, timeout=60) as response:
        result = json.load(response)
    if result.get("code") != 200:
        raise RuntimeError(result)
    return result["data"]

quote = api("quote", payload)
print("Maximum charge (USD):", quote["maxCharge"])
if input("Create this new attempt? Type yes: ").strip() != "yes":
    raise SystemExit("No task created")
key = str(uuid.uuid4())
body = {**payload, "quoteId": quote["quoteId"],
        "expectedCost": quote["estimatedCost"]}
Path(key + ".json").write_text(json.dumps({"key": key, "request": body}))
task = api("createTask", body, key)
Path(key + ".task.json").write_text(json.dumps(task))
print("Task ID:", task["taskId"])

保存したキーは、同じリクエストをやり直すときのために取っておきます。結果の取得とファイルの扱いは、タスクAPIガイドにあります。

繰り返しの編集では、Agentに承認済みのブリーフを任せられます。

  • CLI: npx @spicyapi/cli tasks create --model alibaba/qwen-image-2.1/edit --input-file input.json --wait は、同じ入力フィールドを使います。
  • MCP: spicyapi_task_create を使い、続けて spicyapi_task_wait を使うよう依頼します。
  • Skill: npx skills add spicyapi-ai/spicy-skill でインストールし、spicyapi Skillに、見積もりを表示してからこの設定を実行するよう依頼します。

FAQ

参照画像は多いほど必ず役に立ちますか?

いいえ。通常の出発点は、承認済みのポートレート1枚とシーン画像1枚です。足りないアングルがあるときだけビューを追加し、別の顔が写っている画像は外します。10枠をすべて埋めると、たいていリクエストが解釈しにくくなります。

スチルが一貫していれば、動画も一貫すると言えますか?

いいえ。振り向き、遮蔽、顔の前を横切る手によって、スチルには一度も写っていなかった特徴が現れることがあります。クリップ全体を見て、振り向きと最後のフレームをアンカーと比べてください。

キャラクターシートはどこで手に入りますか?

アンカーから、1回の呼び出しにつき1つのアングルという、目的が1つだけの編集で作り、各ビューをアンカーと照らして承認します。例:"Edit the approved portrait to a side profile on the same plain grey background; keep the face, hair and green jacket unchanged." 編集1回は1kで$0.036です。参照として残すのは、承認したビューだけにしてください。

どの方法を選ぶか

役割を割り当てた参照編集や、ソース画像が1枚のマスク修正には、Qwen Image 2.1を使います。Seedream 5.0 Flashは参照料金が定額です。Seedance 2.5の画像から動画は最初のクリップを固定し、参照から動画は別々のソースを割り当てられます。同じ特徴がずれ続けるなら、次のレンダリングの前に、競合している参照を差し替えるか、角度を小さくしてください。

他の言語 English · 한국어 · Deutsch · Français · Español · Português (Brasil) · Русский · Italiano · Polski

このガイドを実践する

ワークフローを見る

n8nでNSFWキャラクターの写真セットを作る。

選んだ成人キャラクターを軸に、テーマのそろった NSFW クリエイターのギャラリーを制作します。n8n で衣装やシーンのバリエーションを 4、8、12 枚作り、Qwen Image 2.1 による各編集には同じ元のポートレートを使います。

実際に試してみる

支払いは実行した分だけ。プランもサブスクリプションもありません。

使用モデル:MiniMax H3 · ByteDance Seedance 2.0 Fast