Modelet e Gemini janë ndërtuar për të qenë multimodalë nga fillimi, duke shkyçur një gamë të gjerë detyrash të përpunimit të imazheve dhe të shikimit kompjuterik, duke përfshirë, por pa u kufizuar në, krijimin e titrave të 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 e Gemini ofrojnë saktësi të përmirësuar për raste specifike përdorimi si zbulimi i objekteve, nëpërmjet trajnimit shtesë.
Imazhet po i kalohen Gemini
Mund të japësh imazhe si hyrje për Gemini duke përdorur dy metoda:
- Kalimi i të dhënave të imazhit të ndërfutur: Ideale për skedarë më të vegjël (madhësia totale e kërkesës më pak se 20 MB, duke përfshirë kërkesat).
- Ngarkimi i imazheve duke përdorur File API: Rekomandohet për skedarë më të mëdhenj ose për ripërdorimin e imazheve në disa kërkesa.
Po kalojnë të dhënat e imazhit të ndërfutur
Mund të kalosh të dhënat e imazheve të integruara në kërkesën për generateContent. Mund të japësh të dhënat e imazhit si vargje të enkoduar në Base64 ose duke lexuar drejtpërdrejt skedarët lokalë (në varësi të gjuhës).
Shembulli i mëposhtëm tregon se si të lexosh një imazh nga një skedar lokal dhe ta kalosh atë te API-ja e generateContent për përpunim.
Python
from google import genai
from google.genai import types
with open('path/to/small-sample.jpg', 'rb') as f:
image_bytes = f.read()
client = genai.Client()
response = client.models.generate_content(
model='gemini-3.8-flash',
contents=[
types.Part.from_bytes(
data=image_bytes,
mime_type='image/jpeg',
),
'Caption this image.'
]
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
const base64ImageFile = fs.readFileSync("path/to/small-sample.jpg", {
encoding: "base64",
});
const contents = [
{
inlineData: {
mimeType: "image/jpeg",
data: base64ImageFile,
},
},
{ text: "Caption this image." },
];
const response = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: contents,
});
console.log(response.text);
Go
bytes, _ := os.ReadFile("path/to/small-sample.jpg")
parts := []*genai.Part{
genai.NewPartFromBytes(bytes, "image/jpeg"),
genai.NewPartFromText("Caption this image."),
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
result, _ := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
contents,
nil,
)
fmt.Println(result.Text())
QETËSI
IMG_PATH="/path/to/your/image1.jpg"
if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
B64FLAGS="--input"
else
B64FLAGS="-w0"
fi
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{
"inline_data": {
"mime_type":"image/jpeg",
"data": "'"$(base64 $B64FLAGS $IMG_PATH)"'"
}
},
{"text": "Caption this image."},
]
}]
}' 2> /dev/null
Mund të marrësh gjithashtu një imazh nga një URL, ta konvertosh atë në bajt dhe t'ia kalosh atë te
generateContent siç tregohet në shembujt e mëposhtëm.
Python
from google import genai
from google.genai import types
import requests
image_path = "https://goo.gle/instrument-img"
image_bytes = requests.get(image_path).content
image = types.Part.from_bytes(
data=image_bytes, mime_type="image/jpeg"
)
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.8-flash",
contents=["What is this image?", image],
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
async function main() {
const ai = new GoogleGenAI({});
const imageUrl = "https://goo.gle/instrument-img";
const response = await fetch(imageUrl);
const imageArrayBuffer = await response.arrayBuffer();
const base64ImageData = Buffer.from(imageArrayBuffer).toString('base64');
const result = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: [
{
inlineData: {
mimeType: 'image/jpeg',
data: base64ImageData,
},
},
{ text: "Caption this image." }
],
});
console.log(result.text);
}
main();
Go
package main
import (
"context"
"fmt"
"os"
"io"
"net/http"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
// Download the image.
imageResp, _ := http.Get("https://goo.gle/instrument-img")
imageBytes, _ := io.ReadAll(imageResp.Body)
parts := []*genai.Part{
genai.NewPartFromBytes(imageBytes, "image/jpeg"),
genai.NewPartFromText("Caption this image."),
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
result, _ := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
contents,
nil,
)
fmt.Println(result.Text())
}
QETËSI
IMG_URL="https://goo.gle/instrument-img"
MIME_TYPE=$(curl -sIL "$IMG_URL" | grep -i '^content-type:' | awk -F ': ' '{print $2}' | sed 's/\r$//' | head -n 1)
if [[ -z "$MIME_TYPE" || ! "$MIME_TYPE" == image/* ]]; then
MIME_TYPE="image/jpeg"
fi
# Check for macOS
if [[ "$(uname)" == "Darwin" ]]; then
IMAGE_B64=$(curl -sL "$IMG_URL" | base64 -b 0)
elif [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
IMAGE_B64=$(curl -sL "$IMG_URL" | base64)
else
IMAGE_B64=$(curl -sL "$IMG_URL" | base64 -w0)
fi
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{
"inline_data": {
"mime_type":"'"$MIME_TYPE"'",
"data": "'"$IMAGE_B64"'"
}
},
{"text": "Caption this image."}
]
}]
}' 2> /dev/null
Ngarkimi i imazheve duke përdorur File API
Për skedarë të mëdhenj ose për të qenë në gjendje të përdorësh të njëjtin skedar imazhi në mënyrë të përsëritur, përdor Files API. Kodi i mëposhtëm ngarkon një skedar imazhi dhe më pas e përdor skedarin në një thirrje te generateContent. Shiko udhëzuesin e API-së së "Skedarëve" për më shumë informacione dhe shembuj.
Python
from google import genai
client = genai.Client()
my_file = client.files.upload(file="path/to/sample.jpg")
response = client.models.generate_content(
model="gemini-3.8-flash",
contents=[my_file, "Caption this image."],
)
print(response.text)
JavaScript
import {
GoogleGenAI,
createUserContent,
createPartFromUri,
} from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const myfile = await ai.files.upload({
file: "path/to/sample.jpg",
config: { mimeType: "image/jpeg" },
});
const response = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: createUserContent([
createPartFromUri(myfile.uri, myfile.mimeType),
"Caption this image.",
]),
});
console.log(response.text);
}
await main();
Go
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)
}
uploadedFile, _ := client.Files.UploadFromPath(ctx, "path/to/sample.jpg", nil)
parts := []*genai.Part{
genai.NewPartFromText("Caption this image."),
genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType),
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
result, _ := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
contents,
nil,
)
fmt.Println(result.Text())
}
QETËSI
IMAGE_PATH="path/to/sample.jpg"
MIME_TYPE=$(file -b --mime-type "${IMAGE_PATH}")
NUM_BYTES=$(wc -c < "${IMAGE_PATH}")
DISPLAY_NAME=IMAGE
tmp_header_file=upload-header.tmp
# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "https://generativelanguage.googleapis.com/upload/v1beta/files" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-D upload-header.tmp \
-H "X-Goog-Upload-Protocol: resumable" \
-H "X-Goog-Upload-Command: start" \
-H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
-H "Content-Type: application/json" \
-d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null
upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"
# Upload the actual bytes.
curl "${upload_url}" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Length: ${NUM_BYTES}" \
-H "X-Goog-Upload-Offset: 0" \
-H "X-Goog-Upload-Command: upload, finalize" \
--data-binary "@${IMAGE_PATH}" 2> /dev/null > file_info.json
file_uri=$(jq -r ".file.uri" file_info.json)
echo file_uri=$file_uri
# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{"file_data":{"mime_type": "'"${MIME_TYPE}"'", "file_uri": "'"${file_uri}"'"}},
{"text": "Caption this image."}]
}]
}' 2> /dev/null > response.json
cat response.json
echo
jq ".candidates[].content.parts[].text" response.json
Kërkesa me disa imazhe
Mund të japësh disa imazhe në një kërkesë të vetme duke përfshirë disa objekte të imazheve Part në vargun contents. Këto mund të jenë një përzierje e të dhënave të integruara
(skedarë lokalë ose URL) dhe referencave të File API.
Python
from google import genai
from google.genai import types
client = genai.Client()
# Upload the first image
image1_path = "path/to/image1.jpg"
uploaded_file = client.files.upload(file=image1_path)
# Prepare the second image as inline data
image2_path = "path/to/image2.png"
with open(image2_path, 'rb') as f:
img2_bytes = f.read()
# Create the prompt with text and multiple images
response = client.models.generate_content(
model="gemini-3.8-flash",
contents=[
"What is different between these two images?",
uploaded_file, # Use the uploaded file reference
types.Part.from_bytes(
data=img2_bytes,
mime_type='image/png'
)
]
)
print(response.text)
JavaScript
import {
GoogleGenAI,
createUserContent,
createPartFromUri,
} from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
async function main() {
// Upload the first image
const image1_path = "path/to/image1.jpg";
const uploadedFile = await ai.files.upload({
file: image1_path,
config: { mimeType: "image/jpeg" },
});
// Prepare the second image as inline data
const image2_path = "path/to/image2.png";
const base64Image2File = fs.readFileSync(image2_path, {
encoding: "base64",
});
// Create the prompt with text and multiple images
const response = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: createUserContent([
"What is different between these two images?",
createPartFromUri(uploadedFile.uri, uploadedFile.mimeType),
{
inlineData: {
mimeType: "image/png",
data: base64Image2File,
},
},
]),
});
console.log(response.text);
}
await main();
Go
// Upload the first image
image1Path := "path/to/image1.jpg"
uploadedFile, _ := client.Files.UploadFromPath(ctx, image1Path, nil)
// Prepare the second image as inline data
image2Path := "path/to/image2.jpeg"
imgBytes, _ := os.ReadFile(image2Path)
parts := []*genai.Part{
genai.NewPartFromText("What is different between these two images?"),
genai.NewPartFromBytes(imgBytes, "image/jpeg"),
genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType),
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
result, _ := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
contents,
nil,
)
fmt.Println(result.Text())
QETËSI
# Upload the first image
IMAGE1_PATH="path/to/image1.jpg"
MIME1_TYPE=$(file -b --mime-type "${IMAGE1_PATH}")
NUM1_BYTES=$(wc -c < "${IMAGE1_PATH}")
DISPLAY_NAME1=IMAGE1
tmp_header_file1=upload-header1.tmp
curl "https://generativelanguage.googleapis.com/upload/v1beta/files" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-D upload-header1.tmp \
-H "X-Goog-Upload-Protocol: resumable" \
-H "X-Goog-Upload-Command: start" \
-H "X-Goog-Upload-Header-Content-Length: ${NUM1_BYTES}" \
-H "X-Goog-Upload-Header-Content-Type: ${MIME1_TYPE}" \
-H "Content-Type: application/json" \
-d "{'file': {'display_name': '${DISPLAY_NAME1}'}}" 2> /dev/null
upload_url1=$(grep -i "x-goog-upload-url: " "${tmp_header_file1}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file1}"
curl "${upload_url1}" \
-H "Content-Length: ${NUM1_BYTES}" \
-H "X-Goog-Upload-Offset: 0" \
-H "X-Goog-Upload-Command: upload, finalize" \
--data-binary "@${IMAGE1_PATH}" 2> /dev/null > file_info1.json
file1_uri=$(jq ".file.uri" file_info1.json)
echo file1_uri=$file1_uri
# Prepare the second image (inline)
IMAGE2_PATH="path/to/image2.png"
MIME2_TYPE=$(file -b --mime-type "${IMAGE2_PATH}")
if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
B64FLAGS="--input"
else
B64FLAGS="-w0"
fi
IMAGE2_BASE64=$(base64 $B64FLAGS $IMAGE2_PATH)
# Now generate content using both images
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{"text": "What is different between these two images?"},
{"file_data":{"mime_type": "'"${MIME1_TYPE}"'", "file_uri": '$file1_uri'}},
{
"inline_data": {
"mime_type":"'"${MIME2_TYPE}"'",
"data": "'"$IMAGE2_BASE64"'"
}
}
]
}]
}' 2> /dev/null > response.json
cat response.json
echo
jq ".candidates[].content.parts[].text" response.json
Zbulimi i objekteve
Modelet janë të trajnuara për të zbuluar objektet në një imazh dhe për të marrë koordinatat e kutisë kufizuese. Koordinatat, në lidhje me dimensionet e imazhit, shkallëzohen në [0, 1000]. Duhet t'i zvogëlosh këto koordinata bazuar në madhësinë e imazhit origjinal.
Python
from google import genai
from google.genai import types
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."
image = Image.open("/path/to/image.png")
config = types.GenerateContentConfig(
response_mime_type="application/json"
)
response = client.models.generate_content(model="gemini-3.8-flash",
contents=[image, prompt],
config=config
)
width, height = image.size
bounding_boxes = json.loads(response.text)
converted_bounding_boxes = []
for bounding_box in bounding_boxes:
abs_y1 = int(bounding_box["box_2d"][0]/1000 * height)
abs_x1 = int(bounding_box["box_2d"][1]/1000 * width)
abs_y2 = int(bounding_box["box_2d"][2]/1000 * height)
abs_x2 = int(bounding_box["box_2d"][3]/1000 * width)
converted_bounding_boxes.append([abs_x1, abs_y1, abs_x2, abs_y2])
print("Image size: ", width, height)
print("Bounding boxes:", converted_bounding_boxes)
JavaScript
import { GoogleGenAI } from "@google/genai";
import * as fs from "node:fs";
const ai = new GoogleGenAI({});
const base64ImageFile = fs.readFileSync("/path/to/image.png", {
encoding: "base64",
});
const response = await ai.models.generateContent({
model: "gemini-3.8-flash",
contents: [
{
inlineData: {
mimeType: "image/png",
data: base64ImageFile,
},
},
"Detect the all of the prominent items in the image. The box_2d should be [ymin, xmin, ymax, xmax] normalized to 0-1000."
],
config: {
responseMimeType: "application/json",
},
});
const boundingBoxes = JSON.parse(response.text);
console.log(boundingBoxes);
// To convert normalized coordinates to absolute pixels:
// const absY1 = (boundingBoxes[0].box_2d[0] / 1000) * imageHeight;
// const absX1 = (boundingBoxes[0].box_2d[1] / 1000) * imageWidth;
Go
package main
import (
"context"
"encoding/json"
"fmt"
"image"
_ "image/png" // Register PNG decoder
"log"
"os"
"google.golang.org/genai"
)
type BoundingBox struct {
Box2D []int `json:"box_2d"`
Label string `json:"label"`
}
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
imagePath := "/path/to/image.png"
// Open the image to get dimensions
file, err := os.Open(imagePath)
if err != nil {
log.Fatal(err)
}
defer file.Close()
imgConfig, _, err := image.DecodeConfig(file)
if err != nil {
log.Fatal(err)
}
width := imgConfig.Width
height := imgConfig.Height
// Read image bytes
imageBytes, err := os.ReadFile(imagePath)
if err != nil {
log.Fatal(err)
}
prompt := "Detect the all of the prominent items in the image. The box_2d should be [ymin, xmin, ymax, xmax] normalized to 0-1000."
parts := []*genai.Part{
genai.NewPartFromBytes(imageBytes, "image/png"),
genai.NewPartFromText(prompt),
}
contents := []*genai.Content{
genai.NewContentFromParts(parts, genai.RoleUser),
}
config := &genai.GenerateContentConfig{
ResponseMIMEType: "application/json",
}
result, err := client.Models.GenerateContent(
ctx,
"gemini-3.8-flash",
contents,
config,
)
if err != nil {
log.Fatal(err)
}
var boundingBoxes []BoundingBox
err = json.Unmarshal([]byte(result.Text()), &boundingBoxes)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Image size: %d %d\n", width, height)
fmt.Println("Bounding boxes:")
for _, box := range boundingBoxes {
if len(box.Box2D) == 4 {
absY1 := int(float64(box.Box2D[0]) / 1000.0 * float64(height))
absX1 := int(float64(box.Box2D[1]) / 1000.0 * float64(width))
absY2 := int(float64(box.Box2D[2]) / 1000.0 * float64(height))
absX2 := int(float64(box.Box2D[3]) / 1000.0 * float64(width))
fmt.Printf("- %s: [%d, %d, %d, %d]\n", box.Label, absX1, absY1, absX2, absY2)
}
}
}
QETËSI
IMG_PATH="/path/to/image.png"
if [[ "$(base64 --version 2>&1)" = *"FreeBSD"* ]]; then
B64FLAGS="--input"
else
B64FLAGS="-w0"
fi
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[
{
"inline_data": {
"mime_type":"image/png",
"data": "'"$(base64 $B64FLAGS $IMG_PATH)"'"
}
},
{"text": "Detect the all of the prominent items in the image. The box_2d should be [ymin, xmin, ymax, xmax] normalized to 0-1000."}
]
}],
"generationConfig": {
"responseMimeType": "application/json"
}
}' 2> /dev/null
Për më shumë shembuj, shiko blloqet e mëposhtme të shënimeve në Gemini Cookbook:
Formatet e mbështetura të imazheve
Gemini mbështet llojet e mëposhtme të MIME-s të formateve të imazheve:
- 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ë hyrjes së skedarëve, shiko udhëzuesin e Metodave të hyrjes së skedarëve.
Aftësitë
Të gjitha versionet e modelit Gemini janë multimodale dhe mund të përdoren në një gamë të gjerë detyrash të përpunimit të imazheve dhe të shikimit kompjuterik, duke përfshirë, por pa u kufizuar në, krijimin e titujve të imazheve, pyetjet dhe përgjigjet vizuale, klasifikimin e imazheve dhe zbulimin e objekteve.
Gemini mund të zvogëlojë nevojën për të përdorur modele të specializuara të ML-së në varësi të kërkesave të tua për cilësinë dhe performancën.
Versionet më të fundit të modelit janë të trajnuara posaçërisht për të përmirësuar saktësinë e detyrave të specializuara përveç aftësive të përgjithshme, si p.sh. zbulimi i përmirësuar i objekteve.
Kufizimet dhe informacionet kryesore teknike
Kufiri i skedarëve
Modelet Gemini mbështesin maksimumi 3600 skedarë imazhesh për kërkesë.
Llogaritja e tokenit
- 258 kode nëse të dyja dimensionet janë <= 384 pikselë. Imazhet më të mëdha ndahen në pllakëza me 768x768 pikselë, secila me kosto 258 kode.
Një formulë e përafërt për llogaritjen e numrit të pllakëzave është si më poshtë:
- Llogarit madhësinë e njësisë së prerjes që është përafërsisht: floor(min(width, height) / 1.5).
- Pjesëto çdo dimension me madhësinë e njësisë së prerjes dhe shumëzoji së bashku për të marrë numrin e pllakëzave.
Për shembull, për një imazh me përmasa 960x540 do të kishte një madhësi të njësisë të prerjes prej 360. Pjesëto çdo dimension me 360 dhe numri i pllakëzave është 3 * 2 = 6.
Rezolucioni i medias
Gemini 3 prezanton kontrollin e detajuar mbi përpunimin multimodal të shikimit me parametrin
media_resolution. Parametri media_resolution përcakton
numrin maksimal të tokenëve të caktuar për imazh hyrës ose kuadër videoje.
Rezolucionet më të larta përmirësojnë aftësinë e modelit për të lexuar tekstet e imëta ose për të identifikuar detajet e vogla, por rritin përdorimin e kodeve dhe vonesën.
Për më shumë detaje rreth parametrit dhe se si mund të ndikojë në llogaritjet e kodeve, shiko udhëzuesin e rezolucionit të medias.
Këshilla dhe praktikat më të mira
- Verifiko që imazhet janë rrotulluar saktë.
- Përdor imazhe të qarta dhe jo të turbullta.
- Kur përdor një imazh të vetëm me tekst, vendos kërkesën me tekst pas pjesës së imazhit në vargun
contents.
Çfarë ka më pas
Ky udhëzues të tregon se si të ngarkosh skedarë imazhesh dhe të gjenerosh dalje teksti nga hyrjet e imazheve. Për të mësuar më shumë, shiko burimet e mëposhtme:
- Files API: Mëso më shumë rreth ngarkimit dhe menaxhimit të skedarëve për përdorim me Gemini.
- Udhëzimet e sistemit: Udhëzimet e sistemit të lejojnë të drejtosh sjelljen e modelit bazuar në nevojat dhe rastet e tua specifike të përdorimit.
- Strategjitë e kërkesave për skedarët: Gemini API mbështet kërkesat me të dhëna tekstesh, imazhesh, audiosh dhe videosh, të njohura gjithashtu si kërkesa shumëmodale.
- Udhëzimet për sigurinë: Ndonjëherë, modelet e IA-së gjeneruese prodhojnë rezultate të papritura, si p.sh. rezultate që janë të pasakta, të njëanshme ose fyese. Përpunimi pas përpunimit dhe vlerësimi manual janë thelbësorë për të kufizuar rrezikun e dëmtimit nga rezultate të tilla.