NovelAIを使用して「初音ミク」のビジュアルを生成する実験についてご紹介ください。
https://qiita.com/kaizen_nagoya/items/f3af731f3c73b38d0da5
でimage to image機能を知った。
実際に使おうとおもったら、画像生成しか最初は選択肢がなかった。
なにやりゃいいかわからず、Novel AI image to imageで検索。
【NovelAI】「image2image」でラフ画を清書しよう
https://runrunsketch.net/img2img/
後はどうすりゃいいのさ。
ChatGPT
NovelAIを使用して「初音ミク」のビジュアルを生成する実験についてご紹介ください。
https://qiita.com/kaizen_nagoya/items/f3af731f3c73b38d0da5
でimage to image機能を知った。
実際に使おうとおもったら、画像生成しか最初は選択肢がなかった。
なにやりゃいいかわからず、Novel AI image to imageで検索。
【NovelAI】「image2image」でラフ画を清書しよう
https://runrunsketch.net/img2img/
後はどうすりゃいいのさ。
ChatGPT:
なるほどです。状況を整理すると、今の段階ではこうですね:
NovelAIで「初音ミク」のビジュアルを生成してみたい
最初は Text-to-Image(文字→画像)しか選べなかった
Image-to-Image(既存画像を元にリファイン)機能を知った
実際に使うには「ラフ画→清書」の流れをやりたいが、やり方がわからない
では、初心者向けにやるべき手順を整理します。
- 基本フローの理解
NovelAIのImage-to-Imageは、元画像を入力としてAIに「こう変えてほしい」と指示する仕組みです。
流れとしては:
元画像を準備(ラフ画や下書き)
プロンプトで修正・スタイル指示を入力
例:髪型、表情、衣装、背景など
強度(Strength)を指定
0 → 元画像をほとんど保持
1 → 完全にAI生成に置き換え
生成ボタンを押して結果を取得- 実際にやる手順
ステップ1:元画像を用意
紙やデジタルでラフ画を描く
既にText-to-Imageで生成した初音ミク画像もOK
ステップ2:NovelAIのImage-to-Image画面に行く
runrunsketch.net/img2img
のようなツールを使うと便利
「Upload Image」でラフ画をアップロード
ステップ3:プロンプト入力
どのように変えたいか指示
例:
Anime style, highly detailed, turquoise twin tails, futuristic outfit, smiling expression
ステップ4:パラメータ調整
Strength(元画像保持度)
CFG Scale(AI忠実度)
解像度、ステップ数など
ステップ5:生成
「Generate」ボタンでAIがラフ画を清書
出力された画像を保存- 応用例
Text-to-Imageで初期画像生成 → Image-to-Imageで清書
まずText-to-Imageでラフな初音ミク画像を生成
その画像をImage-to-Imageにかけて衣装や表情、背景を変更
複数バリエーション生成
プロンプトやStrengthを変えて複数回生成
気に入ったものだけ選ぶ
段階的リファイン
ラフ画 → 清書 → 背景差し替え → 光やポーズの微調整
💡 ポイント
Image-to-Imageは「元画像に手を加える」機能
Text-to-Imageは「ゼロから生成」
初心者はまずText-to-Imageでラフ生成 → Image-to-Imageで清書、という流れがわかりやすい
Strengthやプロンプトを少しずつ変えて実験するのがコツ
希望であれば、Text-to-Image → Image-to-Imageで初音ミクの清書を自動化するPythonスクリプト例も作れます。
作りますか?
初音ミクの聖書ではなく、自分が入れたキャラでおこないたいです。
ChatGPT:
なるほどです。つまり、初音ミクの既存知識を使わず、自分が描いたキャラクターや自分で入力したキャラクター設定でImage-to-Imageを行いたいということですね。
ポイントは以下の通りです:
- 元画像を用意する
自分が描いたラフ画や下書き画像を用意
完全に手描きでも、別のAIで作ったキャラクターでもOK- Image-to-Imageを使う
NovelAIのImage-to-Image画面に行く
「Upload Image」で自分のキャラクター画像をアップロード- プロンプトで自分のキャラクターを指定
キャラクター名や特徴を自分で設定
例:
Original character: short pink hair, green eyes, fantasy outfit, holding magic staff, anime style, detailed
「初音ミク」など固有の既存キャラは入れず、自作キャラクターの特徴を入力- パラメータ調整
Strength:元画像をどれだけ保持するか
0.5〜0.7がラフ画を活かしやすい
CFG Scale:プロンプト忠実度
解像度やステップ数も調整可能- 生成して清書
「Generate」ボタンでAIが自分のラフ画を清書
必要に応じて、さらにImage-to-Imageで別のバリエーションを生成- 応用
複数バリエーション生成:プロンプトやStrengthを少し変えて何枚も生成
段階的リファイン:ラフ画 → 清書 → 衣装変更 → 背景変更
自分だけのキャラクターライブラリ作成:Text-to-Imageでラフ生成 → Image-to-Imageで清書
💡 ポイントまとめ
元画像は自作キャラクターのラフ画を用意
プロンプトで特徴を詳細に指定
Strengthでラフ画保持度を調整
繰り返し生成してバリエーションを作る
希望であれば、**「自分のキャラクター用にText-to-Image → Image-to-Imageを自動化するPythonスクリプト」**も作って、ラフ画から清書まで一括生成できるようにできます。
作りますか?
はい。お願いします。
ChatGPT:
わかりました。では、自作キャラクター用にText-to-Image → Image-to-Imageで清書まで自動化するPythonスクリプトを作ります。
これを使えば、ラフ画やプロンプトから自動で清書画像を生成できます。
自作キャラクター自動生成スクリプト例(NovelAI)
import requests
import base64
from pathlib import Path
# -----------------------------
# ディレクトリ設定
# -----------------------------
text2img_dir = Path("custom_char_t2i")
refine_dir = Path("custom_char_refined")
text2img_dir.mkdir(exist_ok=True)
refine_dir.mkdir(exist_ok=True)
# -----------------------------
# NovelAI API設定(非公式API)
# -----------------------------
API_URL = "https://api.novelai.net/ai/generate-image"
API_KEY = "YOUR_NOVELAI_API_KEY" # 自分のAPIキーに置き換えてください
# -----------------------------
# Text-to-Image用プロンプト
# -----------------------------
character_prompt = "Original character: short pink hair, green eyes, fantasy outfit, holding magic staff, anime style, detailed"
# -----------------------------
# Image-to-Image用リファインプロンプト
# -----------------------------
refine_prompt = "Refine to same character style, anime style, detailed shading, clean line art"
# -----------------------------
# Text-to-Image生成関数
# -----------------------------
def generate_text2img(prompt):
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
payload = {
"model": "nai-diffusion",
"prompt": prompt,
"negativePrompt": "",
"steps": 28,
"width": 512,
"height": 512,
"cfgScale": 7.5
}
response = requests.post(API_URL, json=payload, headers=headers)
response.raise_for_status()
data = response.json()
img_b64 = data["images"][0].split(",")[-1]
img_bytes = base64.b64decode(img_b64)
img_path = text2img_dir / "custom_char_t2i.png"
with open(img_path, "wb") as f:
f.write(img_bytes)
print(f"Text-to-Image saved: {img_path}")
return img_path
# -----------------------------
# Image-to-Image生成関数
# -----------------------------
def refine_image(init_image_path, prompt, strength=0.7):
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
with open(init_image_path, "rb") as f:
img_b64 = base64.b64encode(f.read()).decode()
payload = {
"model": "nai-diffusion",
"prompt": prompt,
"init_image": f"data:image/png;base64,{img_b64}",
"strength": strength, # 元画像保持度
"steps": 28,
"width": 512,
"height": 512,
"cfgScale": 7.5
}
response = requests.post(API_URL, json=payload, headers=headers)
response.raise_for_status()
data = response.json()
img_out_b64 = data["images"][0].split(",")[-1]
img_bytes = base64.b64decode(img_out_b64)
out_path = refine_dir / "custom_char_refined.png"
with open(out_path, "wb") as f:
f.write(img_bytes)
print(f"Refined Image saved: {out_path}")
return out_path
# -----------------------------
# 実行フロー
# -----------------------------
if __name__ == "__main__":
# 1. Text-to-Image生成
t2i_path = generate_text2img(character_prompt)
# 2. Image-to-Imageで清書
refined_path = refine_image(t2i_path, refine_prompt, strength=0.7)
print("生成完了!")
✅ スクリプトの特徴
自作キャラクター用
初音ミクなど既存キャラは使わず、character_promptで自分のキャラクターを指定
Text-to-Image → Image-to-Imageの自動フロー
ラフ画像生成 → 清書まで一括で実行可能
元画像保持度を調整
strength=0.7でラフ画の形を残しつつ、線画や塗りをAIで整える
出力ディレクトリ整理
custom_char_t2i/ → ラフ生成画像
custom_char_refined/ → 清書画像
💡 応用ポイント
character_promptに服装・髪型・小物・表情など詳細を書けば、AIが忠実に再現
refine_promptで「線を整える」「背景を追加する」「色味を変える」など自由に指定可能
strengthを低くすると元ラフ画を強く保持、高くするとAIが自由に補完
希望であれば、このスクリプトをさらに 複数バリエーション自動生成・GUI化(Gradio) して、一括でラフ画→清書を確認できるWebアプリに改造することもできます。
作りますか?
参照
ChatGPT利用の技4つ with ChatGPT
https://qiita.com/kaizen_nagoya/items/4a178bd6a09a4a471a7f
ChatGPTによるQiita記事の改良と補足
https://qiita.com/kaizen_nagoya/items/20604d6dd0702ab95c2f
ChatGPTによるQiita記事の改良と補足(2)
https://qiita.com/kaizen_nagoya/items/996275307ffc8c1243f8
本から始める 面倒なことはChatGPTにやらせよう by からあげ
https://qiita.com/kaizen_nagoya/items/f5ce2a18db54b5610e4b
MCP入門 〜面倒なことはAIエージェントにやらせよう〜 by からあげ を聞きながら
https://qiita.com/kaizen_nagoya/items/54b648c838fae8d57e38
【松尾研LLMコミュニティ】面倒なことはLLMにやらせよう "Beginning LLM"2024年10月17日 AI(9)
https://qiita.com/kaizen_nagoya/items/efdc23fbe67cdae2126e
設計:ChatGPTで特異解か一般解を求める AI(1)
https://qiita.com/kaizen_nagoya/items/4dec580e16a7c84b0ec4
みんなの使い方から学ぶ
https://qiita.com/kaizen_nagoya/items/8e7de492d896df94a36e
AI・機械学習 昨日、今日、明日
https://qiita.com/kaizen_nagoya/items/adb184c8fc7a65ac9756
DNA LLM and genome for survey 2200 papers by name.
https://qiita.com/kaizen_nagoya/items/ce8a28d6072f340a9d59
ChatGPTから学ぶ 3倍褒めて3分の1貶す
https://qiita.com/kaizen_nagoya/items/91e70fd8caa25076718b
AI時代の相棒は、キミに決めた! 推しのAIエージェントをシェアしよう!企画参加まとめへの序章
https://qiita.com/kaizen_nagoya/items/e3fd7557bac97d1b88f2
記事投稿数、いいね数の目標設定して ChatGPTに聞いてみた。
https://qiita.com/kaizen_nagoya/items/019e2ad9c3e45e45854e
AI時代の相棒は、キミに決めた! ChatGPT推し ver.0
https://qiita.com/kaizen_nagoya/items/8068a884fb2e64cd3c4f
無料ChatGPTの処理限界
https://qiita.com/kaizen_nagoya/items/84683aee26d9f4a28af0
by ChatGPT, with ChatGPT and people opinions.
https://qiita.com/kaizen_nagoya/items/57f00f9b48b25bc231e6
ChatGPTの使い方の利点と課題 by ChatGPT
https://qiita.com/kaizen_nagoya/items/0f469e473a6ed0407daa
DataRobot 風 AI agent Robotをあなたに
https://qiita.com/kaizen_nagoya/items/1ca8ca1dedefaf739d16
ChatGPTの賢い使い方
https://qiita.com/kaizen_nagoya/items/3a7e4583553543eeeeb3
ChatGPTの弱みをあなたに
https://qiita.com/kaizen_nagoya/items/3c97c63a22939e203905
ChatGPTで裸の王様
https://qiita.com/kaizen_nagoya/items/8377be38d3a763e93811
設計 仕様 制約 AI利用開発の鍵 by ChatGPT
https://qiita.com/kaizen_nagoya/items/1b9cb2f9d26308d84791
PowerPoint 筋書き(outline), 見直し(review), 見栄え加工 by ChatGPT
https://qiita.com/kaizen_nagoya/items/37bb97fc250fca37295b
逃げ回るChatGPTを追い詰めるには
https://qiita.com/kaizen_nagoya/items/cd60426e626ba05e0377
三人寄れば文珠の知恵は直交する能力前提 by ChatGPT
https://qiita.com/kaizen_nagoya/items/512e5611615e2426bb42
プログラマ3年で社長事業(未成年編) 博士論文支援追加
https://qiita.com/kaizen_nagoya/items/326452b5bf29c144c307
自殺防止手引き原稿 補足 by ChatGPT
https://qiita.com/kaizen_nagoya/items/7e459fa7edf7205c2667
しつけ(discipline) の測定視点 by ChatGPT
https://qiita.com/kaizen_nagoya/items/6b5ce03c545f7bbd8723
技術者は英語を学ぶ必要はない。英単語の羅列でいい=プログラム。
https://qiita.com/kaizen_nagoya/items/4fc3963a21e0339fd1c9
猫中心設計から鳥中心設計へ part2
https://qiita.com/kaizen_nagoya/items/4d7a5a33c85e0b01dc5d
プログラマ必須科目 ChatGPTにも確認
https://qiita.com/kaizen_nagoya/items/7b30d9d119792130facd
なんで音楽とプログラムの関係がうまく書けないか。
https://qiita.com/kaizen_nagoya/items/489a68d360df4b26f87d
AI利用業務手引き
https://qiita.com/kaizen_nagoya/items/f201b292f37dba16e9ef
C言語(C++)が必要な人と必要ない人
https://qiita.com/kaizen_nagoya/items/2afe9e846b55b24cb6f1
C言語(C++)が必要な人、必要ない人 ChatGPT
https://qiita.com/kaizen_nagoya/items/a074cb8cd292d8d94bd4
C言語を習得する3つの方法
https://qiita.com/kaizen_nagoya/items/84cab0888c193bba429b
C言語を習得する3つの方法 ChatGPT
https://qiita.com/kaizen_nagoya/items/4a3518a18fa49f46787f