
1. 从一张产品图到可运行代码Gemini 3 到底能做什么Gemini 3 是谷歌新一代大语言模型核心卖点集中在三块多模态理解、推理能力、工具与代理协作。多模态这块它不只是能读图而是能把图像、视频、音频和文字放在同一个上下文里做联合推理——你丢一张产品照片加一句描述它能同时给出推广文案、卖点拆解和配图建议。推理能力上官方在模型卡里提到PhD 水平推理这类表述在数学、代码、长链路逻辑题上的表现比前代有明显提升。工具与代理能力则面向开发者和企业场景它不只是问答还能调用外部工具、编排多步流程、自动完成从需求到代码再到部署的链路。适合谁用三类人最直接一是做多模态应用的开发者比如图文审核、商品理解、视频摘要二是写代码的工程师Gemini 3 在 VS Code、IntelliJ 的 Code Assist 插件里已经可用输入我要做一个网页有 XXX 功能就能协作生成三是企业里要处理大量文档、图像、视频数据的团队用它做总结、找问题、规划下一步。但真正落地时很多人卡在第一步本地怎么调Key 怎么管多模态请求怎么发这篇就聚焦这个——用 TaoToken 统一 API 通道把 Gemini 3 接进你的本地工程给出可复制的 config.toml 和 settings.json 骨架再跑一次多模态请求验证连通性。全程可跟做不需要你折腾多套 SDK。2. TaoToken 前置一把 Key 打通 Gemini 3 的调用通道TaoToken 在这里的角色是统一 API 网关。你不需要为每个模型单独申请 Key、单独记 endpoint、单独处理鉴权差异而是用一把 TaoToken Key通过统一的 API 地址去调用包括 Gemini 3 在内的多个模型。对本地开发来说这省掉的是模型切换时改一堆配置的麻烦。具体要准备的东西只有两样第一一个 TaoToken 账号和 API Key。注册入口在官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 登录后进控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 创建 Key。Key 只在创建时完整显示一次复制后存到本地环境变量或配置文件里别硬编码进 Git 仓库。第二确认 API 基地址。TaoToken 的 API 入口是 https://taotoken.net/api 注意这个地址不带 UTM 参数配置时直接用这个。模型对话的调试页面在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API Keys 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。注意Key 的权限和额度在控制台里可以单独设置建议给本地开发单独建一个 Key方便按项目追踪用量也方便泄露时快速吊销。如果你后续要做长期编码或 Agent 类任务可以关注 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它针对持续性的代码生成场景做了额度规划。Claude Code 相关的接入说明在 https://taotoken.net/claudecode-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 如果你同时用多个模型这个页面能帮你理清 Anthropic 系模型的接法。3. 可复制配置config.toml 与 settings.json 骨架本地接入的核心是把 base_url、api_key、model 三个字段填对。下面给两份骨架一份 TOML 一份 JSON按你项目的配置习惯选一份用。先看 config.toml适合 Python 项目或需要结构化配置的场景# config.toml [llm] provider taotoken base_url https://taotoken.net/api api_key sk-你的TaoTokenKey model gemini-3-pro timeout 60 max_retries 2 [llm.multimodal] enabled true image_max_size_mb 10 supported_types [image/png, image/jpeg, image/webp]再看 settings.json适合 Node.js、VS Code 插件或需要 JSON 配置的工具链{ llm: { provider: taotoken, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoTokenKey, model: gemini-3-pro, timeout: 60000, multimodal: { enabled: true, imageMaxSizeMb: 10, supportedTypes: [image/png, image/jpeg, image/webp] } } }两个文件里的关键字段说明一下。base_url 固定用 https://taotoken.net/api 不要加斜杠结尾也不要带 UTM 参数。api_key 从控制台复制建议用环境变量注入而不是写死在文件里比如在 shell 里 export TAOTOKEN_API_KEYsk-...配置里写 ${TAOTOKEN_API_KEY}。model 字段填 gemini-3-pro如果你要用 Deep Think 模式按文档里的模型名替换。timeout 给 60 秒多模态请求尤其是带图或视频的响应时间会比纯文本长别设太短。提示如果你在 VS Code 里用 Code Assist 类插件settings.json 的路径通常在项目根目录的 .vscode/ 下或者用户级的 settings.json。改完重启插件生效。配置写好后先别急着跑多模态用一次纯文本请求确认通道通。下面这段 Python 代码可以直接复制import os import requests api_key os.environ.get(TAOTOKEN_API_KEY) base_url https://taotoken.net/api headers { Authorization: fBearer {api_key}, Content-Type: application/json } payload { model: gemini-3-pro, messages: [ {role: user, content: 用一句话说明多模态推理是什么} ] } resp requests.post(f{base_url}/v1/chat/completions, headersheaders, jsonpayload, timeout60) print(resp.status_code) print(resp.json())跑通后返回 200 和一段文本说明 Key、base_url、model 三个字段都对。如果返回 401检查 Key 是否复制完整返回 404检查 base_url 是否多了斜杠或路径写错。4. 验证请求发一次多模态请求确认连通纯文本通了之后上多模态。Gemini 3 的多模态输入支持图像、视频、音频这里用图像做演示因为最容易准备素材。请求体里 content 从字符串变成数组每个元素带 type 字段。import os import base64 import requests api_key os.environ.get(TAOTOKEN_API_KEY) base_url https://taotoken.net/api # 读取本地图片并转 base64 with open(./product.jpg, rb) as f: img_b64 base64.b64encode(f.read()).decode(utf-8) headers { Authorization: fBearer {api_key}, Content-Type: application/json } payload { model: gemini-3-pro, messages: [ { role: user, content: [ {type: text, text: 这张图里是什么产品给我三条推广文案每条不超过20字。}, {type: image_url, image_url: {url: fdata:image/jpeg;base64,{img_b64}}} ] } ] } resp requests.post(f{base_url}/v1/chat/completions, headersheaders, jsonpayload, timeout90) print(resp.status_code) data resp.json() print(data[choices][0][message][content])成功的结果长这样状态码 200返回内容里包含对图片的描述加三条文案。如果图片是产品照模型会先识别出品类再生成文案。这一步跑通说明多模态通道完全可用。如果你不想写代码也可以直接在模型对话页面 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 上传图片测试效果一样适合先验证再写代码。注意base64 编码会让请求体变大图片超过 10MB 时建议先压缩或者用 URL 方式传图如果模型支持。本地开发阶段压缩到 1-2MB 足够验证。5. 本篇常见错排查401、404、超时、模型名不对接入过程中最容易踩的坑集中在这几类按报错码对号入座。401 UnauthorizedKey 不对或没带上。检查 Authorization 头是不是 Bearer sk-... 格式中间有空格检查环境变量是否真的注入成功可以在代码里 print(os.environ.get(TAOTOKEN_API_KEY)) 确认检查 Key 是否在控制台被吊销或额度用完。404 Not Foundbase_url 或路径写错。base_url 必须是 https://taotoken.net/api 后面拼 /v1/chat/completions。常见错误是 base_url 写成 https://taotoken.net/api/ 带尾斜杠或者拼成 /v1/chat/completion 少个 s。超时多模态请求默认给 60 秒可能不够带图或视频的请求给到 90-120 秒。如果还是超时检查图片大小base64 后体积膨胀约 33%10MB 图编码后约 13MB网络传输慢就会超时。模型名不对model 字段填 gemini-3-pro不要填 gemini-3 或 gemini3。如果要用 Deep Think 模式按接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 里的模型名替换。模型名写错通常返回 400 或 404报错信息里会提示 model not found。配置不生效改了 settings.json 但插件没反应先重启插件或 IDE改了 config.toml 但代码读的是旧值检查是否有缓存或环境变量覆盖了文件配置。环境变量优先级通常高于配置文件确认没有冲突。提示排障时先用纯文本请求确认通道再上多模态。纯文本通、多模态不通问题在请求体格式或图片编码纯文本都不通问题在 Key 或 base_url。6. 下一步把 Gemini 3 接进你的工作流配置和验证跑通后接下来就是把它用起来。几个方向供参考做多模态应用的可以把上面的请求封装成函数传入图片路径和 prompt 模板批量处理商品图或文档扫描件写代码的把 settings.json 配到 VS Code 的 Code Assist 里输入需求让它生成代码骨架做企业文档处理的把大量 PDF 转成图片或文本后批量送进模型做摘要和问题提取。如果你要长期跑编码或 Agent 任务建议单独看一下 Coding Plan https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 它针对持续性调用做了额度规划比按次调用更划算。Key 的管理和轮换在 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 接入细节和模型列表在文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。实测下来从建 Key 到跑通多模态请求顺利的话十分钟内能完成。最容易卡住的地方是 base_url 写错和图片编码格式不对这两处按上面的排查清单过一遍基本能解决。