Gemini的相关大模型API无法调用?一文深入带你探究原因,并展示如何成功调用Gemini的API,让你继续使用。

在学习使用n8n时,很多小伙伴都会不可避免的 使用到一些 商用 大模型 API,考虑到大部分使用者其实都不是付费用户,所以

Google AI Studio推出的 Gemini系列模型,虽然是商用的,但是可以每天有一定免费额度(对于跑通n8n,感受下workflow,已经足够了)

自然就变成了广大用户白嫖的首选。

 

本文详细记录了,在n8n调用Gemini时,踩到的系列坑,最后成功实现需求。

 

看到有博主是 Gemini 2.5 pro 做演示多模态识别图片,视频当时那会还是支持免费调用的。

然后截止目前6月20日,我看了下google公布的最新结果,目前已经停止了该模型的免费调用额度

请别慌,我后面将使用Gemini 2.5 flash来平替演示,Gemini 2.5 flash实测下来效果也还不错,

输入也支持多模态文件,只是少了针对pdf文件的支持。

 

另外,我将演示的是更接近真实生产环境的操作,在docker中部署n8n[2]

 我的改写的命令如下:

docker run -it --rm --name n8n -p 5678:5678 -e HTTP_PROXY=http://host.docker.internal:7890 -e HTTPS_PROXY=http://host.docker.internal:7890 -v n8n_data:/home/node/.n8n -v C:/Users/47053/Desktop/yz:/mnt/yz docker.n8n.io/n8nio/n8n
附:n8n的启动比较简单,请参考github上安装指示

这里我将不再赘述,默认大家都安装好了node.js, docker desktop这些  (如果实在不懂,也可评论区向我留言)

上面命令是直接丢给电脑看的,因而可读性不够好,我调整格式对齐如下,方便给大家讲解:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -e HTTP_PROXY=http://host.docker.internal:7890 \
  -e HTTPS_PROXY=https://host.docker.internal:7890 \
  -v n8n_data:/home/node/.n8n \
  -v C:/Users/47053/Desktop/yz:/mnt/yz \
  docker.n8n.io/n8nio/n8n

-e 这两个是我添加的本地代理,你可以改成你自己的代理端口

这个很重要,我也是反复掉坑多次才摸索出来的......

如果不添加这两个代理,Gemini你直接参照官方文档去调用,

不论你是官方文档的如下2种api方式,你最后都没法跑通 gemini的模型接口的。。。

 

继续解释命令:

 

-v C:/Users/47053/Desktop/yz:/mnt/yz \

这一行代码是完成如下功能:

  • -v C:/Users/47053/Desktop/yz:/mnt/yz:将 Windows 路径 C:\Users\47053\Desktop\yz 挂载到容器内的 /mnt/yz。
  • 注意:Windows 路径中的反斜杠 \ 替换为正斜杠 /,驱动器号 C: 前加 /。

这样以便 n8n 可以访问其中的文件进行 OCR 识别。

如果没有这条命令,你是没法在容器内去访问你本地宿主机的文件夹,因为容器是和宿主环境隔离的。

其他命令都比较常规,没有需要特别解释的。(如果还有不懂,大家可以直接把这个命令问LLM)

 

启动完该命令后,docker desktop页面返回如下结果,即表明n8n的docker已经成功启动:

 打开这个容器,点击 Files,就可以看到该容器mnt/yz文件夹下面已经有windows桌面对应的文件,说明挂载已经成功了

 

或者你只想通过代码去访问API的话,这也是可以的,这是我实测能跑通的代码,大家可以参考。

只需将apikey, model 替换成你所需的即可

import requests
import json

model = 'gemini-2.5-flash' # 也可以替换成你所需的model,
url = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
api_key = "替换成你apikey"

headers = {"Content-Type": "application/json"}
payload = {
    "contents": [
        {
            "parts": [
                {"text": "你好,请问你是谁?"}
            ]
        }
    ]
}

# 设置代理
proxies = {
    "http": "http://127.0.0.1:7890",
    "https": "http://127.0.0.1:7890"
}

response = requests.post(f"{url}?key={api_key}", headers=headers, json=payload, proxies=proxies, timeout=20)
print(response.json())
# print(response.json()['candidates'][0]['content']['parts'][0]['text'])

返回结果如下:

 

至此,你只需要在浏览器打开:

http://localhost:5678

这个链接,就可以进入n8n操作页面了

 

至此,Gemini就可以被你正常调用了。

 

相关网站:

https://aistudio.google.com/apikey

https://ai.google.dev/gemini-api/docs/models#gemini-2.0-flash

https://ai.google.dev/gemini-api/docs/rate-limits

https://ai.google.dev/gemini-api/docs?hl=zh-cn

posted @ 2025-06-20 17:47  AlphaGeek  阅读(1230)  评论(0)    收藏  举报