iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
自我挑戰組

探索AI之旅系列 第 11

[Day11] Gemini side project - 圖片編輯

  • 分享至 

  • xImage
  •  

今天收到鐵人賽10天鼓勵通知,讓我今天又有一點動力繼續發文了,人還是需要多點鼓勵才有動力。

今天我想分享上課學習的side project-輸入提示詞,請Gemini幫你編輯圖片。


輸入:提示詞(text)、待編輯圖片(image)
輸出:Gemini回覆的訊息(text)、編輯完成圖片(image)
model:gemini-2.0-flash-exp-image-generation
程式碼:

def call_gemini(user_input):
    text_input = (user_input,)
    gemini_input = [text_input]
    client = genai.Client(
        api_key=config["Gemini"]["API_KEY"],
    )
    image = Image.open("static/images/input_image2.jpg")
    gemini_input.append(image)

    try:
        response = client.models.generate_content(
            model="gemini-2.0-flash-exp-image-generation",
            contents=gemini_input,
            config=types.GenerateContentConfig(
                response_modalities=["Text", "Image"],
            ),
        )
    except Exception as e:
        print(e)
        return ["text", e["error"]["message"]]

    if response.candidates is None:
        return [["text", "我不想做這個~~"]]
    elif len(response.candidates) == 0:
        return [["text", "我並不想幫你做這個~~"]]
    elif response.candidates[0].content is None:
        return [["text", "我真的沒有想幫你做這個~~"]]
    elif response.candidates[0].content.parts is None:
        return [["text", "我真的真的不想這麼做~~"]]
    else:
        return_object = []
        for part in response.candidates[0].content.parts:
            print("part:", part)
            if part.text is not None:
                print(part.text)
                return_object.append(["text", part.text])
            elif part.inline_data is not None:
                image = Image.open(BytesIO(part.inline_data.data))
                image.save("static/images/gemini_output2.jpg")
                filename = "gemini_output.jpg"
                return_object.append(["image", filename])
        return return_object
user_input = "請幫我在圖片加入粉紅透明愛心等浪漫元素"
call_gemini(user_input)

https://ithelp.ithome.com.tw/upload/images/20250925/20178822SDtwo68Opl.jpg
輸出結果:
我會在圖片中加入許多半透明的粉紅色愛心,讓畫面充滿浪漫的氛圍
https://ithelp.ithome.com.tw/upload/images/20250925/20178822imeC8Cok91.jpg

坦白說,輸出結果我覺得好醜 XD 也許在提示詞的部分可以更完整,老師說model用高版本的會比較理想,下次再來玩看看。

又活過一天了 :)


上一篇
[Day10] 第十天好想放棄...
系列文
探索AI之旅11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言