用 Python 接生图接口:从同步到异步并发的完整演进
Python 怎么调 AI 生图 API三十行跑通 nano banana pro含重试与异步并发网上 Python 调图像生成接口的例子大多绑死某一家 SDK换个服务就得重写。其实完全不用 SDK——该服务兼容 OpenAI 的chat/completions协议requests一个库就够了。这篇给一份能直接抄进项目的实现同步版三十行跑通再补上重试和asyncio并发。一、接口信息项值Base URLhttps://API_HOST接口POST /v1/chat/completions鉴权Authorization: Bearer {你的API密钥}数据格式application/jsonUTF-8二、最小实现importosimportrequests ENDPOINThttps://API_HOST/v1/chat/completionsdefgenerate(prompt:str,model:strnano-banana-pro,timeout:int120)-dict:调 AI 绘画API 出图。生图慢timeout 一定要给足。resprequests.post(ENDPOINT,headers{Authorization:fBearer{os.environ[TTQ_API_KEY]},Content-Type:application/json,},json{model:model,messages:[{role:user,content:prompt}]},timeouttimeout,)resp.raise_for_status()returnresp.json()if__name____main__:datagenerate(白底电商主图无线蓝牙耳机居中构图柔和顶光)print(data)两个新手最容易踩的坑密钥别写死在代码里走环境变量别提交进仓库timeout别用默认值——requests默认是不超时的网络一抖请求就永久挂住跑批时整个进程卡死。三、加重试生图 API偶发 5xx 和网络抖动是常态没有重试的批量脚本基本跑不完importtimefromrequests.exceptionsimportRequestExceptiondefgenerate_with_retry(prompt:str,model:strnano-banana-pro,attempts:int3)-dict:lastNoneforiinrange(attempts):try:returngenerate(prompt,model)exceptRequestExceptionase:laste# 指数退避2s、4s、8s。别用固定间隔服务端抖动时会同时重试放大压力time.sleep(2**(i1))raiselast注意只对网络异常和 5xx重试。4xx 是请求本身有问题密钥错、参数错、积分不足重试多少次都一样白白浪费时间。四、异步并发批量出图用asynciohttpx比多线程干净得多用信号量把并发压在配额之内importasyncioimporthttpxasyncdefbatch_generate(prompts:list[str],model:strnano-banana2,workers:int16):semasyncio.Semaphore(workers)# 同时在飞的请求数headers{Authorization:fBearer{os.environ[TTQ_API_KEY]}}asyncwithhttpx.AsyncClient(timeout120)asclient:asyncdefone(idx:int,prompt:str):asyncwithsem:try:rawaitclient.post(ENDPOINT,headersheaders,json{model:model,messages:[{role:user,content:prompt}],})r.raise_for_status()returnidx,r.json()exceptException:returnidx,None# 失败留空跑完统一挑出来重试resultsawaitasyncio.gather(*(one(i,p)fori,pinenumerate(prompts)))out[None]*len(prompts)foridx,datainresults:out[idx]datareturnout结果按下标写回是关键——跑完一眼就能定位哪几条失败不用整批重来。workers按自己配额调16 起步比较稳。五、模型怎么选model字段直接换字符串函数签名都不用动模型代码说明消耗nano-banana2Flash 级速度快适合跑量8 积分/次nano-banana-proPro 级支持 1K/2K/4K10 积分/次gpt-image-2细节质感好适合终稿按次计费Veo 3.1 视频生成/Sora 2生视频120 / 130 积分/次实践上的分工批量草稿用nano-banana2终稿切nano-banana-pro或gpt-image-2再出一版对比挑最好的用。六、小结Python 接生图接口的要点就四条密钥走环境变量、timeout给足、只对 5xx 重试、并发用信号量压住。该服务的 OpenAI 兼容协议让 Python 侧完全不需要 SDKrequests或httpx直接调。模型全nano banana pro、gpt-image-2、Veo 3.1、Sora 2 一个密钥全接、价格便宜积分制明码标价、并发高、出图快、稳定。接口服务甜甜圈APIdashengfenshen.cn

相关新闻

Cursor、Copilot 和 Claude Code,工作流先从上下文边界改起

Cursor、Copilot 和 Claude Code,工作流先从上下文边界改起

Cursor、Copilot 和 Claude Code,工作流先从上下文边界改起 AI 编程助手的差异不只在模型。它们能读哪些文件、如何调用命令、修改后怎样复核,决定了最终产出是否可控。先整理工作流,再比较“谁写得快”。 给任务一份最小上下文 需求、相关文…

2026/10/4 18:21:10 阅读更多 →
KeySync+Codex安装配置全攻略:从报错解决到电商素材生成实战

KeySync+Codex安装配置全攻略:从报错解决到电商素材生成实战

你肯定遇到过这种情况:手里有一张产品照片,想快速生成一套电商用的商品图和详情页,但要么得花大半天时间在PS里折腾,要么得找设计师沟通、等排期、来回修改。效率低,成本高,还未必能一次满意。最近&#xf…

2026/10/11 10:33:45 阅读更多 →
Linux数据恢复实战:rm -rf误删后的急救指南与预防策略

Linux数据恢复实战:rm -rf误删后的急救指南与预防策略

“完了,我好像把生产环境的数据库目录删了。”凌晨三点,当你在终端里敲下那个看似无害的rm -rf /data/backup/*,却因为一个多余的空格或路径补全,眼睁睁看着屏幕飞速滚过/data/backup /data/db的删除日志时,那种瞬间涌…

2026/10/6 18:09:26 阅读更多 →

最新新闻

Electron + Vue 项目结构搭建:主进程、渲染进程与IPC通信实践

Electron + Vue 项目结构搭建:主进程、渲染进程与IPC通信实践

我最早是在做一个后台管理系统的时候碰上了 Electron。当时需求很明确:系统本身是 Vue 写好的网页,但客户希望在 Windows 桌面上能直接双击打开、离线可用、还能调用一些浏览器里做不了的系统能力,比如文件拖拽和本地目录读写。如果单独做一套…

2026/10/15 2:49:27 阅读更多 →
生成函数在算法竞赛中的应用:解锁计数与递推难题

生成函数在算法竞赛中的应用:解锁计数与递推难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:49:27 阅读更多 →
ASM1083数据表解读:PCIe转PCI桥片硬件设计与调试指南

ASM1083数据表解读:PCIe转PCI桥片硬件设计与调试指南

简介:ASM1083 PCIe转PCI芯片数据表面向硬件工程师、嵌入式开发者与主板维修人员,用于解决PCIe接口与传统PCI设备之间的桥接设计问题。该芯片由ASMedia出品,支持x1至x16多种PCI Express lanes,数据传输速率最高2.5Gb/s,…

2026/10/15 2:49:27 阅读更多 →
JUnitCore方法级运行为何比类级更慢?揭秘Runner生命周期开销

JUnitCore方法级运行为何比类级更慢?揭秘Runner生命周期开销

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:49:27 阅读更多 →
U8g2单色屏图形库应用笔记:移植、中文显示与刷新提速

U8g2单色屏图形库应用笔记:移植、中文显示与刷新提速

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 2:49:27 阅读更多 →
ESXi 升级到 8.0 后 VM 快照删不掉?一篇讲透 “in progress“ 死循环的 3 种解法

ESXi 升级到 8.0 后 VM 快照删不掉?一篇讲透 “in progress“ 死循环的 3 种解法

本文适用版本:ESXi 7.0 U3 → 8.0 U2 升级场景(vSphere 6.7 升级也会遇到) 阅读时长:约 8 分钟 难度:⭐⭐⭐(操作不可逆,生产 VM 强烈建议先备份再动)一、为什么写这篇文章?最近私信里又有几位网友问:ESXi 7.0 升到 8.0 之后,VM 的快照怎么都删不掉,vSphere Client 里一直显示…

2026/10/15 2:48:27 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →