feat(antigravity): native image generation support

Add image generation for Antigravity provider via gemini-3.1-flash-image
and gemini-3-pro-image, exposed through Text to Image UI and
/v1/images/generations.

- registry: serviceKinds ['llm','image'] + image model entries
- executor: image model detection + image_gen request envelope
- chatCore: force stream=false for image models (generateContent)
- nonStreamingHandler: parse inlineData -> markdown image
- imageGenerationCore: useExecutor fast-path for executor delegation
- imageProviders/antigravity: image adapter with image input support
- usage/google: image models in quota whitelist

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Nautilaceae
2026-06-21 17:54:32 +07:00
committed by decolua
co-authored by Cursor
parent b4d2754d32
commit 5306bd904e
8 changed files with 220 additions and 1 deletions
@@ -18,6 +18,7 @@ export default {
deprecationNotice: "RISK_NOTICE",
},
category: "oauth",
serviceKinds: ["llm", "image"],
transport: {
baseUrls: [
"https://daily-cloudcode-pa.googleapis.com",
@@ -53,6 +54,9 @@ export default {
{ id: "claude-opus-4-6-thinking", name: "Claude Opus 4.6 (Thinking)" },
{ id: "gpt-oss-120b-medium", name: "GPT-OSS 120B (Medium)" },
{ id: "gemini-3-flash", name: "Gemini 3 Flash", thinking: false },
// Image generation models
{ id: "gemini-3.1-flash-image", name: "Gemini 3.1 Flash (Image)", imageGen: true, capabilities: ["textToImage"] },
{ id: "gemini-3-pro-image", name: "Gemini 3 Pro (Image)", imageGen: true, capabilities: ["textToImage"] },
],
oauth: {
authorizeUrl: "https://accounts.google.com/o/oauth2/v2/auth",