0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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(既存画像を元にリファイン)機能を知った
実際に使うには「ラフ画→清書」の流れをやりたいが、やり方がわからない
では、初心者向けにやるべき手順を整理します。

  1. 基本フローの理解
    NovelAIのImage-to-Imageは、元画像を入力としてAIに「こう変えてほしい」と指示する仕組みです。
    流れとしては:
    元画像を準備(ラフ画や下書き)
    プロンプトで修正・スタイル指示を入力
    例:髪型、表情、衣装、背景など
    強度(Strength)を指定
    0 → 元画像をほとんど保持
    1 → 完全にAI生成に置き換え
    生成ボタンを押して結果を取得
  2. 実際にやる手順
    ステップ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がラフ画を清書
    出力された画像を保存
  3. 応用例
    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を行いたいということですね。
ポイントは以下の通りです:

  1. 元画像を用意する
    自分が描いたラフ画や下書き画像を用意
    完全に手描きでも、別のAIで作ったキャラクターでもOK
  2. Image-to-Imageを使う
    NovelAIのImage-to-Image画面に行く
    「Upload Image」で自分のキャラクター画像をアップロード
  3. プロンプトで自分のキャラクターを指定
    キャラクター名や特徴を自分で設定
    例:
    Original character: short pink hair, green eyes, fantasy outfit, holding magic staff, anime style, detailed
    「初音ミク」など固有の既存キャラは入れず、自作キャラクターの特徴を入力
  4. パラメータ調整
    Strength:元画像をどれだけ保持するか
    0.5〜0.7がラフ画を活かしやすい
    CFG Scale:プロンプト忠実度
    解像度やステップ数も調整可能
  5. 生成して清書
    「Generate」ボタンでAIが自分のラフ画を清書
    必要に応じて、さらにImage-to-Imageで別のバリエーションを生成
  6. 応用
    複数バリエーション生成:プロンプトや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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?