Binjakët mund të gjenerojnë dhe përpunojnë imazhe në bisedë. Ju mund t'i nxisni Binjakët me tekst, imazhe ose një kombinim të të dyjave për të arritur detyra të ndryshme që lidhen me imazhin, si gjenerimi dhe redaktimi i imazheve. Të gjitha imazhet e krijuara përfshijnë një filigran SynthID .
Gjenerimi i imazheve mund të mos jetë i disponueshëm në të gjitha rajonet dhe vendet, rishikoni faqen tonë të modeleve të Gemini për më shumë informacion.
Gjenerimi i imazhit (tekst në imazh)
Kodi i mëposhtëm tregon se si të gjeneroni një imazh bazuar në një kërkesë përshkruese. Ju duhet të përfshini responseModalities
: ["TEXT", "IMAGE"]
në konfigurimin tuaj. Dalja vetëm me imazhe nuk mbështetet me këto modele.
Python
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()
JavaScript
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();
Shkoni
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)
}
}
}
PUSHIMI
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

Redaktimi i imazhit (tekst-dhe-imazh në imazh)
Për të kryer redaktimin e imazhit, shtoni një imazh si hyrje. Shembulli i mëposhtëm tregon ngarkimin e imazheve të koduara base64. Për imazhe të shumta dhe ngarkesa më të mëdha, kontrolloni seksionin e futjes së imazhit .
Python
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()
JavaScript
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();
Shkoni
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)
}
}
}
PUSHIMI
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
Mënyra të tjera të gjenerimit të imazhit
Binjakët mbështet mënyra të tjera të ndërveprimit të imazhit bazuar në strukturën dhe kontekstin e shpejtë, duke përfshirë:
- Teksti në imazh(et) dhe teksti (i ndërthurur): Nxjerr imazhe me tekst përkatës.
- Shembull i kërkesës: "Krijoni një recetë të ilustruar për një paella."
- Imazhi(et) dhe teksti në imazh(et) dhe teksti (i ndërthurur) : Përdor imazhe hyrëse dhe tekst për të krijuar imazhe dhe tekst të ri të lidhur.
- Shembull i kërkesës: (Me një imazh të një dhome të mobiluar) "Cila divane me ngjyra të tjera do të funksiononin në hapësirën time? a mund ta përditësoni imazhin?"
- Redaktimi i imazhit me shumë kthesa (chat): Vazhdoni të krijoni / redaktoni imazhe në bisedë.
- Shembull kërkon: [ngarkoni një imazh të një makine blu.] , "Kthejeni këtë makinë në një makinë të konvertueshme.", "Tani ndryshoni ngjyrën në të verdhë."
Kufizimet
- Për performancën më të mirë, përdorni gjuhët e mëposhtme: EN, es-MX, ja-JP, zh-CN, hi-IN.
- Gjenerimi i imazhit nuk mbështet hyrjet audio ose video.
- Gjenerimi i imazhit mund të mos shkaktojë gjithmonë:
- Modeli mund të nxjerrë vetëm tekst. Provoni të kërkoni në mënyrë eksplicite rezultatet e imazhit (p.sh. "gjeneroni një imazh", "siguroni imazhe ndërsa vazhdoni", "përditësoni imazhin").
- Modeli mund të ndalojë së prodhuari pjesërisht. Provo sërish ose provo një kërkesë tjetër.
- Kur krijoni tekst për një imazh, Binjakët funksionojnë më mirë nëse së pari krijoni tekstin dhe më pas kërkoni një imazh me tekstin.
- Ka disa rajone/shtete ku gjenerimi i imazheve nuk është i disponueshëm. Shikoni Modelet për më shumë informacion.
Kur të përdorni Imagen
Përveç përdorimit të aftësive të integruara të gjenerimit të imazheve të Gemini, ju mund të përdorni gjithashtu Imagen , modelin tonë të specializuar të gjenerimit të imazheve, përmes Gemini API.
Zgjidhni Binjakët kur:
- Ju nevojiten imazhe të rëndësishme kontekstuale që shfrytëzojnë njohuritë dhe arsyetimin botëror.
- Përzierja pa probleme e tekstit dhe imazheve është e rëndësishme.
- Ju dëshironi pamje të sakta vizuale të ngulitura brenda sekuencave të gjata të tekstit.
- Ju dëshironi të redaktoni imazhet në bisedë duke ruajtur kontekstin.
Zgjidhni Imagen kur:
- Cilësia e imazhit, fotorealizmi, detajet artistike ose stilet specifike (p.sh., impresionizmi, anime) janë prioritetet kryesore.
- Kryerja e detyrave të specializuara të redaktimit si përditësimet e sfondit të produktit ose përmirësimi i imazhit.
- Përfshirja e markës, stilit ose gjenerimi i logove dhe modeleve të produkteve.
Imagen 4 duhet të jetë modeli juaj i preferuar që fillon të gjenerojë imazhe me Imagen. Zgjidhni Imagen 4 Ultra për përdorime të avancuara ose kur keni nevojë për cilësinë më të mirë të imazhit. Vini re se Imagen 4 Ultra mund të gjenerojë vetëm një imazh në të njëjtën kohë.
Çfarë është më pas
- Shikoni udhëzuesin Veo për të mësuar se si të gjeneroni video me Gemini API.
- Për të mësuar më shumë rreth modeleve të Binjakëve, shihni Modelet e Binjakëve dhe Modelet Eksperimentale .