Kuptimi i imazhit

Modelet Gemini janë ndërtuar për të qenë multimodale që nga themelet, duke zhbllokuar një gamë të gjerë detyrash të përpunimit të imazheve dhe vizionit kompjuterik, duke përfshirë, por pa u kufizuar në, mbishkrimin e imazheve, klasifikimin dhe përgjigjen e pyetjeve vizuale pa pasur nevojë të trajnohen modele të specializuara të ML.

Përveç aftësive të tyre të përgjithshme multimodale, modelet Gemini ofrojnë saktësi të përmirësuar për raste specifike përdorimi si zbulimi dhe segmentimi i objekteve, përmes trajnimit shtesë.

Kalimi i imazheve te Binjakët

Ju mund të jepni imazhe si të dhëna për Gemini duke përdorur disa metoda:

Kalimi i imazhit duke përdorur URL-në

Mund të ngarkoni një imazh duke përdorur API-n e Files dhe ta kaloni atë në kërkesë:

Python

from google import genai

client = genai.Client()

uploaded_file = client.files.upload(file="path/to/organ.jpg")

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": "Caption this image."},
        {
            "type": "image",
            "uri": uploaded_file.uri,
            "mime_type": uploaded_file.mime_type
        }
    ]
)
print(interaction.steps[-1].content[0].text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const uploadedFile = await client.files.upload({
    file: "path/to/organ.jpg",
    config: { mimeType: "image/jpeg" }
});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: [
        {type: "text", text: "Caption this image."},
        {
            type: "image",
            uri: uploadedFile.uri,
            mimeType: uploadedFile.mimeType
        }
    ]
});
console.log(interaction.steps.at(-1).content[0].text);

PUSHTIM

# First upload the file using the Files API, then use the URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": [
      {"type": "text", "text": "Caption this image."},
      {
        "type": "image",
        "uri": "YOUR_FILE_URI",
        "mime_type": "image/jpeg"
      }
    ]
  }'

Duke kaluar të dhënat e imazhit në linjë

Ju mund të jepni të dhëna të imazhit si vargje të koduara me base64:

Python

from google import genai

with open('path/to/small-sample.jpg', 'rb') as f:
    image_bytes = f.read()

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": "Caption this image."},
        {
            "type": "image",
            "data": base64.b64encode(image_bytes).decode('utf-8'),
            "mime_type": "image/jpeg"
        }
    ]
)
print(interaction.steps[-1].content[0].text)

JavaScript

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

const client = new GoogleGenAI({});
const base64ImageFile = fs.readFileSync("path/to/small-sample.jpg", {
  encoding: "base64",
});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: [
        {type: "text", text: "Caption this image."},
        {
            type: "image",
            data: base64ImageFile,
            mime_type: "image/jpeg"
        }
    ]
});
console.log(interaction.steps.at(-1).content[0].text);

PUSHTIM

IMG_PATH="/path/to/your/image1.jpg"

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

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": [
      {"type": "text", "text": "Caption this image."},
      {
        "type": "image",
        "data": "'"$(base64 $B64FLAGS $IMG_PATH)"'",
        "mime_type": "image/jpeg"
      }
    ]
  }'

Ngarkimi i imazheve duke përdorur API-n e Skedarëve

Për skedarë të mëdhenj ose për të qenë në gjendje të përdorni të njëjtin skedar imazhi në mënyrë të përsëritur, përdorni API-n e Skedarëve. Shihni udhëzuesin e API-t të Skedarëve .

Python

from google import genai

client = genai.Client()

my_file = client.files.upload(file="path/to/sample.jpg")

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": "Caption this image."},
        {
            "type": "image",
            "uri": my_file.uri,
            "mime_type": my_file.mime_type
        }
    ]
)
print(interaction.steps[-1].content[0].text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const myfile = await client.files.upload({
    file: "path/to/sample.jpg",
    config: { mimeType: "image/jpeg" },
});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: [
        {type: "text", text: "Caption this image."},
        {
            type: "image",
            uri: myfile.uri,
            mime_type: myfile.mimeType
        }
    ]
});
console.log(interaction.steps.at(-1).content[0].text);

PUSHTIM

# First upload the file (see Files API guide for details)
# Then use the file URI in the request:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": [
      {"type": "text", "text": "Caption this image."},
      {
        "type": "image",
        "uri": "YOUR_FILE_URI",
        "mime_type": "image/jpeg"
      }
    ]
  }'

Nxitje me imazhe të shumta

Mund të ofroni imazhe të shumëfishta në një kërkesë të vetme duke përfshirë objekte të shumëfishta imazhi në vargun input :

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": "What is different between these two images?"},
        {
            "type": "image",
            "uri": "https://example.com/image1.jpg",
            "mime_type": "image/jpeg"
        },
        {
            "type": "image",
            "uri": "https://example.com/image2.jpg",
            "mime_type": "image/jpeg"
        }
    ]
)
print(interaction.steps[-1].content[0].text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: [
        {type: "text", text: "What is different between these two images?"},
        {
            type: "image",
            uri: "https://example.com/image1.jpg",
            mime_type: "image/jpeg"
        },
        {
            type: "image",
            uri: "https://example.com/image2.jpg",
            mime_type: "image/jpeg"
        }
    ]
});
console.log(interaction.steps.at(-1).content[0].text);

PUSHTIM

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": [
      {"type": "text", "text": "What is different between these two images?"},
      {
        "type": "image",
        "uri": "https://example.com/image1.jpg",
        "mime_type": "image/jpeg"
      },
      {
        "type": "image",
        "uri": "https://example.com/image2.jpg",
        "mime_type": "image/jpeg"
      }
    ]
  }'

Zbulimi i objekteve

Modelet janë të trajnuara për të zbuluar objektet në një imazh dhe për të marrë koordinatat e tyre të kutisë kufizuese. Koordinatat, në lidhje me dimensionet e imazhit, shkallëzohen në [0, 1000]. Ju duhet t'i hiqni shkallën këtyre koordinatave bazuar në madhësinë origjinale të imazhit tuaj.

Python

from google import genai
from PIL import Image
import json

client = genai.Client()
prompt = "Detect the all of the prominent items in the image. The box_2d should be [ymin, xmin, ymax, xmax] normalized to 0-1000."

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": prompt},
        {
            "type": "image",
            "uri": "https://example.com/image.png",
            "mime_type": "image/png"
        }
    ],
    response_format={
        "type": "text",
        "mime_type": "application/json"
    }
)

bounding_boxes = json.loads(interaction.steps[-1].content[0].text)
print("Bounding boxes:", bounding_boxes)

Për më shumë shembuj, shikoni fletoret e mëposhtme në Librin e Gatimit Gemini :

Segmentimi

Duke filluar me Gemini 2.5, modelet jo vetëm që zbulojnë artikujt, por edhe i segmentojnë ato dhe ofrojnë maskat e tyre të konturit.

Modeli parashikon një listë JSON, ku çdo artikull përfaqëson një maskë segmentimi. Çdo artikull ka një kuti kufizuese (" box_2d ") në formatin [y0, x0, y1, x1] me koordinata të normalizuara midis 0 dhe 1000, një etiketë (" label ") që identifikon objektin dhe së fundmi maskën e segmentimit brenda kutisë kufizuese, si png e koduar me base64 që është një hartë probabiliteti me vlera midis 0 dhe 255.

Python

from google import genai
from PIL import Image
import json

client = genai.Client()

prompt = """
Give the segmentation masks for the wooden and glass items.
Output a JSON list of segmentation masks where each entry contains the 2D
bounding box in the key "box_2d", the segmentation mask in key "mask", and
the text label in the key "label". Use descriptive labels.
"""

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input=[
        {"type": "text", "text": prompt},
        {
            "type": "image",
            "uri": "https://example.com/image.png",
            "mime_type": "image/png"
        }
    ],
    config={
        "thinking_level": "minimal"  # Minimize thinking for better detection results
    }
)

items = json.loads(interaction.steps[-1].content[0].text)
print("Segmentation results:", items)
Një tavolinë me kekë të vegjël, me objektet prej druri dhe qelqi të theksuara
Një shembull i një rezultati segmentimi me objekte dhe maska ​​segmentimi

Formatet e imazheve të mbështetura

Gemini mbështet llojet e mëposhtme MIME të formateve të imazhit:

  • PNG - image/png
  • JPEG - image/jpeg
  • WEBP - image/webp
  • HEIC - image/heic
  • HEIF - image/heif

Për të mësuar rreth metodave të tjera të futjes së skedarëve, shihni udhëzuesin e metodave të futjes së skedarëve .

Aftësitë

Të gjitha versionet e modelit Gemini janë multimodale dhe mund të përdoren në një gamë të gjerë të detyrave të përpunimit të imazheve dhe vizionit kompjuterik, duke përfshirë, por pa u kufizuar në, mbishkrimin e imazheve, pyetjet dhe përgjigjet vizuale, klasifikimin e imazheve, zbulimin dhe segmentimin e objekteve.

Gemini mund të zvogëlojë nevojën për të përdorur modele të specializuara të ML në varësi të kërkesave tuaja të cilësisë dhe performancës.

Versionet më të fundit të modelit janë trajnuar posaçërisht për të përmirësuar saktësinë e detyrave të specializuara, përveç aftësive gjenerike, si zbulimi dhe segmentimi i përmirësuar i objekteve.

Kufizimet dhe informacionet kryesore teknike

Limiti i skedarëve

Modelet Gemini mbështesin një maksimum prej 3,600 skedarësh imazhesh për kërkesë.

Llogaritja e tokenëve

  • 258 tokena nëse të dy dimensionet janë <= 384 piksel. Imazhet më të mëdha ndahen në pllaka me 768x768 piksel, secila me 258 tokena.

Një formulë e përafërt për llogaritjen e numrit të pllakave është si më poshtë:

  • Llogarit madhësinë e njësisë së të korrave e cila është afërsisht: floor(min(width, height) / 1.5).
  • Pjesëtoni çdo dimension me madhësinë e njësisë së prerjes dhe shumëzojeni së bashku për të marrë numrin e pllakave.

Për shembull, për një imazh me dimensione 960x540, madhësia e njësisë së prerjes do të jetë 360. Pjesëtoni çdo dimension me 360 ​​dhe numri i pllakave është 3 * 2 = 6.

Rezolucioni i medias

Gemini 3 prezanton kontroll të detajuar mbi përpunimin e vizionit multimodal me parametrin media_resolution . Parametri media_resolution përcakton numrin maksimal të tokenëve të alokuar për imazh hyrës ose kornizë video. Rezolucionet më të larta përmirësojnë aftësinë e modelit për të lexuar tekst të imët ose për të identifikuar detaje të vogla, por rrisin përdorimin e tokenëve dhe vonesën.

Këshilla dhe praktikat më të mira

  • Verifikoni që imazhet janë rrotulluar saktë.
  • Përdorni imazhe të qarta, jo të turbullta.
  • Kur përdorni një imazh të vetëm me tekst, vendosni njoftimin e tekstit para imazhit në matricën input .

Çfarë vjen më pas

Ky udhëzues ju tregon se si të ngarkoni skedarë imazhesh dhe të gjeneroni rezultate teksti nga të dhënat e futura të imazheve. Për të mësuar më shumë, shihni burimet e mëposhtme:

  • API-t e skedarëve : Mësoni më shumë rreth ngarkimit dhe menaxhimit të skedarëve për përdorim me Gemini.
  • Udhëzimet e sistemit : Udhëzimet e sistemit ju lejojnë të drejtoni sjelljen e modelit bazuar në nevojat dhe rastet tuaja specifike të përdorimit.
  • Strategjitë e nxitjes së skedarëve : API Gemini mbështet nxitjen me të dhëna teksti, imazhi, audio dhe video, të njohura edhe si nxitje multimodale.
  • Udhëzime për sigurinë : Ndonjëherë modelet gjeneruese të IA-së prodhojnë rezultate të papritura, të tilla si rezultate që janë të pasakta, të anshme ose fyese. Përpunimi pasues dhe vlerësimi njerëzor janë thelbësorë për të kufizuar rrezikun e dëmtimit nga rezultate të tilla.