본문 바로가기
AI 도구

🎨ComfyUI + Gemini + Ollama + Flux: 이미지 및 프롬프트 자동 생성하기

by James AI Explorer 2024. 8. 19.
    728x90

    안녕하세요! 오늘은 ComfyUI, Gemini, Ollama, Flux를 조합해서 원하는 이미지와 프롬프트를 자동으로 생성하는 방법을 알아보겠습니다. 이 방법을 사용하면, 인터넷상의 이미지 URL 주소만 입력하면 Gemini가 자동으로 해당 이미지를 만들기 위한 영문 프롬프트를 생성하고, 이 프롬프트를 연결해서 Flux이미지를 생성할 수 있습니다. 또한, 몇 가지 키워드만 입력해도 Ollama 로컬 AI가 최적의 이미지 생성 프롬프트를 만들어줍니다. 이 블로그에서는 "Gemini in ComfyUI"와 "ComfyUI Ollama" 커스텀 노드를 이용한 이미지 및 프롬프트 자동 생성방법에 대해 알아보겠습니다.

    인스타그램 원본 이미지(좌)와 ComfyUI + Gemini + Flux로 만든 이미지(우)

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    Gemini in ComfyUI 

    Gemini 1.5 Pro 모델은 텍스트뿐만 아니라 이미지, 오디오, 비디오까지 다루는 다중 모달(Multi-modal) AI로, 다양한 미디어 형식을 이해하고 생성할 수 있는 강력한 기능을 제공합니다. 특히, 이 모델을 활용한 "Gemini in ComfyUI" 커스텀 노드는 사용자가 손쉽게 이미지와 프롬프트를 생성할 수 있도록 다음과 같은 주요 기능을 제공합니다.

    • 시스템 명령어 설정 지원 (System Instruction): 사용자 설정에 따라 모델의 응답 방식이나 행동을 지정할 수 있습니다. 이를 통해 다양한 상황에 맞춘 AI 동작을 정의할 수 있습니다.
    • 다중 모달 및 다중 대화 지원: Gemini 1.5 Pro는 단순히 텍스트와 이미지만 처리하는 것이 아니라, 오디오 및 비디오 파일까지 이해하고 이에 기반한 대화를 지속적으로 이어나갈 수 있습니다. 
    • 파일 업로드 및 처리: Gemini 1.5 Pro는 20GB까지의 대용량 파일 업로드를 지원하며, 다양한 형식의 파일을 읽고 처리할 수 있습니다. 현재는 단일 파일 업로드만 가능하지만, 향후에는 다중 파일 업로드 기능도 추가될 예정입니다. 
    • 최대 토큰 제한: 최대 1,048,576개의 토큰을 지원하여, 매우 복잡하고 방대한 텍스트와 데이터를 처리할 수 있습니다. Gemini 1.5 Pro 모델은 이외에도 다양한 보조 노드와 워크플로우를 지원하며, 이를 통해 사용자는 자신의 필요에 맞게 AI의 기능을 확장할 수 있습니다. 

    Gemini in ComfyUI 커스텀 노드의 깃허브 프로젝트 사이트 주소는 아래와 같습니다. 

    https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini

     

    GitHub - ZHO-ZHO-ZHO/ComfyUI-Gemini: Using Gemini in ComfyUI

    Using Gemini in ComfyUI. Contribute to ZHO-ZHO-ZHO/ComfyUI-Gemini development by creating an account on GitHub.

    github.com

    Gemini in ComfyUI 워크플로우 화면

    Gemini 1.5 Pro 모델을 ComfyUI에 통합하는 과정은 비교적 간단하며, 몇 가지 단계만으로 커스텀 노드 설정을 완료할 수 있습니다. 설치방법은 다음과 같이 ComfyUI Manager를 사용하거나, 수동으로 설치할 수 있습니다. 

     

    1. ComfyUI Manager 사용: 가장 권장되는 방법은 ComfyUI Manager를 사용하는 것으로, 복잡한 설정 없이 필요한 모든 구성 요소를 자동으로 설치할 수 있습니다. 아래 화면과 같이 ComfyUI Manager에서 Custom Nodes Manager를 클릭한 후, Gemini로 노드를 검색하고 "ComfyUI Gemini"노드를 찾아서 Install을 클릭한 후 재시작하면 됩니다. ComfyUI Manager가 설치되지 않은 경우 명령어 프롬프트에서 아래 명령어로 설치하시면 됩니다. 

    cd ComfyUI/custom_nodes
    git clone https://github.com/ltdrdata/ComfyUI-Manager.git

    ComfyUI Manager 메뉴 화면
    ComfyUI Gemini 커스텀 노드 검색화면

    2. 수동 설치: 윈도우 명령 프롬프트를 열고 ComfyUI 설치 디렉터리로 이동합니다. 다음 명령어를 실행하여 Gemini 모델의 커스텀 노드를 설치합니다. ComfyUI 설치 드라이브와 디렉터리는 사용자마다 다를 수 있습니다. 

    cd ComfyUI\custom_nodes
    git clone https://github.com/ZHO-ZHO-ZHO/ComfyUI-Gemini.git 
    cd custom_nodes/ComfyUI-Gemini 
    pip install -r requirements.txt

    3. API Key 설정: Gemini API를 사용하려면 API Key가 필요합니다. 이를 위해 Gemini API 신청 페이지에서 API Key를 발급받은 후, ComfyUI에서 "Gemini API Vision ImgURL Zho" 노드에서 API Key를 직접 입력하여 설정하고, 워크플로우 공유 시 API Key가 노출될 수 있으므로 주의가 필요합니다.

    4. 의존성 설치: Gemini 1.5 Pro를 최신 버전으로 사용하려면 `google-generativeai` 라이브러리를 0.4.1 버전 이상으로 업데이트해야 합니다. 이는 다음 명령어로 가능합니다:

    pip install google-generativeai>=0.4.1

    설치가 완료되면, ComfyUI 내에서 Gemini 1.5 pro latest 모델을 선택하여 원하는 작업을 수행할 수 있습니다. 

    URL로 이미지 만들기

    다음은 Gemini in ComfyUI 커스텀 노드를 활용해서 이미지를 생성하는 방법을 알아보겠습니다. 이 방법은 인터넷 이미지의 URL 주소를 입력하면 Gemini API가 이미지 설명 프롬프트를 자동으로 만들고, 이 프롬프트를 Flux에 보내서 이미지를 생성하는 방법입니다. 

     

    1. Gemini in ComfyUI 커스텀 노드가 설치 완료되면 먼저 FLux Checkpoint 버전 워크 플로우를 불러옵니다. 워크 플로우 설정 방법과 FLux Checkpoint 모델 다운로드는 이전 포스트를 참고하시면 됩니다. 

    workflow-flux-lora-upscale.json
    0.01MB

     

    2024.08.09 - [AI 언어 모델] - 🎨Flux Dev FP8 버전: 저사양 GPU로 Flux를 무료로 즐기세요!

     

    🎨Flux Dev FP8 버전: 저사양 GPU로 Flux를 무료로 즐기세요!

    안녕하세요! 오늘은 요즘 가장 핫한 이미지 생성모델 Flux.1에 대해 알아보는 두 번째 시간입니다. 지난 시간에는 모델의 크기가 23GB로 너무 커서 직접 로컬에서 실행하지 못하고 API 방식으로 이

    fornewchallenge.tistory.com

    2. Realism Lora 모델과 Upscale 모델은 아래 링크에서 다운로드해서 각각 ComfyUI\models\loras 디렉토리와 ComfyUI\models\upscale_models 디렉토리에 저장합니다. 

    https://huggingface.co/XLabs-AI/flux-lora-collection/blob/main/realism_lora.safetensors

     

    realism_lora.safetensors · XLabs-AI/flux-lora-collection at main

     

    huggingface.co

    https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth

    3. 워크 플로우 빈 공간을 더블 클릭한 후, "Gemini API Vision ImgURL Zho" 노드를 검색해서 추가하고, 쿼리상자에 다음과 같이 입력합니다. 

    Describe this image as detail as possible to create an English prompt that can generate an image identical to this image including all the text.

    위 쿼리를 번역하면 다음과 같습니다. 

    모든 텍스트를 포함한 이 이미지를 최대한 자세하게 설명해서 이 이미지와 동일한 이미지를 생성할 수 있는 영어 프롬프트를 생성해줘.

    4. 노드의 각 설정값은 다음과 같이 입력합니다. 

    • image_url : 이미지의 URL 주소를 입력합니다. 
    • model_name : gemini-1.5-pro-latest
    • stream : false
    • api_key ; 본인이 발급받은 API Key

    5. CLIPTextEncode노드에서 오른쪽 마우스를 클릭하고 아래 화면과 같이 "Convert Text to Input"을 선택해서 입력방식을 텍스트입력으로 바꿔줍니다. 

    CLIPTextEncode 노드 입력방식 수정

    6. 다음은 워크 플로우 빈 공간을 더블 클릭해서 "Show Text" 노드를 검색한 후 추가하고, "Gemini API Vision ImgURL Zho"노드의 출력을 "Show Text" 노드의 입력과 "CLIPTextEncode" 노드의 text 입력에 연결합니다. "Show Text" 노드는 Gemini API Vision ImgURL 노드의 이미지 설명 출력을 확인할 수 있는 노드입니다. 

    Show Text 노드와 Gemini API Vision ImgURL 노드 연결

    모든 설정이 완료되면, 원하는 인터넷 이미지의 URL을 Gemini API Vision ImgURL 노드에 입력하고 우측 상단의 Queue Prompt를 클릭해서 워크 플로우를 실행합니다. 

    URL로 이미지 생성하는 워크플로우 실행화면

    워크 플로우 실행결과 생성된 이미지는 다음과 같습니다. 

    원본 이미지 ComfyUI+Gemini+Flux로 만든 이미지

    728x90

    ComfyUI Ollama

    이 커스텀 노드는 로컬 대규모 언어 모델 활용도구인 Ollama를 ComfyUI에 통합한 것으로 사용자가 간단한 키워드만 입력하면 Ollama 로컬 AI가 프롬프트를 자동으로 생성해 주고, 이 프롬프트를 Flux로 보내서 이미지를 생성할수 있습니다. Realism Lora 모델과 Upscale 모델은 Gemini in ComfyUI 설명과 동일합니다. 

     

    ComfyUI Ollama 설치는 아래 화면과 같이 ComfyUI Manager에서 Custom Nodes Manager를 클릭한 후, Ollama로 노드를 검색하고 "ComfyUI Ollama"노드를 찾아서 Install을 클릭한 후 재시작하면 됩니다.

    ComfyUI Ollama 커스텀 노드 검색화면

    키워드로 이미지 만들기

    1. 워크 플로우 다운로드: 아래 워크 플로우를 다운로드해서 불러온 후, 설정값을 입력합니다. 

    Keyword.json
    0.01MB
    Keyword.json 워크플로우

    • 텍스트 쿼리: 생성하고자 하는 이미지의 주요 키워드를 입력합니다.(beach, sun set, woman 등)
    • url: http://127.0.0.1:11434
    • model: llama3.1:latest 또는 원하는 모델명. Ollama를 설치하고 원하는 모델을 사전에 다운로드해야 합니다. 

    2. 시스템 프롬프트 입력: 아래와 같이 ChatGPT 등으로 생성한 이미지 프롬프트 생성 가이드라인을 입력합니다. 

    You are an expert text to image models prompt engineer. Generate prompt for the provided subject, under following guidlines. Answer only prompt.
    LLM Persona Guidelines for Generating Text-to-Image Prompts
    
    1. Precision and Detail Orientation
    Always describe the subject with clarity, specifying key characteristics like color, size, texture, and pose.
    Include details about the environment, background, and any relevant context.
    
    2. Simplicity in Language
    Use clear and straightforward language to avoid ambiguity.
    Eliminate unnecessary complexity to ensure the prompt is easily interpretable.
    
    3. Focused Description
    Identify and prioritize the main subject or element in the image.
    Highlight key features and focal points using appropriate adjectives.
    
    4. Compositional Awareness
    Suggest how elements should be arranged within the image if relevant, including perspective, layout, and spatial relationships.
    Specify angles or viewpoints to achieve the desired composition.
    
    5. Stylistic Influence
    When required, incorporate specific art styles, eras, or cultural references into the prompt.
    Describe the mood or artistic influence clearly to guide the visual output.
    
    6.Contextual References
    Use well-known objects, locations, or themes as references to enhance the model's understanding.
    Avoid direct use of copyrighted names or characters; instead, describe their unique attributes.
    
    7. Balanced Detail
    Provide enough detail to convey the idea clearly without overwhelming the model.
    Focus on the most important aspects of the image to maintain clarity.
    
    8. Iterative Refinement
    Be open to refining and iterating the prompt based on feedback or initial results.
    Adjust wording or focus to improve the outcome in subsequent attempts.
    
    9. Adaptability
    Tailor prompts to suit different styles, complexity levels, and purposes, adjusting the approach based on the intended output.
    Stay flexible in descriptions to match the capabilities and tendencies of the image generation model.

    3. 이미지 생성: 키워드와 설정값을 확인하고, Queue Prompt를 클릭한 후 잠시 기다리면, Ollama 모델이 생성한 프롬프트가 "Show Text" 노드에 출력되고, 프롬프트가 Flux 모델에 전달되어 이미지가 생성됩니다. 

    Ollama 커스텀 노드를 활용한 프롬프트 자동생성

    다음 예시는 "beaitiful woman, beach, sun set, photo realistic" 키워드로 자동 생성된 프롬프트와 이미지입니다.

    "Create a high-resolution, photorealistic image of a stunning woman standing alone on a serene beach at sunset. She is facing the horizon, with her back to the camera, and her long, dark hair blowing gently in the ocean breeze. Her slender figure is clad in a flowing white sundress that catches the warm, golden light of the setting sun, accentuating her curves. The dress is subtly draped around her body, revealing a hint of skin beneath. In the background, the calm turquoise water and soft sand blend seamlessly with the vibrant hues of the sky as the sun dips below the horizon. The atmosphere is peaceful and tranquil, with only a few seagulls flying overhead to break the stillness. The entire scene should be rendered in exquisite detail, with every element – from the woman's facial expression to the intricate patterns on her dress – presented in crisp, photorealistic clarity."
    (일몰이 지는 고요한 해변에 홀로 서 있는 멋진 여성의 고해상도, 사실적인 이미지를 생성해줘. 그녀는 카메라를 등지고 지평선을 바라보고 있으며, 그녀의 긴 검은 머리카락은 바다 바람에 부드럽게 흔들리고 있어. 그녀의 날씬한 몸매는 따뜻한 황금빛 햇살을 받아 그녀의 곡선을 강조하는 흐르는 흰색 선드레스를 입고 있어. 드레스는 그녀의 몸 주위에 미묘하게 드리워져 있어, 그 아래에는 약간의 피부가 드러나. 배경에는 잔잔한 청록색 물과 부드러운 모래가 지평선 아래로 가라앉는 태양의 화려한 색조와 완벽하게 어우러져 있어. 분위기는 평화롭고 고요하며, 몇 마리의 갈매기가 공중을 날아다니며 고요함을 깨뜨려. 전체 장면은 여성의 얼굴 표정부터 드레스의 복잡한 패턴까지 모든 요소가 선명하고 사실적인 디테일로 표현되어야 해.)
    beaitiful woman, beach, sun set, photo realistic 키워드로 생성한 이미지

    다음은 "city, night, fireworks, Han river, photo realistic" 키워드로 자동 생성된 프롬프트와 이미지입니다. 

    "Create a photorealistic image of the Han River in Seoul at night, with vibrant and colorful fireworks exploding above the water. The cityscape should be visible on both sides of the river, with modern skyscrapers and neon lights reflecting off the calm surface of the water. The fireworks should be the main focal point of the image, with multiple bursts of light and color illuminating the sky. The overall mood should be one of excitement and celebration, with a slight sense of calmness and serenity coming from the peaceful river below. Incorporate realistic lighting effects and shadows to create a truly immersive and detailed image."
    (서울의 한강에서 밤에 화려하고 다채로운 불꽃이 터지는 모습을 사실적으로 그려주세요. 강 양쪽에는 현대적인 고층 빌딩과 네온사인이 빛나고, 잔잔한 물결 위에 반사되는 도시의 모습이 담겨야 합니다. 불꽃은 하늘을 수놓으며 여러 개의 빛과 색이 어우러져 화려한 장면을 연출해야 합니다. 전체적인 분위기는 흥겨움과 축제의 느낌이 강조되어야 하며, 잔잔한 강물에서 오는 평온함과 고요함이 살짝 느껴져야 합니다. 현실적인 조명 효과와 그림자를 활용하여 더욱 생동감 있고 세밀한 이미지를 그려주세요.)
    city, night, fireworks, Han river, photo realistic 키워드로 생성한 이미지

    Ollama 로컬 언어 모델을 이용한 프롬프트 자동 생성은 다양하고 풍부한 표현, 이미지 작업효율 향상 및 생성시간 단축 등 사용자에게 많은 이점을 가져다 줍니다. 

     

     

     

     

     

    맺음말

    오늘 블로그에서는 ComfyUI, Gemini, Ollama, Flux 조합을 활용한 이미지 및 프롬프트 자동 생성 방법에 대해 알아보았습니다. 이 도구들을 사용하면 인터넷상의 이미지 URL이나 간단한 키워드 입력만으로도 고품질의 이미지를 손쉽게 생성할 수 있습니다. 특히, Gemini 1.5 Pro 모델과 Ollama의 조합은 복잡한 텍스트를 간단히 생성하여 이미지 제작의 효율성을 극대화해 줍니다.

     

    오늘 소개해 드린 도구들을 통해 여러분이 매력적인 콘텐츠를 신속하게 제작하고, 독창적인 아이디어를 효율적으로 시각화하는데 도움이 되시기를 바라면서 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다. 

     

    https://fornewchallenge.tistory.com/

     

     

     

    2024.08.04 - [AI 언어 모델] - 🚀최고의 이미지 생성 모델! Flux.1: GPU 스트레스 없는 API 방식 가이드

     

    🚀최고의 이미지 생성 모델! Flux.1: GPU 스트레스 없는 API 방식 가이드

    안녕하세요! 오늘은 독일의 스타트업 Black Forest Labs가 개발한 고품질 이미지 생성 모델 FLUX.1에 대해 알아보겠습니다. Stable Diffusion의 창시자들이 설립한 회사인 Black Forest Labs는 FLUX.1의 개발을 위

    fornewchallenge.tistory.com

     

    728x90