মিথুনের সাথে ইমেজ জেনারেশন

মিথুন কথোপকথনে ছবি তৈরি এবং প্রক্রিয়া করতে পারে। আপনি টেক্সট, ইমেজ বা উভয়ের সংমিশ্রণ সহ বিভিন্ন ইমেজ-সম্পর্কিত কাজ, যেমন ইমেজ তৈরি এবং সম্পাদনা করার জন্য মিথুনকে প্রম্পট করতে পারেন। সমস্ত জেনারেট করা ছবিতে একটি SynthID ওয়াটারমার্ক অন্তর্ভুক্ত।

ইমেজ জেনারেশন সমস্ত অঞ্চল এবং দেশে উপলব্ধ নাও হতে পারে, আরও তথ্যের জন্য আমাদের মিথুন মডেল পৃষ্ঠাটি পর্যালোচনা করুন।

ছবি তৈরি (টেক্সট থেকে ইমেজ)

একটি বর্ণনামূলক প্রম্পটের উপর ভিত্তি করে একটি চিত্র কীভাবে তৈরি করা যায় তা নিম্নলিখিত কোডটি প্রদর্শন করে। আপনার কনফিগারেশনে আপনাকে অবশ্যই responseModalities অন্তর্ভুক্ত করতে হবে : ["TEXT", "IMAGE"] । এই মডেলগুলির সাথে শুধুমাত্র চিত্র-আউটপুট সমর্থিত নয়।

পাইথন

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO
import base64

client = genai.Client()

contents = ('Hi, can you create a 3d rendered image of a pig '
            'with wings and a top hat flying over a happy '
            'futuristic scifi city with lots of greenery?')

response = client.models.generate_content(
    model="gemini-2.0-flash-preview-image-generation",
    contents=contents,
    config=types.GenerateContentConfig(
      response_modalities=['TEXT', 'IMAGE']
    )
)

for part in response.candidates[0].content.parts:
  if part.text is not None:
    print(part.text)
  elif part.inline_data is not None:
    image = Image.open(BytesIO((part.inline_data.data)))
    image.save('gemini-native-image.png')
    image.show()

জাভাস্ক্রিপ্ট

import { GoogleGenAI, Modality } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  const contents =
    "Hi, can you create a 3d rendered image of a pig " +
    "with wings and a top hat flying over a happy " +
    "futuristic scifi city with lots of greenery?";

  // Set responseModalities to include "Image" so the model can generate  an image
  const response = await ai.models.generateContent({
    model: "gemini-2.0-flash-preview-image-generation",
    contents: contents,
    config: {
      responseModalities: [Modality.TEXT, Modality.IMAGE],
    },
  });
  for (const part of response.candidates[0].content.parts) {
    // Based on the part type, either show the text or save the image
    if (part.text) {
      console.log(part.text);
    } else if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("gemini-native-image.png", buffer);
      console.log("Image saved as gemini-native-image.png");
    }
  }
}

main();

যাও

package main

import (
  "context"
  "fmt"
  "os"
  "google.golang.org/genai"
)

func main() {

  ctx := context.Background()
  client, err := genai.NewClient(ctx, nil)
  if err != nil {
      log.Fatal(err)
  }

  config := &genai.GenerateContentConfig{
      ResponseModalities: []string{"TEXT", "IMAGE"},
  }

  result, _ := client.Models.GenerateContent(
      ctx,
      "gemini-2.0-flash-preview-image-generation",
      genai.Text("Hi, can you create a 3d rendered image of a pig " +
                 "with wings and a top hat flying over a happy " +
                 "futuristic scifi city with lots of greenery?"),
      config,
  )

  for _, part := range result.Candidates[0].Content.Parts {
      if part.Text != "" {
          fmt.Println(part.Text)
      } else if part.InlineData != nil {
          imageBytes := part.InlineData.Data
          outputFilename := "gemini_generated_image.png"
          _ = os.WriteFile(outputFilename, imageBytes, 0644)
      }
  }
}

বিশ্রাম

curl -s -X POST
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-preview-image-generation:generateContent" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [
        {"text": "Hi, can you create a 3d rendered image of a pig with wings and a top hat flying over a happy futuristic scifi city with lots of greenery?"}
      ]
    }],
    "generationConfig":{"responseModalities":["TEXT","IMAGE"]}
  }' \
  | grep -o '"data": "[^"]*"' \
  | cut -d'"' -f4 \
  | base64 --decode > gemini-native-image.png
একটি চমত্কার উড়ন্ত শূকরের AI-উত্পন্ন চিত্র
একটি চমত্কার উড়ন্ত শূকরের AI-উত্পন্ন চিত্র

ইমেজ এডিটিং (টেক্সট-এবং ইমেজ থেকে ইমেজ)

ছবি সম্পাদনা করতে, ইনপুট হিসাবে একটি ছবি যোগ করুন। নিচের উদাহরণটি বেস64 এনকোড করা ছবি আপলোড করা দেখায়। একাধিক ছবি এবং বড় পেলোডের জন্য, ইমেজ ইনপুট বিভাগটি পরীক্ষা করুন।

পাইথন

from google import genai
from google.genai import types
from PIL import Image
from io import BytesIO

import PIL.Image

image = PIL.Image.open('/path/to/image.png')

client = genai.Client()

text_input = ('Hi, This is a picture of me.'
            'Can you add a llama next to me?',)

response = client.models.generate_content(
    model="gemini-2.0-flash-preview-image-generation",
    contents=[text_input, image],
    config=types.GenerateContentConfig(
      response_modalities=['TEXT', 'IMAGE']
    )
)

for part in response.candidates[0].content.parts:
  if part.text is not None:
    print(part.text)
  elif part.inline_data is not None:
    image = Image.open(BytesIO((part.inline_data.data)))
    image.show()

জাভাস্ক্রিপ্ট

import { GoogleGenAI, Modality } from "@google/genai";
import * as fs from "node:fs";

async function main() {

  const ai = new GoogleGenAI({});

  // Load the image from the local file system
  const imagePath = "path/to/image.png";
  const imageData = fs.readFileSync(imagePath);
  const base64Image = imageData.toString("base64");

  // Prepare the content parts
  const contents = [
    { text: "Can you add a llama next to the image?" },
    {
      inlineData: {
        mimeType: "image/png",
        data: base64Image,
      },
    },
  ];

  // Set responseModalities to include "Image" so the model can generate an image
  const response = await ai.models.generateContent({
    model: "gemini-2.0-flash-preview-image-generation",
    contents: contents,
    config: {
      responseModalities: [Modality.TEXT, Modality.IMAGE],
    },
  });
  for (const part of response.candidates[0].content.parts) {
    // Based on the part type, either show the text or save the image
    if (part.text) {
      console.log(part.text);
    } else if (part.inlineData) {
      const imageData = part.inlineData.data;
      const buffer = Buffer.from(imageData, "base64");
      fs.writeFileSync("gemini-native-image.png", buffer);
      console.log("Image saved as gemini-native-image.png");
    }
  }
}

main();

যাও

package main

import (
 "context"
 "fmt"
 "os"
 "google.golang.org/genai"
)

func main() {

 ctx := context.Background()
 client, err := genai.NewClient(ctx, nil)
 if err != nil {
     log.Fatal(err)
 }

 imagePath := "/path/to/image.png"
 imgData, _ := os.ReadFile(imagePath)

 parts := []*genai.Part{
   genai.NewPartFromText("Hi, This is a picture of me. Can you add a llama next to me?"),
   &genai.Part{
     InlineData: &genai.Blob{
       MIMEType: "image/png",
       Data:     imgData,
     },
   },
 }

 contents := []*genai.Content{
   genai.NewContentFromParts(parts, genai.RoleUser),
 }

 config := &genai.GenerateContentConfig{
     ResponseModalities: []string{"TEXT", "IMAGE"},
 }

 result, _ := client.Models.GenerateContent(
     ctx,
     "gemini-2.0-flash-preview-image-generation",
     contents,
     config,
 )

 for _, part := range result.Candidates[0].Content.Parts {
     if part.Text != "" {
         fmt.Println(part.Text)
     } else if part.InlineData != nil {
         imageBytes := part.InlineData.Data
         outputFilename := "gemini_generated_image.png"
         _ = os.WriteFile(outputFilename, imageBytes, 0644)
     }
 }
}

বিশ্রাম

IMG_PATH=/path/to/your/image1.jpeg

if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
  B64FLAGS="--input"
else
  B64FLAGS="-w0"
fi

IMG_BASE64=$(base64 "$B64FLAGS" "$IMG_PATH" 2>&1)

curl -X POST \
  "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-preview-image-generation:generateContent" \
    -H "x-goog-api-key: $GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -d "{
      \"contents\": [{
        \"parts\":[
            {\"text\": \"'Hi, This is a picture of me. Can you add a llama next to me\"},
            {
              \"inline_data\": {
                \"mime_type\":\"image/jpeg\",
                \"data\": \"$IMG_BASE64\"
              }
            }
        ]
      }],
      \"generationConfig\": {\"responseModalities\": [\"TEXT\", \"IMAGE\"]}
    }"  \
  | grep -o '"data": "[^"]*"' \
  | cut -d'"' -f4 \
  | base64 --decode > gemini-edited-image.png

অন্যান্য ইমেজ জেনারেশন মোড

মিথুন প্রম্পট গঠন এবং প্রসঙ্গের উপর ভিত্তি করে অন্যান্য ইমেজ ইন্টারঅ্যাকশন মোড সমর্থন করে, যার মধ্যে রয়েছে:

  • টেক্সট টু ইমেজ (গুলি) এবং টেক্সট (ইন্টারলিভড): সম্পর্কিত টেক্সট সহ ইমেজ আউটপুট।
    • উদাহরণ প্রম্পট: "পায়েলার জন্য একটি চিত্রিত রেসিপি তৈরি করুন।"
  • ছবি(গুলি) এবং টেক্সট টু ইমেজ(গুলি) এবং টেক্সট (ইন্টারলিভড) : নতুন সম্পর্কিত ছবি এবং টেক্সট তৈরি করতে ইনপুট ইমেজ এবং টেক্সট ব্যবহার করে।
    • উদাহরণ প্রম্পট: (একটি সজ্জিত ঘরের একটি চিত্র সহ) "আমার জায়গায় অন্য কোন রঙের সোফা কাজ করবে? আপনি কি ছবিটি আপডেট করতে পারেন?"
  • মাল্টি-টার্ন ইমেজ এডিটিং (চ্যাট): কথোপকথনে ছবি তৈরি/এডিট করতে থাকুন।
    • উদাহরণ প্রম্পট: [একটি নীল গাড়ির একটি ছবি আপলোড করুন।] , "এই গাড়িটিকে একটি রূপান্তরযোগ্য করে দিন।", "এখন রঙটি হলুদে পরিবর্তন করুন।"

সীমাবদ্ধতা

  • সেরা পারফরম্যান্সের জন্য, নিম্নলিখিত ভাষাগুলি ব্যবহার করুন: EN, es-MX, ja-JP, zh-CN, hi-IN৷
  • ইমেজ জেনারেশন অডিও বা ভিডিও ইনপুট সমর্থন করে না।
  • ইমেজ জেনারেশন সবসময় ট্রিগার নাও হতে পারে:
    • মডেল শুধুমাত্র টেক্সট আউটপুট হতে পারে. সুস্পষ্টভাবে ইমেজ আউটপুট জিজ্ঞাসা করার চেষ্টা করুন (যেমন "একটি ছবি তৈরি করুন", "ছবি প্রদান করুন যেমন আপনি যান", "চিত্র আপডেট করুন")।
    • মডেলটি আংশিকভাবে তৈরি করা বন্ধ করতে পারে। আবার চেষ্টা করুন বা একটি ভিন্ন প্রম্পট চেষ্টা করুন.
  • একটি চিত্রের জন্য পাঠ্য তৈরি করার সময়, আপনি যদি প্রথমে পাঠ্য তৈরি করেন এবং তারপর পাঠ্য সহ একটি চিত্রের জন্য জিজ্ঞাসা করেন তবে মিথুন সবচেয়ে ভাল কাজ করে।
  • এমন কিছু অঞ্চল/দেশ আছে যেখানে ছবি তৈরি করা যায় না। আরও তথ্যের জন্য মডেল দেখুন।

কখন ইমেজেন ব্যবহার করবেন

Gemini-এর অন্তর্নির্মিত ইমেজ তৈরির ক্ষমতা ব্যবহার করার পাশাপাশি, আপনি Gemini API-এর মাধ্যমে আমাদের বিশেষায়িত ইমেজ জেনারেশন মডেল, Imagen-এ অ্যাক্সেস করতে পারেন।

মিথুন বেছে নিন যখন:

  • আপনার প্রাসঙ্গিকভাবে প্রাসঙ্গিক চিত্র দরকার যা বিশ্ব জ্ঞান এবং যুক্তিকে কাজে লাগায়।
  • নির্বিঘ্নে টেক্সট এবং ইমেজ মিশ্রন গুরুত্বপূর্ণ.
  • আপনি দীর্ঘ টেক্সট সিকোয়েন্সের মধ্যে এম্বেড করা সঠিক ভিজ্যুয়াল চান।
  • আপনি প্রসঙ্গ বজায় রেখে কথোপকথনভাবে ছবি সম্পাদনা করতে চান।

চিত্র নির্বাচন করুন যখন:

  • ছবির গুণমান, ফটোরিয়ালিজম, শৈল্পিক বিবরণ, বা নির্দিষ্ট শৈলী (যেমন, ইম্প্রেশনিজম, অ্যানিমে) শীর্ষ অগ্রাধিকার।
  • পণ্যের ব্যাকগ্রাউন্ড আপডেট বা ইমেজ আপস্কেলিংয়ের মতো বিশেষ সম্পাদনা কাজ সম্পাদন করা।
  • ব্র্যান্ডিং, শৈলী, বা লোগো এবং পণ্য ডিজাইন তৈরি করা।

Imagen 4 আপনার যেতে হবে এমন মডেল হওয়া উচিত যা Imagen দিয়ে ছবি তৈরি করা শুরু করে। উন্নত ব্যবহারের ক্ষেত্রে বা যখন আপনার সর্বোত্তম চিত্র মানের প্রয়োজন হবে তখন Imagen 4 Ultra বেছে নিন। মনে রাখবেন Imagen 4 Ultra এক সময়ে শুধুমাত্র একটি ছবি তৈরি করতে পারে।

এরপর কি