
Character Portrait Relightingは、1枚のポートレート画像をさまざまなシネマティックなライティング条件でレンダリングしつつ、キャラクターの一貫性を保つコンパクトなComfyUIワークフローです。使用するノードは3つ:LoadImageで元画像を読み込み、GeminiImage2Nodeで外部APIを使った画像to画像の再ライティングを行い、SaveImageで結果を書き出します。GeminiImage2Node内でNano Banana Proモデルを実行するよう設定されており、フォトリアルなポートレート作成に適しています。
技術的には、アップロードした画像と希望するライティング設定を記述したテキストプロンプトを組み合わせて生成を制御します(例:「カメラ左からのソフトキーライト、暖色リムライト、低フィル、フィルミックコントラスト」など)。GeminiImage2Nodeは画像とプロンプトをAPIに送信し、入力に基づいてポーズや顔の構造を維持したまま再ライティング画像を返します。アイデンティティを強く保ちたい場合は、画像to画像の保持率(strengthやguidance設定)を高めに設定してください。同じポートレートから複数のバリエーションを作る場合は、GeminiImage2Nodeを複製し(それぞれ異なるライティングプロンプトを設定)、すべて同じLoadImageから分岐させ、SaveImageで個別に保存します。
API
このワークフローをコードから利用
すべてのComfyワークフローはJSONグラフです。以下のペイロードは、このワークフローそのものであり、ComfyUIが実行する内容と同じです — このURLから取得し、バージョン管理に保存したり、ComfyUIで読み込んでノードごとに実行できます。
Comfy SDKを使ってTypeScriptまたはPythonから実行できます。同じコードでComfy Cloudや自身でホストしたComfyUIのどちらにも対応 — ベースURLだけが異なります。
// Install (beta)
npm i @comfyorg/sdk
// Run "キャラクターポートレートの再照明" (TypeScript)
import { Comfy } from "@comfyorg/sdk";
const client = new Comfy({ apiKey: "comfyui-..." });
// This workflow, exported in API format (see note below)
const wf = await client.workflows.fromFile("template_character_portrait_relighting_api.json");
const asset = client.assets.fromFile("input.png");
wf.setInput("124", "image", asset); // LoadImage
const job = await client.run(wf);
await job.getOutputs("138")[0].toFile("output.png"); // SaveImageSDKはAPI形式のワークフローを受け取ります:このワークフローをComfyUIで開き、「ファイル → ワークフローをエクスポート(API)」を使用してください。
FAQ













