PROPMAN DESIGN 合同会社 | PROPMAN DESIGN LLC.

生成AIラボ:漫画生成AIについて調べてみた…02 | I looked into manga generation AI…02

Home  >>  生成AIラボ:漫画生成AIについて調べてみた…02 | I looked into manga generation AI…02

2024.11.07

Generated with Flux Pro 1.1

率直に生成AIに聞いてみると…

If you ask the generative AI frankly…

Gemini…

具体的な手順
画像の準備:
高画質の画像: 詳細な情報が多いほど、AIがより正確に特徴を捉えられます。
シンプルな背景: 背景が複雑な場合は、AIが主題を誤認識する可能性があります。
キャラクターのポーズ: 多様なポーズの画像があると、より表現豊かな漫画を作成できます。
AIモデルの選択:
Stable Diffusion: 自由度が高く、様々なスタイルの画像生成が可能です。
Midjourney: 高品質な画像生成に定評がありますが、学習データの偏りがある場合があります。
DALL-E 2: テキスト説明に基づいた画像生成に優れています。
プロンプトの作成:
詳細な描写: 画像の特徴(キャラクター、背景、雰囲気など)をできるだけ具体的に記述します。
スタイル指定: 漫画のジャンル、画風、雰囲気などを指定します。
指示語: 「漫画のコマのように」「吹き出しを追加して」など、生成したい画像の形式を指示します。
画像生成:
複数回生成: 同じプロンプトで複数回生成し、最適な画像を選びます。
パラメータ調整: AIモデルによっては、様々なパラメータを調整することで、生成画像を微調整できます。
画像の編集:
画像編集ソフト: 生成された画像を、お好みの画像編集ソフトで加工します。
コマ割り: 漫画の構成に合わせて、画像を分割します。
セリフの追加: 吹き出しを作成し、セリフを入力します。

Gemini…

Specific steps
Image preparation:
High-quality images: The more detailed the image, the more accurately the AI ​​can capture the features.
Simple background: If the background is complex, the AI ​​may misidentify the subject.
Character poses: Images with a variety of poses will allow you to create more expressive manga.
AI model selection:
Stable Diffusion: High degree of freedom, allowing for image generation in various styles.
Midjourney: Well-known for high-quality image generation, but training data may be biased.
DALL-E 2: Excellent at image generation based on text descriptions.
Prompt creation:
Detailed description: Describe the image features (characters, background, atmosphere, etc.) as specifically as possible.
Style specification: Specify the genre, style, atmosphere, etc. of the manga.
Instructive words: Indicate the format of the image you want to generate, such as “like a manga panel” or “add speech bubbles.”
Image generation:
Generate multiple times: Generate multiple times with the same prompt and choose the best image.
Parameter adjustment: Depending on the AI ​​model, you can fine-tune the generated image by adjusting various parameters.
Image editing:
Image editing software: Process the generated image using your preferred image editing software.
Frame division: Divide the image into panels to fit the structure of your manga.
Add dialogue: Create speech bubbles and enter dialogue.

Perplexity

準備
まず、以下のツールを用意します:
元となる1枚の画像
AI画像生成ツール (例: Reimagine XL, Canva, AIピカソなど)
漫画制作支援ツール (例: World Maker, SkyReelsなど)
手順

  1. 元画像の準備
    漫画のベースとなる1枚の画像を選びます。キャラクターや背景など、漫画の核となる要素が含まれているものが理想的です2。
  2. AI画像生成
    選んだAI画像生成ツールを使って、元画像から複数の類似画像を生成します。
  3. 漫画コマの作成
    生成された画像を使って、漫画のコマを作成します。
  4. ストーリー構築
    ChatGPTなどのAIツールを活用して、ストーリーやセリフを考案します。
  5. 編集と仕上げ
    漫画制作支援ツールを使って、コマの配置や全体的なレイアウトを調整します。

Perplexity

Preparation
First, prepare the following tools:
A single source image
AI image generation tool (e.g. Reimagine XL, Canva, AI Picasso, etc.)
Manga production support tool (e.g. World Maker, SkyReels, etc.)
Steps

  1. Prepare source image
    Choose a single image that will be the base of your manga. Ideally, it should contain the core elements of your manga, such as characters and background2.
  2. AI image generation
    Use the AI ​​image generation tool you selected to generate multiple similar images from the source image.
  3. Create manga panels
    Use the generated images to create manga panels.
  4. Story construction
    Use an AI tool such as ChatGPT to come up with a story and dialogue.
  5. Editing and finishing
    Use the manga production support tool to adjust the placement of the panels and the overall layout.

Claude…

漫画を作成するためのPythonスクリプトを作成します。主にdiffusersライブラリを使用して、1枚の画像から複数のコマを生成する方法を実装します。

import torch
from diffusers import StableDiffusionImg2ImgPipeline
from PIL import Image
import numpy as np

class MangaGenerator:
    def __init__(self, model_id="runwayml/stable-diffusion-v1-5"):
        """
        マンガジェネレーターの初期化
        Args:
            model_id: 使用する画像生成モデルのID
        """
        self.device = "cuda" if torch.cuda.is_available() else "cpu"
        self.pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
            model_id,
            torch_dtype=torch.float16 if self.device == "cuda" else torch.float32
        ).to(self.device)

    def prepare_image(self, image_path, target_size=(512, 512)):
        """
        入力画像の前処理
        """
        image = Image.open(image_path)
        image = image.convert("RGB")
        image = image.resize(target_size, Image.LANCZOS)
        return image

    def generate_panel(self, init_image, prompt, style_prompt="manga style, black and white", 
                      strength=0.75, guidance_scale=7.5):
        """
        1つのマンガパネルを生成
        """
        prompt = f"{prompt}, {style_prompt}"

        image = self.pipe(
            prompt=prompt,
            image=init_image,
            strength=strength,
            guidance_scale=guidance_scale
        ).images[0]

        return image

    def create_manga_page(self, init_image, prompts, layout="2x2"):
        """
        マンガページを生成
        Args:
            init_image: 元となる画像のパス
            prompts: 各パネルの説明文のリスト
            layout: パネルのレイアウト ("2x2" または "1x4")
        """
        init_image = self.prepare_image(init_image)
        panels = []

        for prompt in prompts:
            panel = self.generate_panel(init_image, prompt)
            panels.append(panel)

        # ページレイアウトの作成
        if layout == "2x2":
            width = height = 1024
            page = Image.new('RGB', (width, height), 'white')

            # パネルの配置
            positions = [
                (0, 0),          # 左上
                (width//2, 0),   # 右上
                (0, height//2),  # 左下
                (width//2, height//2)  # 右下
            ]

            for panel, pos in zip(panels, positions):
                panel = panel.resize((width//2, height//2))
                page.paste(panel, pos)

        elif layout == "1x4":
            width = 512
            height = 2048
            page = Image.new('RGB', (width, height), 'white')

            for i, panel in enumerate(panels):
                page.paste(panel, (0, i * 512))

        return page

    def add_speech_bubbles(self, page, texts, positions):
        """
        吹き出しを追加(基本的な実装)
        """
        from PIL import ImageDraw, ImageFont
        draw = ImageDraw.Draw(page)

        # 日本語フォントのパスを指定(システムに応じて変更が必要)
        try:
            font = ImageFont.truetype("./fonts/NotoSansJP-Regular.otf", 24)
        except:
            font = ImageFont.load_default()

        for text, pos in zip(texts, positions):
            # 簡単な白い背景の吹き出し
            text_bbox = draw.textbbox(pos, text, font=font)
            draw.rectangle([
                text_bbox[0] - 10, text_bbox[1] - 10,
                text_bbox[2] + 10, text_bbox[3] + 10
            ], fill="white", outline="black")
            draw.text(pos, text, fill="black", font=font)

        return page

def main():
    # 使用例
    generator = MangaGenerator()

    # 4コマ漫画の生成
    prompts = [
        "キャラクターが公園で散歩している",
        "友達に出会って話している",
        "一緒にアイスクリームを食べている",
        "夕日を見ながら別れる"
    ]

    page = generator.create_manga_page(
        "input_image.jpg",
        prompts,
        layout="2x2"
    )

    # 吹き出しの追加
    texts = [
        "いい天気だな〜",
        "あ、○○ちゃん!",
        "アイス美味しいね!",
        "また明日!"
    ]
    positions = [(100, 100), (600, 100), (100, 600), (600, 600)]

    page_with_text = generator.add_speech_bubbles(page, texts, positions)
    page_with_text.save("manga_output.jpg")

if __name__ == "__main__":
    main()

このスクリプトの主な機能は以下の通りです:

  1. 画像処理
  • 入力画像のサイズ調整と前処理
  • Stable Diffusionモデルを使用した画像生成
  • マンガ調のスタイル適用
  1. レイアウト機能
  • 2×2グリッドまたは1×4の縦長レイアウト
  • 複数のパネルを1ページに配置
  1. 吹き出し機能
  • テキストの追加
  • 簡単な吹き出しの描画

使用方法:

  1. 必要なライブラリをインストール:
pip install torch diffusers pillow
  1. 入力画像とプロンプトを準備し、スクリプトを実行:
generator = MangaGenerator()
prompts = ["シーン1の説明", "シーン2の説明", "シーン3の説明", "シーン4の説明"]
page = generator.create_manga_page("input_image.jpg", prompts)

カスタマイズのポイント:

  • style_promptを変更して異なる画風を試す
  • strengthパラメータを調整して元画像の影響度を変更
  • レイアウトを”2×2″か”1×4″で選択
  • 吹き出しのデザインやフォントをカスタマイズ

改善したい点がありましたら、お知らせください。例えば:

  • より複雑なパネルレイアウト
  • 高度な吹き出しデザイン
  • 特定の漫画スタイルの強化
  • その他の機能追加

Claude…

I’m creating a Python script to create a comic. I’ll mainly use the diffusers library to implement a way to generate multiple frames from a single image.

import torch
from diffusers import StableDiffusionImg2ImgPipeline
from PIL import Image
import numpy as np

class MangaGenerator:
def init(self, model_id=”runwayml/stable-diffusion-v1-5″):
“”
Initialize manga generator
Args:
model_id: ID of image generation model to use
“””
self.device = “cuda” if torch.cuda.is_available() else “cpu”
self.pipe = StableDiffusionImg2ImgPipeline.from_pretrained(
model_id,
torch_dtype=torch.float16 if self.device == “cuda” else torch.float32
).to(self.device)

def prepare_image(self, image_path, target_size=(512, 512)):
“”
Preprocess input image
“””
image = Image.open(image_path)
image = image.convert(“RGB”)
image = image.resize(target_size, Image.LANCZOS)
return image

def generate_panel(self, init_image, prompt, style_prompt=”manga style, black and white”,
strength=0.75, guidance_scale=7.5):
“””
Generate one manga panel
“””
prompt = f”{prompt}, {style_prompt}”

image = self.pipe(
prompt=prompt,
image=init_image,
strength=strength,
guidance_scale=guidance_scale
).images[0]

return image

def create_manga_page(self, init_image, prompts, layout=”2×2″):
“””
Generate a manga page
Args:
init_image: Path to the original image
prompts: List of descriptions for each panel
layout: Panel layout (“2×2” or “1×4”)
“””
init_image = self.prepare_image(init_image)
panels = []
for prompt in prompts:
panel = self.generate_panel(init_image, prompt)
panels.append(panel)

Create page layout

if layout == “2×2”:
width = height = 1024
page = Image.new(‘RGB’, (width, height), ‘white’)

Position panels

positions = [
(0, 0), # Top left
(width//2, 0), # Top right
(0, height//2), # Bottom left
(width//2, height//2) # Bottom right
]
for panel, pos in zip(panels, positions):
panel = panel.resize((width//2, height//2))
page.paste(panel, pos)

elif layout == “1×4”:
width = 512
height = 2048
page = Image.new(‘RGB’, (width, height), ‘white’)

for i, panel in enumerate(panels):
page.paste(panel, (0, i * 512))

return page

def add_speech_bubbles(self, page, texts, positions):
“””
Add speech bubbles (basic implementation)
“””
from PIL import ImageDraw, ImageFont
draw = ImageDraw.Draw(page)

Specify the path to the Japanese font (need to change depending on your system)

try:
font = ImageFont.truetype(“./fonts/NotoSansJP-Regular.otf”, 24)
except:
font = ImageFont.load_default()

for text, pos in zip(texts, positions):

A simple speech bubble with a white background

text_bbox = draw.textbbox(pos, text, font=font)

draw.rectangle([
text_bbox[0] – 10, text_bbox[1] – 10,
text_bbox[2] + 10, text_bbox[3] + 10
], fill=”white”, outline=”black”)

draw.text(pos, text, fill=”black”, font=font)

return page

def main():

Example

generator = MangaGenerator()

Generate 4-panel manga

prompts = [
“Character is walking in the park”,
“Meeting and talking with friends”,
“Eating ice cream together”,
“Parting while watching the sunset”

page = generator.create_manga_page(
“input_image.jpg”,
prompts,
layout=”2×2″
)

Add speech bubble

texts = [
“Nice weather”,
“Oh, XX-chan!”,
“Ice cream is delicious! “,
“See you tomorrow! “
]
positions = [(100, 100), (600, 100), (100, 600), (600, 600)]

page_with_text = generator.add_speech_bubbles(page, texts, positions)
page_with_text.save(“manga_output.jpg”)

if name == “main“:
main()

The main functions of this script are:

Image processing

Resize and preprocess input images

Image generation using Stable Diffusion model

Apply manga style

Layout functions

2×2 grid or 1×4 vertical layout

Place multiple panels on one page

Speech bubble functions

Add text

Draw simple speech bubbles

How to use:

Install required libraries:

pip install torch diffusers pillow

Prepare input images and prompts and run the script:

generator = MangaGenerator()
prompts = [“Scene 1 description”, “Scene 2 description”, “Scene 3 description”, “Scene 4 description”]
page = generator.create_manga_page(“input_image.jpg”, prompts)

Customization tips:

Change style_prompt to try different styles

Adjust the strength parameter to change the influence of the original image

Select layout “2×2” or “1×4”

Customize speech bubble design and font

Please let us know if there are any improvements you would like to make. For example:

More complex panel layouts

Advanced speech bubble design

Enhancements to specific manga styles

Additional features

結局…それができるプラットフォームは無い…一枚ずつ画像生成して組んでいくしかない!ですね…。

In the end, there is no platform that can do that… You have to generate the images one by one and assemble them! That’s right…





Generation AI Lab:生成AIラボ

2025.05.08 Googleの動画生成AI「Veo2」を...Replicateでいじってみた...。 I tried playing around with Google's video generation AI "Veo2" using Replicate. Replicate:https://replicate.com/google/veo-2 Google:https://deepmind.google/technologies/veo/veo-2 プロンプト...「銀座通りを闊歩するアフリカの動物達」 Prompt… "African animals roaming Ginza Street" プロンプト...「晴天の東京の空を飛ぶ鯨の群れ」 Prompt… "A pod of whales flying in the sky over Tokyo on a clear day." んんん...イマイチかなぁ... つづく... Hmm… not so good I guess… To be continued… Generation AI Lab:生成AIラボ ...
2025.05.02 GensparkのAIスライドをいじってみた... I played around with Genspark's AI slides… https://www.genspark.ai/agents?type=slides_agent PROPMAN DESIGN 合同会社についてまとめて...と入力しただけで... Just enter "About PROPMAN DESIGN LLC"… propman_design_llc_presentation_20250502015524ダウンロード こんなのがあっという間に出来上がった…すげー! PDFとパワポで吐き出せる…。 無料だと…一回しか試せないのかな? つづく… This was made in no time…Amazing! It can be output as PDF and PowerPoint… It's free… so I guess I can only try it once? To be continued… Generation AI Lab:生成AIラボ ...
2025.05.01 アニメ生成に特化した日本発「Animon.ai」を無料アカウントでいじってみた... I tried out "Animon.ai" a Japanese app that specializes in generating animations, with a free account… https://www.animon.ai/ にじジャーニーでアニメ画像を生成して...アップロードして...プロンプトを入れて...生成!https://nijijourney.com/ Generate anime images with Niji Journey…upload…enter prompts…generate! Original Image Generated by Animon.ai Original Image Generated by Animon.ai つづく... to be continued… Generation AI Lab:生成AIラボ ...
2025.04.30 Blog Propman MEMO 「ものづくり」備忘録?のアイキャッチ画像+αを... Midjourney・Flux・Imagen・Adobe Firefly・Copilot Designer・Ideogram・VIVA・Vidu・Kling・Runway・Dream Machine・Haiper...等々で生成しています。 Blog Propman MEMO "Manufacturing" memo? Eye-catching images + more…Created using Midjourney, Flux, Imagen, Adobe Firefly, Copilot Designer, Ideogram, VIVA, Vidu, Kling, Runway, Dream Machine, Haiper…etc. Generation AI Lab:生成AIラボ ...
2025.04.22 Blogで紹介した...「UNO」のデモをHuggingFaceからいじってみた...。 I introduced it on my blog… I tried out the "UNO" demo from HuggingFace… https://huggingface.co/spaces/bytedance-research/UNO-FLUX 複数の異なる画像に写る人や物を整合性をとって1枚の画像に統合「UNO」 元画像2枚をMidjourneyで生成...プロンプトを入力して...Generate... Generate two original images with Midjourney…With the prompt…Generate… Original image Original image Generated image Original image Original image Generated image Original image Original image Generated image Generation AI Lab:生成A ...
2025.04.20 バージョンアップした...「KlingAI 2.0」をいじってみた...。 I tried playing around with the updated version, "KlingAI 2.0". https://www.klingai.com/global/ Effectから...「HOT」の3つの効果を試してみた...。 From Effect…I tried the three "HOT" effects… RcketRocket... Original image by Midjourney AnimeFigure... Original image by Midjourney BloomBloom... Original image by Midjourney へぇ〜面白い!つづく... Wow, that's interesting!To ​​be continued… Generation AI Lab:生成AIラボ ...
2025.04.19 アメリカ発...動画生成AI「Higgsfield」をいじってみた...。スタイルを選んで様々なカメラワークで生成できる! I tried playing around with the video generation AI "Higgsfield" from the US.Choose a style and generate it with various camera movements! https://higgsfield.ai/ テキストから画像生成からビデオ生成...プロンプト:誰もいないミシシッピー川の辺りでトランペットをふく黒人の少年、夜スタイル:スーパー8mm→ARC From text to image generation to video generation…Prompt: A black boy playing a trumpet on the deserted Mississippi River at nightStyle: Super 8mm→ARC 同じ画像で動画生成スタイルを変更:CRANE OVER THE HEAD Ch ...
2025.04.17 Blog Propman MEMO 「ものづくり」備忘録?のアイキャッチ画像+αを... Midjourney・Flux・Imagen・Adobe Firefly・Copilot Designer・Ideogram・VIVA・Vidu・Kling・Runway・Dream Machine・Haiper...等々で生成しています。 Blog Propman MEMO "Manufacturing" memo? Eye-catching images + more…Created using Midjourney, Flux, Imagen, Adobe Firefly, Copilot Designer, Ideogram, VIVA, Vidu, Kling, Runway, Dream Machine, Haiper…etc. Generation AI Lab:生成AIラボ ...
2025.04.16 昨日の...ジブリ風?ChatGPTと同じテーマで...「Grok」をいじってみた...。 Yesterday's… Ghibli style? Same theme as ChatGPT… I played around with "Grok"… 生成AIラボ:ChatGPTの画像生成をいじってみた…02 | I played around with ChatGPT’s image generation…02 元画像をMidjourneyで生成… Original image Generated by Midjourney… アメコミ風にして…と入力... Enter comic book style… 浮世絵風にして…と入力すると… If you type “Make it Ukiyo-e style…”… アニメ風にして…と入力すると… If you type “make it anime style…”… こんな感じ!? ChatGPTとGrok...どっちが好み?って...感じでしょうか? つづく... Something like this ...
2025.04.15 ジブリ風で話題?の...ChatGPTの画像から画像生成をいじってみた...。 The Ghibli-style image is a hot topic…I played around with image generation from ChatGPT images… 元画像をFluxで生成... Original image Generated by Flux... 画像を...+...からアップロードして...アメコミ風にして...と入力すると... Upload an image from …+…Enter comic book style and… 浮世絵風にして...と入力すると... If you type "Make it Ukiyo-e style…"… アニメ風にして...と入力すると... If you type "make it anime style…"… 固有名詞で指示するのは...著作権とかとか...問題ありそうですよね... つづく... Referencing something using a proper noun… cop ...