": { "code": null, "message": "Invalid URL (POST /v1/v1beta/models/gemini-2.5-fl...

2026年02月11日 03:12 状态: processing

🚨 错误信息

{ "error": { "code": null, "message": "Invalid URL (POST /v1/v1beta/models/gemini-2.5-flash:streamGenerateContent)", "status": "" }, "provider": "google" }

🤖 AI解决方案

代码糕手 - 专业报错分析助理 错误翻译



原文:Invalid URL (POST /v1/v1beta/models/gemini-2.5-flash:streamGenerateContent)
译文:无效的URL (POST /v1/v1beta/models/gemini-2.5-flash:streamGenerateContent)

##原因分析
这是一个API调用错误,根本原因是URL路径结构不正确。具体问题:

  • 路径重复:URL中出现了两次 v1 路径段 (/v1/v1beta/)

  • API版本混淆:同时使用了 v1v1beta 两个版本标识

  • 端点格式错误:Google Gemini API的URL格式不符合官方规范
  • ##根据Google Gemini API官方文档,正确的URL格式应该是:

    ``javascript
    // 对于稳定版API (v1)
    const url = 'https://generativelanguage.googleapis.com/v1/models/gemini-2.5-flash:streamGenerateContent';

    // 对于测试版API (v1beta)
    const url = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:streamGenerateContent';

    // 示例代码修复
    const apiVersion = 'v1'; // 或 'v1beta',根据您的需求选择
    const modelName = 'gemini-2.5-flash';
    const endpoint = 'streamGenerateContent';

    const correctUrl = https://generativelanguage.googleapis.com/${apiVersion}/models/${modelName}:${endpoint};

    // 使用fetch API调用
    fetch(correctUrl, {
    method: 'POST',
    headers: {
    'Content-Type': 'application/json',
    'Authorization':
    Bearer ${yourApiKey}
    },
    body: JSON.stringify({
    contents: [
    {
    parts: [
    { text: "你的提示词" }
    ]
    }
    ]
    })
    });

    ##措施
    1.查阅官方文档:使用API前务必查看官方文档的端点格式
    - Google Gemini API文档:https://ai.google.dev/gemini-api/docs

    2 使用API客户端库:避免手动拼接URL,使用官方SDK

    bash
    # 安装Google AI Python SDK
    pip install google-generativeai

    # 或使用Node.js SDK
    npm install @google/generative-ai

  • 管理:将API版本和端点模板存储在配置文件中

  • javascript
    // config.js
    export const API_CONFIG = {
    baseUrl: 'https://generativelanguage.googleapis.com',
    version: 'v1', // 或 'v1beta'
    endpoints: {
    streamGenerateContent: ':streamGenerateContent'
    }
    };
    ``