From 77c4c3e804af1c276c8512d949cc39bc0fa77f52 Mon Sep 17 00:00:00 2001 From: Seefs Date: Wed, 19 Nov 2025 13:42:32 +0800 Subject: [PATCH] feat: MediaResolution && VideoMetadata --- dto/gemini.go | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/dto/gemini.go b/dto/gemini.go index 03e0671fd..d7e598db3 100644 --- a/dto/gemini.go +++ b/dto/gemini.go @@ -141,6 +141,8 @@ func (r *GeminiChatRequest) SetTools(tools []GeminiChatTool) { type GeminiThinkingConfig struct { IncludeThoughts bool `json:"includeThoughts,omitempty"` ThinkingBudget *int `json:"thinkingBudget,omitempty"` + // TODO Conflict with thinkingbudget. + // ThinkingLevel json.RawMessage `json:"thinkingLevel,omitempty"` } func (c *GeminiThinkingConfig) SetThinkingBudget(budget int) { @@ -206,12 +208,15 @@ type GeminiFileData struct { } type GeminiPart struct { - Text string `json:"text,omitempty"` - Thought bool `json:"thought,omitempty"` - InlineData *GeminiInlineData `json:"inlineData,omitempty"` - FunctionCall *FunctionCall `json:"functionCall,omitempty"` - ThoughtSignature json.RawMessage `json:"thoughtSignature,omitempty"` - FunctionResponse *GeminiFunctionResponse `json:"functionResponse,omitempty"` + Text string `json:"text,omitempty"` + Thought bool `json:"thought,omitempty"` + InlineData *GeminiInlineData `json:"inlineData,omitempty"` + FunctionCall *FunctionCall `json:"functionCall,omitempty"` + ThoughtSignature json.RawMessage `json:"thoughtSignature,omitempty"` + FunctionResponse *GeminiFunctionResponse `json:"functionResponse,omitempty"` + // Optional. Media resolution for the input media. + MediaResolution json.RawMessage `json:"mediaResolution,omitempty"` + VideoMetadata json.RawMessage `json:"videoMetadata,omitempty"` FileData *GeminiFileData `json:"fileData,omitempty"` ExecutableCode *GeminiPartExecutableCode `json:"executableCode,omitempty"` CodeExecutionResult *GeminiPartCodeExecutionResult `json:"codeExecutionResult,omitempty"`