พารามิเตอร์ media_resolution จะควบคุมวิธีที่ Gemini API ประมวลผลอินพุตสื่อ เช่น รูปภาพ วิดีโอ เสียง และเอกสาร PDF โดยกำหนดจำนวนโทเค็นสูงสุด ที่จัดสรรไว้สำหรับอินพุตสื่อ ซึ่งช่วยให้คุณปรับสมดุลคุณภาพการตอบสนองกับเวลาในการตอบสนองและค่าใช้จ่ายได้ แม้ว่าอินพุตภาพและเอกสารจะปรับขนาดการจัดสรรโทเค็นตามการตั้งค่าความละเอียด แต่อินพุตเสียงจะมีการแปลงเป็นโทเค็นในอัตราคงที่ต่อวินาทีในทุกระดับความละเอียด สำหรับการตั้งค่าต่างๆ ค่าเริ่มต้น และวิธีที่การตั้งค่าเหล่านั้นสอดคล้องกับโทเค็น โปรดดูส่วน
จำนวนโทเค็น
คุณสามารถกำหนดค่าความละเอียดของสื่อสำหรับออบเจ็กต์สื่อ (รายการเนื้อหา) แต่ละรายการภายในคำขอ (โมเดล Gemini 4 และ Gemini 3)
ความละเอียดของสื่อต่อรายการเนื้อหา (โมเดล Gemini 4 และ Gemini 3)
โมเดล Gemini 4 และ Gemini 3 ช่วยให้คุณกำหนดความละเอียดของสื่อสำหรับออบเจ็กต์สื่อแต่ละรายการภายในคำขอได้ ซึ่งช่วยให้คุณเพิ่มประสิทธิภาพการใช้โทเค็นได้อย่างละเอียด คุณสามารถผสมระดับความละเอียดในคำขอเดียวได้ เช่น ใช้ความละเอียดสูงสำหรับแผนภาพที่ซับซ้อน และความละเอียดต่ำสำหรับรูปภาพตามบริบทอย่างง่าย
Python
from google import genai
client = genai.Client()
myfile = client.files.upload(file="path/to/image.jpg")
interaction = client.interactions.create(
model="gemini-3.8-flash",
input=[
{"type": "text", "text": "Describe this image:"},
{
"type": "image",
"uri": myfile.uri,
"mime_type": myfile.mime_type,
"resolution": "high"
}
]
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const myfile = await ai.files.upload({
file: "path/to/image.jpg",
config: { mime_type: "image/jpeg" },
});
const interaction = await ai.interactions.create({
model: "gemini-3.8-flash",
input: [
{ type: "text", text: "Describe this image:" },
{
type: "image",
uri: myfile.uri,
mime_type: myfile.mimeType,
resolution: "high"
}
],
});
console.log(interaction.output_text);
}
await main();
Java
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.ImageContent;
import com.google.genai.gaos.models.interactions.ImageContentMimeType;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import java.util.Arrays;
import java.util.List;
Client client = new Client();
Content textContent = TextContent.builder().text("Describe the details in this high-resolution image.").build();
Content imageContent =
ImageContent.builder()
.uri("gs://cloud-samples-data/generative-ai/image/scones.jpg")
.mimeType(ImageContentMimeType.IMAGE_JPEG)
.build();
List<Content> contents = Arrays.asList(textContent, imageContent);
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.ofContent(contents))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
uploadedFile, err := client.Files.UploadFromPath(ctx, "path/to/image.jpg", nil)
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput([]interactions.Content{
interactions.NewContent(interactions.TextContent{
Text: "Describe the details in this high-resolution image.",
}),
interactions.NewContent(interactions.ImageContent{
URI: genai.Ptr(uploadedFile.URI),
MimeType: interactions.ImageContentMimeType(uploadedFile.MIMEType).ToPointer(),
Resolution: interactions.MediaResolutionHigh.ToPointer(),
}),
}),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
REST
# 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.8-flash",
"input": [
{"type": "text", "text": "Describe this image:"},
{
"type": "image",
"uri": "YOUR_FILE_URI",
"mime_type": "image/jpeg",
"resolution": "high"
}
]
}'
ค่าความละเอียดที่ใช้ได้
Gemini API กำหนดระดับความละเอียดของสื่อไว้ดังนี้
unspecified: การตั้งค่าเริ่มต้น จำนวนโทเค็นสำหรับระดับนี้จะแตกต่างกันอย่างมากระหว่าง Gemini 4/3 กับโมเดล Gemini รุ่นก่อนหน้าlow: จำนวนโทเค็นต่ำกว่า ส่งผลให้การประมวลผลเร็วขึ้นและค่าใช้จ่ายลดลง แต่รายละเอียดน้อยลงmedium: ความสมดุลระหว่างรายละเอียด ค่าใช้จ่าย และเวลาในการตอบสนองhigh: จำนวนโทเค็นสูงกว่า ซึ่งให้รายละเอียดมากขึ้นเพื่อให้โมเดลทำงานได้ แต่เวลาในการตอบสนองและค่าใช้จ่ายจะเพิ่มขึ้นultra_high(ต่อรายการเนื้อหาเท่านั้น): จำนวนโทเค็นสูงสุด ซึ่งจำเป็นสำหรับกรณีการใช้งานที่เฉพาะเจาะจง เช่น การใช้คอมพิวเตอร์
โปรดทราบว่า high ให้ประสิทธิภาพสูงสุดสำหรับกรณีการใช้งานส่วนใหญ่
จำนวนโทเค็นที่แน่นอนซึ่งสร้างขึ้นสำหรับแต่ละระดับจะขึ้นอยู่กับทั้งประเภทสื่อ (รูปภาพ วิดีโอ เสียง, PDF) และเวอร์ชันของโมเดล
จำนวนโทเค็น
ตารางด้านล่างสรุปจำนวนโทเค็นโดยประมาณสำหรับค่า media_resolution และประเภทสื่อแต่ละรายการต่อตระกูลโมเดล
โมเดล Gemini 4 และ Gemini 3
| MediaResolution | รูปภาพ | วิดีโอ | เสียง | |
|---|---|---|---|---|
unspecified (ค่าเริ่มต้น) |
1120 | 70 | 25 (ต่อวินาที) | 560 |
low |
280 | 70 | 25 (ต่อวินาที) | 280 + ข้อความเนทีฟ |
medium |
560 | 70 | 25 (ต่อวินาที) | 560 + ข้อความเนทีฟ |
high |
1120 | 280 | 25 (ต่อวินาที) | 1120 + ข้อความเนทีฟ |
ultra_high |
2240 | ไม่มีข้อมูล | ไม่มี | ไม่มีข้อมูล |
การเลือกความละเอียดที่เหมาะสม
- ค่าเริ่มต้น (
unspecified): เริ่มต้นด้วยค่าเริ่มต้น ซึ่งได้รับการปรับแต่งให้มีความสมดุลที่ดีระหว่างคุณภาพ เวลาในการตอบสนอง และค่าใช้จ่ายสำหรับกรณีการใช้งานที่พบบ่อยที่สุด low: ใช้ในสถานการณ์ที่ค่าใช้จ่ายและเวลาในการตอบสนองมีความสำคัญสูงสุด และรายละเอียดที่ละเอียดมีความสำคัญน้อยกว่าmedium/high: เพิ่มความละเอียดเมื่องานต้องใช้ความเข้าใจรายละเอียดที่ซับซ้อนภายในสื่อ ซึ่งมักจำเป็นสำหรับการวิเคราะห์ภาพที่ซับซ้อน การอ่านแผนภูมิ หรือความเข้าใจเอกสารที่มีข้อมูลหนาแน่นultra_high- ใช้ได้กับการตั้งค่าต่อรายการเนื้อหาเท่านั้น แนะนำสำหรับกรณีการใช้งานที่เฉพาะเจาะจง เช่น การใช้คอมพิวเตอร์ หรือในกรณีที่การทดสอบแสดงให้เห็นว่าhighมีการปรับปรุงอย่างชัดเจน- การควบคุมต่อรายการเนื้อหา (Gemini 4 และ Gemini 3): เพิ่มประสิทธิภาพการใช้โทเค็น เช่น ในพรอมต์ที่มีรูปภาพหลายรายการ ให้ใช้
highสำหรับแผนภาพที่ซับซ้อน และlowหรือmediumสำหรับรูปภาพตามบริบทที่ง่ายกว่า
การตั้งค่าที่แนะนำ
รายการต่อไปนี้แสดงการตั้งค่าความละเอียดของสื่อที่แนะนำสำหรับสื่อแต่ละประเภทที่รองรับ
| ประเภทสื่อ | การตั้งค่าที่แนะนำ | โทเค็นสูงสุด | คำแนะนำการใช้งาน |
|---|---|---|---|
| Google รูปภาพ | high |
1120 | แนะนำสำหรับงานวิเคราะห์รูปภาพส่วนใหญ่เพื่อให้ได้คุณภาพสูงสุด |
medium |
560 | เหมาะที่สุดสำหรับความเข้าใจเอกสาร โดยคุณภาพจะอิ่มตัวที่ medium โดยทั่วไป การเพิ่มเป็น high ไม่ค่อยปรับปรุงผลลัพธ์ OCR สำหรับเอกสารมาตรฐาน |
|
| วิดีโอ (ทั่วไป) | low (หรือ medium) |
70 (ต่อเฟรม) | หมายเหตุ: สำหรับวิดีโอ ระบบจะถือว่าการตั้งค่า low และ medium เหมือนกัน (70 โทเค็น) เพื่อเพิ่มประสิทธิภาพการใช้บริบท ซึ่งเพียงพอสำหรับงานการจดจำและการอธิบายการกระทำส่วนใหญ่ |
| วิดีโอ (มีข้อความจำนวนมาก) | high |
280 (ต่อเฟรม) | จำเป็นเฉพาะเมื่อกรณีการใช้งานเกี่ยวข้องกับการอ่านข้อความที่มีข้อมูลหนาแน่น (OCR) หรือรายละเอียดเล็กๆ ภายในเฟรมวิดีโอ |
| เสียง | unspecified (ค่าเริ่มต้น) |
25 (ต่อวินาที) | ระบบจะแปลงเสียงเป็นโทเค็นในอัตราคงที่ 25 โทเค็นต่อวินาทีในการตั้งค่าความละเอียดทั้งหมดที่รองรับ (unspecified, low, medium และ high) |
ทดสอบและประเมินผลกระทบของการตั้งค่าความละเอียดต่างๆ ในแอปพลิเคชันของคุณเสมอ เพื่อหาจุดสมดุลที่ดีที่สุดระหว่างคุณภาพ เวลาในการตอบสนอง และค่าใช้จ่าย
ความสัมพันธ์กับโหมดการประมวลผลวิดีโอ
พารามิเตอร์ media_resolution และการประมวลผลจะควบคุมอินพุตวิดีโอในด้านต่างๆ ดังนี้
media_resolutionควบคุมความละเอียด ของแต่ละเฟรม (จำนวนโทเค็นต่อเฟรม)processing/media_processingควบคุมเนื้อหาใดจากวิดีโอ ที่โหลดลงในบริบท
คุณสามารถตั้งค่าทั้ง 2 อย่างในอินพุตวิดีโอเดียวกันได้ เช่น คุณอาจใช้การประมวลผลแบบ Agentic ที่มีความละเอียดของสื่อต่ำเพื่อลดการใช้โทเค็นทั้งหมดสำหรับวิดีโอขนาดยาว
ดูรายละเอียดเกี่ยวกับโหมดการประมวลผลวิดีโอได้ที่คู่มือความเข้าใจวิดีโอแบบ Agentic
สรุปความเข้ากันได้กับเวอร์ชัน
- การตั้งค่า
resolutionในรายการเนื้อหาแต่ละรายการ รองรับในโมเดล Gemini 4 และ Gemini 3
ขั้นตอนถัดไป
- ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถแบบมัลติโมดัลของ Gemini API ได้ในคู่มือ ความเข้าใจรูปภาพ, ความเข้าใจวิดีโอ, ความเข้าใจเสียง, และ ความเข้าใจเอกสาร