<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ALLENREN (Allen)</title>
    <link>https://beta.w2solo.com/ALLENREN</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Nano Banana 2 APi 推荐！支持原生格式，0.065/张（附完整接入教程）</title>
      <description>&lt;h2 id="Nano Banana 2 正式发布：谷歌在图像生成领域的“性价比革命”"&gt;
&lt;a href="https://grsai.ai/zh/dashboard/documents/nano-banana" rel="nofollow" target="_blank" title=""&gt;Nano Banana 2&lt;/a&gt; 正式发布：谷歌在图像生成领域的 “性价比革命”&lt;/h2&gt;
&lt;p&gt;谷歌真的很喜欢大半夜悄咪咪发布一个新模型，Google DeepMind 刚发完 Gemini 3.1 Pro， 又推出新模型——Nano Banana 2（Gemini 3.1 Flash Image）。Nano Banana 2 不是简单的迭代，而是 Google 把 Pro 级的工作室级别的创意能力和 Flash 级的闪电速度结合，彻底解决 “要质量就慢、要速度就糊” 的痛点，成为目前最强性价比的图像生成与编辑模型！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/4b269c1b65e4b4df35defdef171c1dee.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;在实际应用中，Nano Banana 2 的响应速度远超 Nano Banana Pro，同时图像输出分辨率从上一代的 2K 提升至最高 4K，能够处理更加复杂的提示内容 。&lt;/p&gt;

&lt;p&gt;本文深度解析模型升级亮点，并附上 Gemini 官方与 Ai 大模型源头 API Grsai 的调用方法及普通用户使用教程，无论你是普通用户还是开发者，都能找到最适合的上手路径。&lt;/p&gt;
&lt;h3 id="能力跃升：从“画得像个啥”到“精准表达”"&gt;能力跃升：从 “画得像个啥” 到 “精准表达”&lt;/h3&gt;
&lt;p&gt;Nano Banana Pro 到 Nano Banana 2 其升级主要集中在以下三个维度：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  画质与细节拉满：支持原生 4K 输出，光影更自然、纹理更丰富、细节更清晰。中文文字渲染大幅改进，几乎告别乱码；复杂提示词理解能力显著提升，严格遵循用户指令。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/f5e0fb4ff72634556132f6c98e28ea82.png" title="" alt=" "&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  主体一致性：对于需要角色一致性的设计师来说 “变脸” 不像一直是痛点，Nano Banana 2 在这方面有了显著突破：它支持在多达 5 个角色之间保持特征高度一致，并能在单张画面中融合高达 14 个对象的高保真呈现 ，不用担心莫名其妙地 “换了张脸”。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/59f8b21769c46fe7f3111a7fb323ebc4.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/11ce8b24c4f68cf8e8a22f5d81fef1a0.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  实时搜索世界知识：集成 Gemini 实时搜索和庞大知识库，生成内容更懂现实、更贴合时事&lt;/li&gt;
&lt;li&gt;  编辑能力更强：对于开发者而言，Nano Banana 2 带来的不仅是性能提升，更是高度的可控性。新模型新增了从 512px 到 4K 的多档分辨率选项，以及 4:1、1:4、8:1 等超宽画幅比例 。其中 512px 的低分辨率档专门为高并发、低延迟场景设计，适合快速迭代或生成缩略图。
&lt;img src="https://f.vue2.net/images/2026/03/04/a7c0d201b4d03a950eebab139b6965ed.png" title="" alt=" "&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="Nano Banana 2 API调用实战"&gt;Nano Banana 2 API 调用实战&lt;/h2&gt;&lt;h3 id="官方渠道"&gt;官方渠道&lt;/h3&gt;
&lt;p&gt;谷歌官方已通过 Google AI Studio 和 Gemini API 开放了 Nano Banana 2 的调用。Nano Banana 2 的图片生成价格为 $0.0672/张，是 Nano Banana Pro（$0.134/张）的一半 。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  进入 &lt;a href="https://aistudio.google.com/" rel="nofollow" target="_blank"&gt;https://aistudio.google.com/&lt;/a&gt; 或 Vertex AI 控制台&lt;/li&gt;
&lt;li&gt;  创建 API Key&lt;/li&gt;
&lt;li&gt;  安装 SDK：pip install google-genai&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from google import genai
from google.genai import types
import PIL.Image
from io import BytesIO
 
client = genai.Client(api_key="你的_API_KEY")
 
response = client.models.generate_content(
    model="gemini-3.1-flash-image-preview",  # Nano Banana 2 官方模型ID
    contents=["生成一张未来赛博朋克城市夜晚的 4K 图片，霓虹灯反射在湿漉漉的街道上，飞车穿梭"],
    # 支持 image-to-image 编辑时加上 parts=[types.Part.from_bytes(...)]
)
 
for part in response.candidates[0].content.parts:
    if part.inline_data:
        image = PIL.Image.open(BytesIO(part.inline_data.data))
        image.save("nano_banana_2_output.png")
        print("生成完成！")
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="Gemini源头APi——Grsai APi"&gt;Gemini 源头 APi——Grsai APi&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Grsai APi&lt;/a&gt;（&lt;a href="https://grsai.ai/" rel="nofollow" target="_blank"&gt;https://grsai.ai/&lt;/a&gt;  com 域名需要魔法，没有改成 ai 国内可访问）作为海外主流 AI 模型的源头聚合平台，Grsai 去除了中间环节，价格比官方更低。针对国内开发者直连谷歌 API 的网络延迟和高并发难题，Grsai 提供高并发支持、失败秒退保障，模型效果与官方一致，且兼容 Gemini 格式调用，帮你大幅降低总拥有成本。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Nano Banana 2 价格：0.065 元/张（美元 0.009/张，远低于官方的 $0.0672）&lt;/li&gt;
&lt;li&gt;  失败返还：调用失败或违规都返还积分不扣费&lt;/li&gt;
&lt;li&gt;  高并发支持：支持大流量产品和高并发请求&lt;/li&gt;
&lt;li&gt;  存储库：将资源上传到 Grsai 的存储库节省流量，目前支持存储平台为七牛云、阿里云、腾讯云、Cloudflare。&lt;/li&gt;
&lt;li&gt;  更多热门模型：Nano banana pro——0.09/张，Nano banana——0.022/张，Gpt image 1.5——0.02/张，Veo3.1/Veo3.0，Gemini 3.1 pro，Gemini 3.0 pro，Gemini 2.5 pro
&lt;img src="https://f.vue2.net/images/2026/03/04/a9a7a1c6bfa4b50c703a32db0f5b4575.png" title="" alt=" "&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="Nano Banana 2 APi调用实战"&gt;Nano Banana 2 APi 调用实战&lt;/h2&gt;
&lt;p&gt;Grsai 的 Nano banana 统一调用方式，切换模型只需要修改模型名称与后台一致即可。&lt;/p&gt;
&lt;h3 id="1.查看Api文档接入模型"&gt;1.查看 Api 文档接入模型&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  访问 Grsai 官网&lt;a href="https://grsai.comcom%E5%9F%9F%E5%90%8D%E8%A6%81%E9%AD%94%E6%B3%95%EF%BC%8C%E6%B2%A1%E6%9C%89%E6%94%B9ai%EF%BC%89" rel="nofollow" target="_blank"&gt;https://grsai.comcom 域名要魔法，没有改 ai）&lt;/a&gt;（&lt;/li&gt;
&lt;li&gt;  创建 API key：&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt;（com 域名要魔法，没有改 ai）
&lt;img src="https://f.vue2.net/images/2026/03/04/ef268160a0bb7f534fa4aedb63049189.png" title="" alt=" "&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2. API 调用说明"&gt;2. API 调用说明&lt;/h3&gt;
&lt;p&gt;节点信息&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  海外节点：&lt;a href="https://api.grsai.com" rel="nofollow" target="_blank"&gt;https://api.grsai.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  国内直连（base url）：&lt;a href="https://grsai.dakka.com.cn" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;接口地址：POST /v1/draw/nano-banana&lt;/p&gt;

&lt;p&gt;请求头配置&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY" 
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Python 代码示例&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import requests
import time
 
# 配置信息
url = "https://grsai.dakka.com.cn/v1/draw/nano-banana"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer APIKEY"  # APIKEY替换为你的密钥，控制台生成
}
 
# 请求参数 - Nano Banana 2 模型
payload = {
    "model": "nano-banana-2",  # 模型名称nano-banana-pro、 nano-banana-2、Nano-banana
    "prompt": "一只穿着宇航服的猫，在月球上喝咖啡，电影质感，4K高清",
    "aspectRatio": "16:9",  # 支持 1:1, 16:9, 9:16, 4:3, 3:4 等比例
    "urls": [],  # 可选，参考图URL
    "webHook": "-1"  # 设为"-1"立即返回任务ID，用于轮询
}
 
# 发送请求
response = requests.post(url, json=payload, headers=headers)
task_data = response.json()
print(f"任务ID: {task_data['id']}")
 
# 轮询获取结果
result_url = "https://api.grsai.com/v1/draw/result"
result_payload = {"id": task_data['id']}
 
while True:
    result_response = requests.post(result_url, json=result_payload, headers=headers)
    result = result_response.json()
    
    if result['progress'] == 100:  # 生成完成
        print("生成成功!")
        for img in result['results']:
            print(f"图片URL: {img['url']}")  # URL有效期2小时 [citation:2]
        break
    elif result['status'] == 'failed':
        print(f"生成失败: {result['failure_reason']}")
        break
    else:
        print(f"生成中... 进度: {result['progress']}%")
        time.sleep(2)  # 每2秒查询一次
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;调用成功后，系统会返回任务 ID，你可以通过轮询或 webHook 方式获取生成结果。详细的结果查询代码可参考 Grsai 官方文档。&lt;/p&gt;
&lt;h3 id="3.兼容Gemini 官方格式"&gt;3.兼容 Gemini 官方格式&lt;/h3&gt;
&lt;p&gt;Grsai 的接口也支持 Gemini 官方格式 ，如果你之前已经在使用官方 API，只需：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  将基础地址替换为 Grsai 的节点地址&lt;/li&gt;
&lt;li&gt;  将模型名称改为对应的 Grsai 模型名（如 nano-banana-2，nano-banana-pro....）     示例：&lt;a href="https://grsai.dakka.com.cn/v1beta/models/nano-banana-2:streamGenerateContent" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1beta/models/nano-banana-2:streamGenerateContent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  根据官方开发文档调用模型：&lt;a href="https://ai.google.dev/gemini-api/docs" rel="nofollow" target="_blank"&gt;https://ai.google.dev/gemini-api/docs&lt;/a&gt;
&lt;img src="https://f.vue2.net/images/2026/03/04/9f1fde74150f7026aad78b80db40b183.png" title="" alt=" "&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="普通用户使用教程"&gt;普通用户使用教程&lt;/h3&gt;
&lt;p&gt;Grsai 提供免费批量生成工具，只需要配置 grsai 的 APikey 普通用户也能使用 Nano Banana 2。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  生成失败积分自动返还，不用担心浪费&lt;/li&gt;
&lt;li&gt;  所有生成记录日志随时查看和下载（有效期两小时）&lt;/li&gt;
&lt;li&gt;  支持高并发，几百张图也能快速完成&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;访问&lt;a href="https://image.grsai.ai/" rel="nofollow" target="_blank" title=""&gt;Image.grsai.ai&lt;/a&gt;，这是 Grsai 专为普通用户提供的开源批量生成工具，可在线使用 Nano Banana 2 进行批量生图下载操作。
&lt;img src="https://f.vue2.net/images/2026/03/04/531a39e33d04e2080acb4f466fb53df9.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;1.Grsai 控制台（&lt;a href="https://grsai.ai/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.ai/zh/dashboard/api-keys&lt;/a&gt;）生成一个 APikey，复制&lt;/p&gt;

&lt;p&gt;2.打开&lt;a href="http://image.grsai.ai/" rel="nofollow" target="_blank" title=""&gt;Image.grsai.ai&lt;/a&gt; 右上角黏贴 APikey&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/ac42ee42591ef845cc6351027261fd8d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;3.选择模型输入提示词即可生成&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;Nano Banana 2 这一波操作不要太卷，直接把价格打下来、速度拉满，让你用着用着就离不开它。Pro 级的画质 +Flash 级的速度 + 腰斩的价格，这套组合拳下来，已经成了大部分设计师的最优生产工具选择。&lt;/p&gt;

&lt;p&gt;对开发者来说，成本大幅度降低，客单价降低价格更能被用户接受。想要 Nano Banana 2 APi 性价比拉满、国内访问还顺畅的，Grsai 这种聚合平台也给你安排得明明白白。反正不管走哪条路，&lt;a href="https://grsai.com/zh/dashboard/documents/nano-banana" rel="nofollow" target="_blank" title=""&gt;Nano Banana 2&lt;/a&gt; 的能力都已经摆在你面前了，接下来就看你打算用它做点啥。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Wed, 04 Mar 2026 21:30:05 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6986</link>
      <guid>https://beta.w2solo.com/topics/6986</guid>
    </item>
    <item>
      <title>开发&amp;小白不用愁：Gemini 3.1 Pro API 接入（支持原生）+ Cherry Studio 配置，一篇全搞定</title>
      <description>&lt;p&gt;Gemini 3.1 Pro 你用上没？谷歌说推理能力比 Gemini 3 Pro 提升了一倍以上，有没有那么厉害？本文将全面介绍 Gemini 3.1 Pro 的核心能力以开发者如何调用 Gemini 3.1 Pro API，普通用户如何快速使用。
&lt;img src="https://f.vue2.net/images/2026/03/04/effaeee70ccc777bffe0b5095ede8007.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="一、Gemini 3.1 Pro打造全能型推理大脑"&gt;一、Gemini 3.1 Pro 打造全能型推理大脑&lt;/h2&gt;&lt;h3 id="ARC-AGI-2 到底再测什么，77%意味什么？"&gt;ARC-AGI-2 到底再测什么，77% 意味什么？&lt;/h3&gt;
&lt;p&gt;Gemini 3.1 Pro 在极具挑战性的 ARC-AGI-2 基准测试中，取得了 77.1% 的得分，推理性能比上一代产品提升了一倍以上。三个月前的 Gemini 3 Pro 拿了 31.1%，放在当时不算差。但这次 3.1 Pro 直接干到 77.1%，同样主攻推理路线的 OpenAI o1 和 GPT-5.2，在这项测试里只有 52.9%。&lt;/p&gt;

&lt;p&gt;这个基准测试考的不是知识储备，而是推理能力。这项测试的特别之处在于：它只给你几个网格图案作为 “例题”，需要你自己推导出背后的变换规则，然后应用到全新的图案上。&lt;/p&gt;

&lt;p&gt;对人类来说这种推理几乎凭直觉就能完成，而 AI 却没法靠死记硬背，也没法用统计猜答案——必须真的理解逻辑。正因为卡在了 “人类擅长、AI 不擅长” 的地方，ARC-AGI 一直被看作衡量通用人工智能（AGI）进程的重要标尺。&lt;/p&gt;

&lt;p&gt;77.1% 这个数字背后，是 Google 找到了规模化推理能力的有效路径。 当别的模型还在靠堆参数硬扛时，Gemini 3.1 Pro 已经在 “理解逻辑、推演规则” 遥遥领先。&lt;img src="https://f.vue2.net/images/2026/03/04/64b87ecc8948ca7d8e9a268d6c4bcfc8.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h3 id="三级思考模式怎么个省钱法？"&gt;三级思考模式怎么个省钱法？&lt;/h3&gt;
&lt;p&gt;过去的 Gemini 模型在只有两个档位——快速应答（Fast）和深度推理（Deep Think）。要么秒回，要么思考一大串半天才输出想要的内容。&lt;/p&gt;

&lt;p&gt;Gemini 3.1 Pro 增加了一个中间档位，升级了成了三级思考系统。开发者可以在 “thinking_level” 参数灵活切换低、中、高三档，每个档位在内部都有一个 “思考 Token” 的预算，这直接决定了模型会花多少精力进行内部推理。在处理简单的 API 调用时，使用低档位来节省延迟和成本；遇到复杂调试时，则切换到高 档位。&lt;img src="https://f.vue2.net/images/2026/03/04/ccbafd2e272f38fbf7c5f69361a67511.png" title="" alt=" "&gt;Low (低)：快速响应模式，思考 Token 预算最低，模型凭直觉快速应答，适合日常简单任务。模型会基于直觉和训练数据，给出最直接的答案，思考过程最短，相比上一代的 Fast 模式，响应速度更快，成本更低——简单任务上，比用高 档位能省下 60%-80% 的推理成本。&lt;/p&gt;

&lt;p&gt;Medium (中)：平衡推理模式，思考 Token 预算适中，进行中等深度逻辑分析。模型会进行中等深度的逻辑分析，其推理质量相当于上一代模型 (Gemini 3 Pro) 的 “高” 档位，但成本只有那款的 40% 左右。这意味着你可以用更少的钱，办和以前一样复杂的事。&lt;/p&gt;

&lt;p&gt;High (高)：深度推理模式 (Deep Think Mini)，思考 Token 预算最高，适合专业复杂任务。模型会激活类似 “Deep Think” 的强大推理引擎，进行极其深入的多步骤思考，以达到最佳效果。虽然成本比中低档位高，但相比上一代的 Deep Think 模式，同等深度下成本降低了约 30%——因为架构优化了，钱花得更值。&lt;img src="https://f.vue2.net/images/2026/03/04/f5cdfd6896a54b4b5704862a3839269d.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h3 id="多模态原生支持，感知维度的全面扩展"&gt;多模态原生支持，感知维度的全面扩展&lt;/h3&gt;
&lt;p&gt;无需预处理，原生理解：模型原生支持文本、图像、音频、视频、PDF 和代码，无需 OCR 或预处理工具。上传含图表的研究论文，模型能同时读取文字和理解图表；输入代码，能同步分析逻辑和注释。&lt;/p&gt;

&lt;p&gt;跨模态信息无缝融合：真正的多模态意味着能在不同模态间建立联系。Gemini 3.1 Pro 可对视频画面、音频解说和文字字幕进行交叉推理，让复杂任务的理解建立在更丰富的感知维度之上。&lt;img src="https://f.vue2.net/images/2026/03/04/05736bc1c1f65e5bb0af634b52678d6b.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h3 id="更低的幻觉率，知道自己不知道什么"&gt;更低的幻觉率，知道自己不知道什么&lt;/h3&gt;
&lt;p&gt;AA-Omniscience Index 跃升：该指标衡量模型的 “自知之明” 也就是对自身知识边界的认知（抗幻觉）。Gemini 3.1 Pro 从上一代 13 分跃升至 30 分，位居主流模型第一——这意味着它拒绝回答不熟悉问题的准确率更高，在擅长领域给出错误信息的概率更低，减少胡说八道的概率。&lt;/p&gt;

&lt;p&gt;对专业推理的意义：在代码调试、学术研究等严谨场景，“不知道” 比 “乱猜” 更安全。这种能力源于模型对知识边界的清晰建模，在 HIGH 档位下，模型会花更多时间进行内部验证，进一步降低关键任务的幻觉风险。&lt;/p&gt;
&lt;h3 id="二、Gemini 3.1 Pro的真实表现："&gt;二、Gemini 3.1 Pro 的真实表现：&lt;/h3&gt;
&lt;p&gt;代码生成 SVG 动画 &lt;/p&gt;

&lt;p&gt;只需一句简短的文字描述，Gemini 3.1 Pro 能根据文本指令为网站生成 CSS/JavaScript/SVG 代码形式的动画 SVG 。以前需要以视频或 GIF 形式呈现的动画，现在可以使用 3.1 Pro 直接以代码形式生成，开发人员可以轻松调整细节也可以直接应用。这些矢量动画无限缩放依然锐利无比，文件体积极小，远轻于传统视频或 GIF，完美适合网页嵌入。&lt;img src="https://f.vue2.net/images/2026/03/04/cb9ed63f1136094f0c01d3297d2982f3.png" title="" alt=" "&gt;整合复杂系统 &lt;/p&gt;

&lt;p&gt;Gemini 3.1 Pro 像个全能的 “翻译 + 技术” 中间人。你只需说 “做个空间站实时看板”，它就能自动听懂需求，主动去对接那些晦涩的航天数据 API，把复杂的专业代码瞬间转化成带电量表和 3D 模型的直观界面。整个过程无需写代码，自己就把从技术到设计的事全干了。&lt;img src="https://f.vue2.net/images/2026/03/04/c4a01ff7abe6e0ac448d969147cf1ce1.png" title="" alt=" "&gt;交互设计&lt;/p&gt;

&lt;p&gt;Gemini 3.1 Pro 能生成复杂的 3D 椋鸟群舞动画，打造沉浸式体验。它基于 3D 算法模拟椋鸟群飞，用户可通过手部追踪技术实时操控鸟群飞行方向与轨迹。鸟群运动时，系统还会同步生成动态配乐，将视觉与听觉融合，为交互设计与创意编程提供了高效的原型验证。&lt;img src="https://f.vue2.net/images/2026/03/04/19da1ddd8b26a79eb140b27151c910e8.png" title="" alt=" "&gt;创意编程 &lt;/p&gt;

&lt;p&gt;Gemini 3.1 Pro 能将文学意境直接转化为可运行的网页代码。比如让它为《呼啸山庄》设计一个现代风格的个人主页，模型不只是复述情节，而是深入抓住原著那种压抑、狂野又深沉的情感基调，把主角的灵魂底色完美呈现出来。这不只是代码生成，而是 AI 真正读懂并诠释了文学内核。&lt;img src="https://f.vue2.net/images/2026/03/04/6ae408daa231cefcc36d9fe412393fbc.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="三、如何使用 Gemini 3.1 Pro ，低价调用官方API"&gt;三、如何使用 Gemini 3.1 Pro ，低价调用官方 API&lt;/h2&gt;
&lt;p&gt;开发者可以通过&lt;a href="https://aistudio.google.com/" rel="nofollow" target="_blank" title=""&gt;Google Ai studio&lt;/a&gt;使用预览版进行构建，普通用户则可以通过 Gemini APP 或官网：&lt;a href="https://gemini.google.com/" rel="nofollow" target="_blank"&gt;https://gemini.google.com/&lt;/a&gt; 但目前优先给 Pro 和 Ultra 用户使用。有没有其它方法免费体验，当然有往下看！&lt;img src="https://f.vue2.net/images/2026/03/04/52ec5c4c18945740e46a427e814416c4.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="Gemini官方源头API——Grsai"&gt;Gemini 官方源头 API——Grsai&lt;/h2&gt;
&lt;p&gt;虽然 Gemini 3.1 Pro 的 API 定价与上代 3.0 Pro 持平（输入 2 美元/M tokens，输出 12 美元/M tokens），但这个价位对个人用户和企业来说仍不算低。市面上的第三方 API 往往价格虚高，存在中间商赚差价。其实你可以直接调用 Gemini 的源头 API——GrsAi（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com&lt;/a&gt;，需魔法；com 改 AI 可国内直连），能以比官方更低的价格调用 Gemini-3.1-Pro、Nano Banana Pro（绘图）等模型。&lt;img src="https://f.vue2.net/images/2026/03/04/b80b28eda72dc97016520ff2080031af.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;画图模型：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Nano Banana 2—— 0.065/张&lt;/li&gt;
&lt;li&gt;  Nano Banana Pro—— 0.09/张&lt;/li&gt;
&lt;li&gt;  Gpt-image-1.5——0.02/张&lt;/li&gt;
&lt;li&gt;  Nano Banana——0.022/张&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;对话模型：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Gemini-3.1-Pro：input￥1~￥2 /M tokens，output ￥6~￥12 /M tokens&lt;/li&gt;
&lt;li&gt;  Gemini-3-Pro：input￥1~￥2 /M tokens，output ￥6~￥12 /M tokens&lt;/li&gt;
&lt;li&gt;  Gemini-2.5-Pro：input￥1.25~￥2.25 /M tokens，output ￥6.25~￥12.5 /M tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;视频模型：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Sora2——0.08/条&lt;/li&gt;
&lt;li&gt;  Veo3.1——0.4/条&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;更多模型版本请看模型列表：&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt; （需要魔法，没有 com 改 ai）&lt;/p&gt;
&lt;h2 id="四、开发接入Gemini 3.1 Pro APi教程"&gt;四、开发接入 Gemini 3.1 Pro APi 教程&lt;/h2&gt;&lt;h3 id="API节点信息"&gt;API 节点信息&lt;/h3&gt;
&lt;p&gt;Grsai 提供两种接入地址（base url），根据网络环境选择：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  海外：&lt;a href="https://grsaiapi.com" rel="nofollow" target="_blank"&gt;https://grsaiapi.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  国内直连：&lt;a href="https://grsai.dakka.com.cn" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Host+ 接口：&lt;a href="https://grsai.dakka.com.cn/v1/draw/nano-banana" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1/draw/nano-banana&lt;/a&gt;
&lt;img src="https://f.vue2.net/images/2026/03/04/c05f9a574092d43cac84142fc5ea68a6.png" title="" alt=" "&gt;
## Chat API 调用说明&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Grsai 的 Chat API 完全兼容 OpenAI 和 Gemini 格式，OpenAI 只需替换基础地址，Gemini 则需要替换基础地址和模型名称即可调用。&lt;/p&gt;
&lt;h3 id="方式一：通过Grsai调用（OpenAI兼容格式）"&gt;方式一：通过 Grsai 调用（OpenAI 兼容格式）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  原 OpenAI 接口：&lt;a href="https://api.openai.com/v1/chat/completions" rel="nofollow" target="_blank"&gt;https://api.openai.com/v1/chat/completions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  更换后的接口地址：&lt;a href="https://grsai.dakka.com.cn/v1/chat/completions" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1/chat/completions&lt;/a&gt;（以国内直连为例）&lt;/li&gt;
&lt;li&gt;  OpenAi API 文档：&lt;a href="https://platform.openai.com/docs/api-reference/chat/create?lang=curl" rel="nofollow" target="_blank"&gt;https://platform.openai.com/docs/api-reference/chat/create?lang=curl&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import openai
 
# 配置Grsai地址和密钥
client = openai.OpenAI(
    api_key="你的APIKey",
    base_url="https://grsai.dakka.com.cn/v1"  # 国内直连地址
)
 
# 调用Gemini-3.1-Pro
response = client.chat.completions.create(
    model="gemini-3.1-pro",
    messages=[
        {"role": "system", "content": "你是一个航天数据专家"},
        {"role": "user", "content": "分析国际空间站的轨道数据"}
    ],
    stream=False
)
 
print(response.choices[0].message.content)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="方式二：通过Google官方SDK调用"&gt;方式二：通过 Google 官方 SDK 调用&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  原 Gemini 接口：&lt;a href="https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-pro-preview:generateContent" rel="nofollow" target="_blank"&gt;https://generativelanguage.googleapis.com/v1beta/models/gemini-3.1-pro-preview:generateContent&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  更换后的接口地址：&lt;a href="https://grsai.dakka.com.cn/v1beta/models/gemini-3.1-pro:generateContentGrsai%E5%90%8E%E5%8F%B0%E4%B8%80%E6%A0%B7%EF%BC%89" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1beta/models/gemini-3.1-pro:generateContentGrsai 后台一样）&lt;/a&gt;  （模型名称需要和&lt;/li&gt;
&lt;li&gt;  Gemini API 官方文档：&lt;a href="https://ai.google.dev/gemini-api/docs" rel="nofollow" target="_blank"&gt;https://ai.google.dev/gemini-api/docs&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import requests
import json
 
# Grsai国内直连节点 + Gemini原生接口路径
url = "https://grsai.dakka.com.cn/v1beta/models/gemini-3.1-pro:generateContent"
 
# 你的Grsai API Key
api_key = "你的Grsai-APIKey"
 
# 请求头
headers = {
    "Content-Type": "application/json"
}
 
# 请求体（Gemini原生格式）
data = {
    "contents": [
        {
            "parts": [
                {
                    "text": "解释一下什么是矢量图"
                }
            ]
        }
    ]
}
 
# 发送请求（API Key通过URL参数传递，这是Gemini的风格）
response = requests.post(
    f"{url}?key={api_key}",
    headers=headers,
    json=data
)
 
print(response.json())
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="五、普通用户使用Gemini 3.1 Pro教程"&gt;五、普通用户使用 Gemini 3.1 Pro 教程&lt;/h2&gt;
&lt;p&gt;普通用户可以通过下载 Cherry Studio、Chatbox 等工具，将各种主流大模型统一集成到一个简洁的界面里。你只需简单配置 API，就能自由调用不同模型的服务，无需频繁切换网页或应用。这些工具的配置方法基本相似，跟着我的步骤一步步操作，你也能快速用上 Gemini 3.1 Pro。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/f7dbd878fa518915913a3bb75ab6e31b.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;下面是针对 Grsai 平台的详细配置步骤，跟着做基本 3-5 分钟就能用上 Gemini-3.1-Pro 和 Nano Banana Pro 等模型。最重要提醒：模型名称必须从 Grsai 官方开发文档（Chat API 部分）直接复制粘贴，千万不要自己手打！哪怕多一个空格或大小写不对，都会导致连接失败。
&lt;img src="https://f.vue2.net/images/2026/03/04/9271e67162289f9e93f71e7065b82429.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;1.进入设置页面：下载安装：&lt;a href="https://www.cherry-ai.com/" rel="nofollow" target="_blank" title=""&gt;Cherry Studio - 全能的多模型 AI 助手 | 免费开源&lt;/a&gt;，启动 Cherry Studio 后，点击右上角的 “设置” 图标（通常是一个齿轮形状）。
&lt;img src="https://f.vue2.net/images/2026/03/04/a20bf36003d4880e6a06d42fb6e7e1c3.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;2.添加模型服务：在设置菜单中，找到并点击 “模型服务” 点击添加，输入供应商名称（自定义随意写），模型提供商 OpenAI 和 Gemini 都支持。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/1df88c42c59fe4394d6d8566284c7680.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;3.填写供应商信息：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/fa03bff49f131e120af1855d2eb35ead.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;在 Grsai 控制台创建&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank" title=""&gt;ApiKey&lt;/a&gt;（ &lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt; com 域名访问需要魔法，没有改成 ai）复制黏贴。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/06b09d030bdbb93f1c1e747dd2bf1896.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;Cherry Studio 黏贴 ApiKey（保密不可外泄）和 APi 地址（base url）：&lt;a href="https://grsaiapi.com" rel="nofollow" target="_blank"&gt;https://grsaiapi.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/9136d36255f18704972fda265308d3e2.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;填完 Api 秘钥和地址后需要手动添加模型&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/33c574379388ca7b60b74b080062f9d0.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;填入 Grsai 后台所支持的模型名称：&lt;/p&gt;

&lt;p&gt;画图模型：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  nano-banana-fast&lt;/li&gt;
&lt;li&gt;  nano-banana-pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;提问模型：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  gemini-3-pro&lt;/li&gt;
&lt;li&gt;  gemini-3.1-pro&lt;/li&gt;
&lt;li&gt;  gemini-2.5-pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;设置完后返回助手页，选择模型使用。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/946cdbe3d37e8f99b21bb805e48e7b0a.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;配置完成后，你就可以用 Cherry Studio 使用 Gemini 3.1 pro，如果你有批量生图的需求 Cherry Studio 就不适合你，每次都需要等待对话结束才可以继续提问，你可以用 Grsai 提供的开源免费批量生图工具。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/8bc0dceeeba7b96cd1622760673a3a1d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;1.获取 APIKey：Grsai 控制台设置&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank" title=""&gt;ApiKey&lt;/a&gt;（ &lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt; com 域名访问需要魔法，没有改成 ai），复制 ApiKey
&lt;img src="https://f.vue2.net/images/2026/03/04/1a536f5bb970d311fa905ec48423c99d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;2.配置 API：打开&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank" title=""&gt;批量生图工具&lt;/a&gt;（&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank"&gt;https://image.grsai.com/&lt;/a&gt; com 域名访问需要魔法，没有改成 ai），右上角设置 APIKey，黏贴你的 API Key&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/03/04/b6e993534bdf9d54858ac26007459b1b.png" title="" alt=" "&gt;3.生成：上传图片，选择模型，尺寸输入提示词即可使用&lt;/p&gt;
&lt;h2 id="六、总结"&gt;六、总结&lt;/h2&gt;
&lt;p&gt;这次 Gemini 3.1 Pro 的升级主要是让推理能力翻倍、花费更少、幻觉更低。无论你是开发者想调用 API，还是普通用户想通过 Cherry Studi 或其他第三方工具使用 3.1 pro，不妨参考我的攻略一步步操作。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Wed, 04 Mar 2026 17:22:07 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6985</link>
      <guid>https://beta.w2solo.com/topics/6985</guid>
    </item>
    <item>
      <title>Grsai 的 Nano Banana Pro 真的稳了，不在出现超时问题！0.09 放心接（附 gemini 学生认证解法）</title>
      <description>&lt;h2 id="一、Gemini Pro 学生认证被取消后申诉方法"&gt;一、Gemini Pro 学生认证被取消后申诉方法&lt;/h2&gt;
&lt;p&gt;Gemini Pro 学生认证怎么没了？Pro 模型怎么消失了？刚买的号没用多久就被强制停止使用，怎么申诉都不通过，重新买号又面临再次被封的风险，到底怎么解决？&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/02/07/fd143aeb89ec9409b0360022e6134966.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;最近很多人遇到同样情况：买的 Gemini Pro 学生认证号，用几天就弹出 Gemini 3 Pro“优惠已取消”“账户异常”“方案已到期” 等通知，在模型选择列表里面竟然没有 Pro 的选项。有些通知带有申诉入口，运气好点申诉可以通过，运气不好回天乏力。这是因为谷歌在大规模清退 Gemini Pro 学生订阅，打击一卡多号和工具绕过认证的账号。未通过验证的用户将失去订阅权限，触碰到下面这几条红线几乎无一幸免：一张学生证绑定多个账号、节点不干净、ip 频繁切换、虚拟卡多人使用、不活跃等。
&lt;img src="https://f.vue2.net/images/2026/02/07/f5bf5663e7c920e8e8246c9adfdca714.png" title="" alt=" "&gt;
如果你也被取消学生优惠应该怎么做？真的是外国留学生你可以尝试向官方申诉，提供在校证明（手持学生证加脸部在校园拍照）。如果你是国内用户无法提供有力的证据，可以尝试文字感化客服，有概率但不保证一定能成功。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;发邮件申诉：customerservice 艾特 sheerid.com&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;联系 SheerID 支持团队填表：support.sheerid.com/zh/help-center/contact-form&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;申诉模板：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Dear Google Support Team.My Google account wassuspended for being“created or used alongsidemultiple other accounts.” lconfirm this account wasmanually registered andused solely by me -not byautomated programs, inbulk, or shared with others.I suffer from severedepression and rely on Altools like Gemini for dailypsychological regulationand cognitive training,which are vital to my well-being. Losing access hassignificantly impacted mymental health.I kindly request a review andrestoration of my account.lam ready to provide anyverification needed.Thank you&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;实在不行就只能选择别的使用渠道，\$199 的年订阅实在是太贵，折算人民币要 1380，还不算魔法的成本真的没有几个学生党和打工人能承受，所以会有很多人选择第三方镜像平台或者第三方工具继续用 Gemini 系列模型。&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="二、调用Gemini官方源头API——Grsai"&gt;二、调用 Gemini 官方源头 API——Grsai&lt;/h2&gt;
&lt;p&gt;更直接、更灵活、更省钱的路子就是直接调用 Gemini 源头 APi，而不是选择中间商赚差价的第三方平台。通过接入 Gemini 源头 APi——Grsai API（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title="https://grsai.com"&gt;https://grsai.com&lt;/a&gt; com 需要魔法，没有 com 改 Ai 国内直连），你可以用极低的成本调用 Gemini-3-Pro（提问/多模态）和 Nano Banana Pro（绘图）等模型，效果和官方一模一样，但费用完全不是一个量级：
&lt;img src="https://f.vue2.net/images/2026/02/07/67929cf1c5bd412f37c026da6e13fc8a.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Nano Banana Pro—— 0.09/张（Grsai 已对 Nano-Banana-Pro 进行优化，确保高峰期无卡顿、无超时）&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Gemini-3-Pro：input￥1~~￥2 /M tokens，output ￥6~~￥12 /M tokens&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Gpt-image-1.5——0.02/张&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Nano Banana——0.022/张&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Sora2——0.08/条&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Veo3.1——0.4/条&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;你不用付高额的订阅费用，也不用担心学生号被封。API 调用是按量付费，用多少付多少，普通用户/创作者用一年都用不到 \$199 。在 Grsai 后台 “日志” 中也能查看每条内容所产生的积分扣费，失败是否返回积分可以在模型列表中查看，每个模型均不同。
&lt;img src="https://f.vue2.net/images/2026/02/07/6d04b1f87226f687b87b0e8dbffe8ff9.png" title="" alt=" "&gt;
结合开源免费的&lt;a href="https://www.cherry-ai.com/" rel="nofollow" target="_blank" title=""&gt;Cherry Studio&lt;/a&gt;（桌面客户端需要下载安装）+&lt;a href="http://grsai.com" rel="nofollow" target="_blank" title=""&gt;Grsai API&lt;/a&gt;+ 批量生成工具，你就能实现提问 + 绘图 + 批量产图的一站式低成本方案，彻底告别网页版订阅的坑。
&lt;img src="https://f.vue2.net/images/2026/02/07/42bbc4fe1ece1ccf8dd3e11f92e0cde6.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;下面给你最清晰、一步不落的 Cherry Studio + Grsai API 配置教程，5 分钟上手，配置完就能让 Nano Banana Pro 高峰期稳稳出图、Gemini-3-Pro 秒回问题，工作效率直接起飞！&lt;/p&gt;

&lt;p&gt;###&lt;/p&gt;
&lt;h2 id="三、Cherry Studio接入 Grsai API教程"&gt;三、Cherry Studio 接入 Grsai API 教程&lt;/h2&gt;
&lt;p&gt;Cherry Studio 是一款完全开源免费的桌面 AI 客户端，支持 Windows、macOS 和 Linux 系统。它把各种主流大模型统一集成到一个简洁界面里，你只需要简单配置 API，就能自由调用不同模型的服务，无需频繁切换网页或应用。
&lt;img src="https://f.vue2.net/images/2026/02/07/f7dbd878fa518915913a3bb75ab6e31b.png" title="" alt=" "&gt;
下面是针对 Grsai 平台的详细配置步骤，跟着做基本 3-5 分钟就能用上 Gemini-3-Pro 和 Nano Banana Pro 等模型。最重要提醒：模型名称必须从 Grsai 官方开发文档（Chat API 部分）直接复制粘贴，千万不要自己手打！哪怕多一个空格或大小写不对，都会导致连接失败。
&lt;img src="https://f.vue2.net/images/2026/02/07/6af31a176b6d314046b0901ec236c0b3.png" title="" alt=" "&gt;
1.进入设置页面：下载安装：&lt;a href="https://www.cherry-ai.com/" rel="nofollow" target="_blank"&gt;https://www.cherry-ai.com/&lt;/a&gt; &lt;a href="https://www.cherry-ai.com/" rel="nofollow" target="_blank" title="Cherry Studio - 全能的多模型 AI 助手 | 免费开源"&gt;&lt;/a&gt;，启动 Cherry Studio 后，点击右上角的 “设置” 图标（通常是一个齿轮形状）。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2026/02/07/a20bf36003d4880e6a06d42fb6e7e1c3.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;2.添加模型服务：在设置菜单中，找到并点击 “模型服务” 点击添加，输入供应商名称（自定义随意写），模型提供商 OpenAI 和 Gemini 都支持。
&lt;img src="https://f.vue2.net/images/2026/02/07/1df88c42c59fe4394d6d8566284c7680.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;3.填写供应商信息：
&lt;img src="https://f.vue2.net/images/2026/02/07/fa03bff49f131e120af1855d2eb35ead.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;在 Grsai 控制台创建&lt;a href="grsai.com/zh/dashboard/api-keys" title=""&gt;ApiKey&lt;/a&gt;（ &lt;a href="grsai.com/zh/dashboard/api-keys" title=""&gt;grsai.com/zh/dashboard/api-keys&lt;/a&gt; ) com 域名访问需要魔法，没有改成 ai）复制黏贴。
&lt;img src="https://f.vue2.net/images/2026/02/07/06b09d030bdbb93f1c1e747dd2bf1896.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;Cherry Studio 黏贴 ApiKey（保密不可外泄）和 APi 地址：&lt;a href="https://grsaiapi.com" rel="nofollow" target="_blank"&gt;https://grsaiapi.com&lt;/a&gt;
&lt;img src="https://f.vue2.net/images/2026/02/07/33c574379388ca7b60b74b080062f9d0.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;填入模型名称：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;画图模型：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  nano-banana-fast&lt;/li&gt;
&lt;li&gt;  nano-banana-pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;提问模型：&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  gemini-3-pro&lt;/li&gt;
&lt;li&gt;  gemini-2.5-pro&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;设置完后返回助手页，选择模型使用。
&lt;img src="https://f.vue2.net/images/2026/02/07/b7a91d4f5cd4b37f74a6470e00477d20.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;配置完成后，Cherry Studio 就成了你的 AI 画图提问助手，但是 Cherry Studio 批量生图不方便每次都需要等待对话结束才可以继续提问，如果你有批量生图的需求 Cherry Studio 就不适合你，你可以用 Grsai 提供的开源免费批量生图工具使用教程往下看。&lt;/p&gt;
&lt;h2 id="四、Ai批量生成工具使用教程"&gt;四、Ai 批量生成工具使用教程&lt;/h2&gt;
&lt;p&gt;Grsai 提供了开源的批量生成工具，适合需要批量生图的设计师或企业。配置 APikey 即可免费使用，不限制并发数量任务同时生成，可以批量下载。但需要注意图片视频只能保存两小时，任务最多 200 个超过自动删除最久旧任务。支持 Sora2，Gpt-image-1.5，Nano banana，Nano Banana Pro，Veo 模型。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.获取 APIKey：&lt;/strong&gt; Grsai 控制台设置 ApiKey（&lt;a href="%C2%A0grsai.com/zh/dashboard/api-keys" title=""&gt; grsai.com/zh/dashboard/api-keys&lt;/a&gt; ) com 域名访问需要魔法，没有改成 ai），复制 ApiKey
&lt;img src="https://f.vue2.net/images/2026/02/07/1a536f5bb970d311fa905ec48423c99d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.配置 API：&lt;/strong&gt; 打开批量生图工具（&lt;a href="http://image.grsai.com" rel="nofollow" target="_blank" title=""&gt;image.grsai.com&lt;/a&gt; ) com 域名访问需要魔法，没有改成 ai），右上角设置 APIKey，黏贴你的 API Key
&lt;img src="https://f.vue2.net/images/2026/02/07/b6e993534bdf9d54858ac26007459b1b.png" title="" alt=" "&gt;
&lt;strong&gt;3.生成：&lt;/strong&gt; 上传图片，选择模型，尺寸输入提示词即可使用&lt;/p&gt;

&lt;p&gt;直接用批量生成工具，你能高效处理大批量任务，无需等待快速抽卡。&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="五、总结"&gt;五、总结&lt;/h2&gt;
&lt;p&gt;Gemini 3 Pro 学生优惠暂停和高峰期不稳定虽是难题，但通过 Grsai 的官方 API 代理 + Cherry Studio 和批量生成工具，你能轻松解决。避免封号风险，享受低成本高稳定高并发的模型使用体验，最重要的是 Grsai 已优化 Nano Banana Pro 一到下午就超时的问题，让你的使用更加顺畅。如果有疑问，欢迎留言。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Sat, 07 Feb 2026 21:38:05 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6907</link>
      <guid>https://beta.w2solo.com/topics/6907</guid>
    </item>
    <item>
      <title>【开源分享】AI 大模型批量生图工具！用 Nano Banana Pro 生成亚马逊 A+ 套图（文末福利）</title>
      <description>&lt;p&gt;在亚马逊平台上销售产品，高质量的套图（包括主图、生活方式图、细节图等）是吸引买家、提升转化率的关键。然而，许多跨境人并没有专业摄影设备、模特和后期编辑，缺乏设计技能，难以快速产图，导致产品页面不够吸引人，销量难以突破。而且亚马逊对图像有严格要求，如主图需纯白背景、至少占 85% 画面、生活方式图需真实场景等，如果不合规，会被驳回还可能影响搜索排名和广告投放。&lt;/p&gt;

&lt;p&gt;&lt;a href="http://grsai.ai" rel="nofollow" target="_blank" title=""&gt;Nano Banana Pro&lt;/a&gt;作为一款先进的 AI 图像生成和编辑工具，通过自然语言聊天提示词，就能快速创建专业级产品图像。它支持 4K 高清输出、精确文本渲染和语义编辑，完美适用于亚马逊套图生成。下面我将基于 Grsai 提供的 NanoBananaPro 模型，结合亚马逊图像规范并提供示例，分享套图完整提示词，帮助你快速生成。&lt;/p&gt;

&lt;p&gt;###&lt;/p&gt;
&lt;h2 id="一、亚马逊电商套图提示词"&gt;一、亚马逊电商套图提示词&lt;/h2&gt;
&lt;p&gt;在亚马逊等电商平台，产品图像的呈现效果是决定转化率的核心要素之一。一套专业、合规且富有吸引力的商品图片，不仅能高效传递产品信息和卖点，更能迅速建立消费者信任，激发购买欲望，从而直接推动销售增长。套图通常包括主图、生活方式图、信息图、尺寸图等内容。使用时，直接在 Nano Banana Pro 模型中输入提示词，并上传产品照片作为参考图。&lt;/p&gt;

&lt;p&gt;1.主图（Hero / Main Image，纯白背景）&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-f8276ac7ac5421c0bb121bf53e7f9458_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate a professional Amazon main image. Using the precise appearance of the product from the reference image, a realistic rendering is performed, preserving true colors, proportions, and details. The product is placed in the center of the frame, occupying at least 85% of the space, against a pure white background (RGB 255,255,255). Professional studio lighting is used, with soft, natural shadows, high-brightness illumination, and sharp global focus. No additional props, text, logos, or elements are included. The result is a clean, minimalist, business e-commerce style with ultra-high detail and 4K resolution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;2.生活方式图（Lifestyle Image，真实使用场景）&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-068f48931aaf5b7e989eecdf722814cd_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate an Amazon lifestyle image based on the provided reference image. The image automatically infers the most suitable target users, environment, and benefit presentation method based on product appearance and typical uses. The product must be clearly visible and centered, with natural lighting, realistic proportions and shadows, a comfortable or efficient atmosphere, an overall realistic style, high detail, no text overlays, and a professional Amazon A+ content style.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;4.信息图生成提示词（Key Features / Benefits Overview Infographic 突出特征，带图标或标注）&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-db571c5e64e351eaf0c0b285728bf4dc_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the product in the reference image, generate an Amazon product infographic. Analyze the product's usage scenarios and core functional technologies, and generate a key selling point using a large title in the top white space. Use minimalist arrows to label 2-3 brief material features of the product, leaving natural white space for adding text/labels. The style should be modern and minimalist, with a soft, light gradient background. Use soft studio lighting to eliminate shadows, and achieve 8K resolution for photorealistic results.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;5.多角度或不同颜色图提示词&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-7b613bca74a889a85b38d3b74ceb9fae_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the product in the reference image, generate one image each:【front view, side view, back view, and top view】. White background, professional lighting, and photos must be taken strictly according to the proportions shown in the attached image. No modifications to the product design are permitted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  场景图（Multi-Scene / Usage Scenarios Grid）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-c1eb6f94f50ac9acd3c9c64d2e13355f_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate an Amazon infographic grid based on the products in the reference images, showcasing multiple real-world usage scenarios for the products in the attached reference photos. Automatically identify 4-6 suitable life scenarios and corresponding benefits based on product type and appearance. Arrange small, realistic scene images in a grid or collage format, with each scene subtly overlaid with brief text describing the benefits or context. Natural lighting ensures clear product visibility in each scene, maintaining a consistent style and high detail, suitable for Amazon product detail pages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  材质工艺图（Material &amp;amp; Craftsmanship Infographic）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-49d1b9ce3c5c62699a810338521e3295_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate a detailed Amazon infographic based on the product in the reference image, focusing on materials and craftsmanship. The product is centrally positioned and rendered realistically. Key craftsmanship features are automatically analyzed and highlighted based on visible textures, surface finishes, structural details, seams, and materials. Include zoom-in images, arrows, or labels, along with concise descriptive text (all derived from product analysis). Clean layout, subtle icons, white background, and ultra-sharp text and details create a professional product presentation style.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;  尺寸参数图（Dimensions / Specs Infographic）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-9e415910bf564ca97268c2deba477a66_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generates an Amazon-compatible size chart based on the product in the reference image. The product is centered, and parameters such as height, width, depth, weight, and capacity are automatically and concisely labeled based on visible or logical dimensions. Typical specifications for the product type are included. Features a minimalist background, sharp lines, and a readable sans-serif font; realistic rendering; high precision; and an e-commerce optimized style.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;###&lt;/p&gt;
&lt;h2 id="二、亚马逊电商详情页套图提示词"&gt;二、亚马逊电商详情页套图提示词&lt;/h2&gt;
&lt;p&gt;在竞争激烈的亚马逊上，当你的产品和别人看起来差不多时，A+ 页面往往是最终决定你能不能卖贵一点、能不能稳住转化的关键。它通过多模块视觉化内容，将产品从单纯的功能描述转变为生活方式与情感共鸣的呈现。优秀的 A+ 页面通常包含以下核心模块：品牌定位横幅、生活使用场景、核心卖点区、产品细节分解以及情感收尾呼吁行动。&lt;/p&gt;

&lt;p&gt;下面的提示词均为通用型，适用于不同类目产品，只需上传对应参考图即可直接使用，如果你想要更精准的文案内容，可以自行添加修改提示词以达到个更符合预期的效果。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-6450cad701051dc4f9a6fcc7a7a48381_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the product in the reference image, generate a brand banner for an Amazon A+ page, serving as a reinforcement area for the brand story and positioning. The image primarily uses a wide, horizontal composition, with the core objective of conveying brand depth through a fusion of visuals and text. This includes a slogan, a short story about the founder/craftsmanship (1-2 brief sentences), core brand values (presented using 1-3 very concise phrases or icons), and honor/certification icons (3-5 small, exquisite icons). A lifestyle scene image serves as the background, with a short text area overlaid in the foreground (text blocks centered or slightly to the right, modern and concise font, white/brand color scheme, ample white space to avoid overwhelming the image). The title is the largest and most prominent, while the remaining content is arranged naturally with subheadings, short text, and icons. The overall design is minimalist, clean, symmetrical, and balanced, with consistent and soft lighting. This high-resolution professional e-commerce banner design avoids excessive text and creates a professional, warm, trustworthy, and realistic atmosphere.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-f9327f6c86f6c8b03362eea668731816_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the product in the reference image, generate a core selling point module image for an Amazon A+ page. A concise and powerful main title highlighting the product's core selling points is centered at the top. A full, high-resolution, upright image of the product's front is placed in the center, without cropping, featuring natural, soft lighting and textural reflections. Surrounding this are 3-5 small, exquisite rectangular or rounded corner selling point cards. These cards are compact, understated, and have extremely thin or no borders. Each card contains minimalist icons paired with a minimalist, precise selling point title and a very short description, naturally generated by AI based on the product's materials, technology, and design characteristics. The brand's primary color is used for subtle emphasis. The overall layout is minimalist, clean, symmetrical, and modern, with a pure white background. The product is centered and occupies the largest portion of the page, with no overlapping cropping or unnecessary decorations. High-resolution professional e-commerce design ensures natural and realistic lighting, and the card content precisely focuses on core technological advantages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-f512fb0f46fea865a444e7c8b6c1bcf0_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the product in the reference image, generate a lifestyle/usage scenario module image for an Amazon A+ page. Place 3-4 high-resolution, realistic lifestyle photos horizontally side-by-side (uniform size, consistent spacing, borderless or very thin borders). Each photo showcases the product in its natural state in different everyday/outdoor scenarios, with the product fully integrated into the environment and lighting (placed appropriately, seamlessly blending with the background, and with natural and consistent shadows/reflections, avoiding stiff placement or a post-processed look). Below each photo, or lightly overlay a minimalist English selling point title and a short descriptive text (naturally generated based on the product's actual function and usage context, with functional technical details and a slight connection to the scene, and minimal text overall). The overall color scheme should be warm and natural, with perfectly consistent lighting. The layout should be minimalist, clean, symmetrical, and balanced, with a pure white or light-colored background transition. High-resolution professional e-commerce page design, without overlapping cropping or unnecessary decorations, creating a relaxed, realistic, and immersive atmosphere.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-61671c846d05c3166b6cf4adc4d71946_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate an Amazon A+ technical parameter detail image based on the reference image. Core objective: To eliminate user doubts and build trust through extremely clear details. Image layout: Use an exploded view of product components [elements can be specified]. Infographic style: Use thin leaders to point from product components to floating feature labels. Label design description: A minimalist rectangular label box containing simple icons, concise titles, and detailed descriptions of functions, technologies, capabilities, and materials; the label style is clean and modern, and the border and accent colors must be consistent with the product's color scheme. Background: Minimalist solid color to emphasize professionalism. Style: Hardcore, objective, high-fidelity photography style.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-28e4895f077d76484be933dd3c04b1c0_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Generate a closing module image for an Amazon A+ page based on the product in the reference image. Wrap the product within a border or background in the brand's color scheme. At the top or center, generate a concise, emotionally resonant purchase reason statement. Below, display a high-definition, warm-hearted lifestyle scene image (the product blends naturally). Overlay brand emotional elements on the image: small icons and the core slogan on the left or top, and circular/square data labels (displaying philanthropic or impact data) on the right or bottom. The text area includes short paragraphs on emotional value, long-term value, and action suggestions. The text is modern, concise, white/high-contrast, and has ample white space. The overall style is minimalist, clean, symmetrical, balanced, and modernly sophisticated. The product's lighting and shadows blend naturally and softly into the image, encouraging purchase. All text is in large, clear, eye-catching, bold, and high-contrast font.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;###&lt;/p&gt;
&lt;h2 id="三、Ai修图提示词指令"&gt;三、Ai 修图提示词指令&lt;/h2&gt;
&lt;p&gt;找参考图，反推提示词，把参考图丢给 AI，让它生成文生图指令！将提示词中的主体元素的描述删除或者修改使用。&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;根据我提供的参考图，分析图片内容，生成一份详细的文本提示词，包括关键元素、人物、动作、场景、构图、色彩色调，画面风格、背景要素，文字特征。能够指导 AI 生图工具创作类似作品，字数在 300 个字以内。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-38e26d090344e9e41eeae11e19571819_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="换背景"&gt;换背景&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;在原图的基础上，保留杯子主体，日系清新风，中景聚焦温馨居家桌面。木质桌面上，米白色针织餐垫摆放杯子，旁有复古胶片相机、白色花瓶（插尤加利叶）、米色信封，背景是米色纱帘。暖色调，木棕、米白、灰绿为主，质感治愈精致，光影柔和明亮；营造日系居家静物摄影氛围。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-d624e81280b05d2cbb6dcd114d44e5f1_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;在原图的基础上，保留杯子主体，将背景换成日系小清新风格和 ins 好物分享风格，采用柔和的自然光（模拟大窗户日式亚麻纱帘侧光)，构图采用经典小红书 45 度俯拍视角或平视特写。米棕色针织毛毯上，错落摆放磨砂玻璃香薰蜡烛，书籍、木质日历、编织托盘盛着白色与米黄色郁金香，旁有白色抱枕。暖色调，以米棕、奶油白为主，质感细腻，充满生活仪式感，背景柔和弱化，突出主体物品层次与细节，文字元素清晰自然，让画面丰富一些，具备生活感气息，但也不能杂乱，高光柔和，阴影干净有空气感。不要生硬得像广告片，风格：高级、精致生活、真实分享感。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="修图"&gt;修图&lt;/h3&gt;
&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-43dcdff61ffdae45611fb1b118ee4b5e_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;根据提供的参考图片，生成一张亚马逊电商产品精修图。1. 构图与校正：校正透视。即使参考图片倾斜或手持拍摄，也要确保主体完全正立并居中。移除手部和背景杂物。正面视角；2. 地面与阴影：不要让物体显得悬浮。创建逼真自然的接触阴影，并在产品底部创建柔和的投影。物体必须看起来像是稳稳地放置在纯白的地面上；3. 智能修图：进行表面净化。去除灰尘、划痕和噪点。增强主体固有的物理纹理（光泽、哑光或金属质感）；4. 光线与立体感：使用影棚灯光。增强产品上部的镜面高光和遮挡阴影，以最大程度地展现 3D 立体感；5. 质量：8K 分辨率，边缘清晰，达到商业摄影标准。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-1f61c65f077e8e561a187a73620de597_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="四、Nano banana Pro 批量生图教程"&gt;四、Nano banana Pro 批量生图教程&lt;/h2&gt;
&lt;p&gt;对于亚马逊运营而言，铺货是核心环节，对快速、大量生成图片素材的需求尤为突出。而 Nano Banana Pro 在角色一致性、多图融合以及精准理解自然语言方面的独特优势，恰好能高效地满足这一需求，让电商企业得以轻松产出风格统一且质感高级的系列套图。&lt;/p&gt;

&lt;p&gt;公司则可以选择接入 Nano banana pro 源头 APi 制作一款批量生图工具，辅助业务。如果没有开发能力可以直接借助 GrsAI 提供的 (&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank" title=""&gt;image.grsai.com&lt;/a&gt;) 批量生图工具与高性价比 API，建立一条 “图片生成流水线”，实现批量化创作。&lt;/p&gt;
&lt;h2 id="1.核心优势"&gt;1.核心优势&lt;/h2&gt;
&lt;p&gt;无限制批量生成与高并发：image.grsai.com 没有并发请求限制，意味着你可以同时提交数十、上百个生图任务，让它们在后台 “排队” 处理，无需等待，极大压缩等待时长并且进行批量下载。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;高性价比&lt;/strong&gt;：作为源头 API 供应商，GrsAI 提供的价格远低于官方渠道。Nano Banana-0.022/张。功能更强的 Nano Banana Pro-0.09/张，还有 Gpt-image-1.5—0.02/张，sora2——0.08/条，Veo 等模型。&lt;/p&gt;
&lt;h2 id="2.配置使用教程"&gt;2.配置使用教程&lt;/h2&gt;
&lt;p&gt;获取 API 密钥：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  访问 Grsai：grsai.com/zh/dashboard/api-keys （com 域名需要魔法才可访问，没有魔法改成.ai 即可）&lt;/li&gt;
&lt;li&gt;  在侧边栏找到 “API 密钥”，创建一个新密钥并复制。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-ac91d31a8499e28449ac0dfbe88cde6d_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;配置在线工具：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  打开批量生图工具： image.grsai.com（com 域名需要魔法才可访问，没有魔法改成.ai 即可）&lt;/li&gt;
&lt;li&gt;  在网站右上角找到 “设置 APIKey” 粘贴你复制的 API 密钥。&lt;/li&gt;
&lt;li&gt;  Github 开源：&lt;a href="https://github.com/31702160136/grsai-gpt-image" rel="nofollow" target="_blank"&gt;https://github.com/31702160136/grsai-gpt-image&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-43a1ccf65bf7872aa1913f4163db05fe_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;生成：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  选择模型，上传参考图，输入提示词即可批量生成，不限制并发数量，但需要注意的是，页面只保存 200 张图超过了自动删除最旧的任务，需要尽快下载。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3.开发接入实战代码"&gt;3.开发接入实战代码&lt;/h2&gt;
&lt;p&gt;开发者文档：grsai.com/zh/dashboard/documents/nano-banana&lt;/p&gt;

&lt;p&gt;import requests
    # 1. 请求头
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer YOUR_GRSAI_API_KEY"  # 替换为你的 API Key}# 2. 请求体参数 payload = {
        "model": "nano-banana-pro",  # 指定模型
        "prompt": "日落时分的未来城市，飞行汽车穿梭，霓虹灯牌上有清晰的中文",  # 提示词
        "aspectRatio": "16:9",       # 图片比例，可选：1:1, 16:9, 9:16, 4:3, 3:4 等
        "urls": [],                  # 选填，参考图的 URL 列表
        "webHook": "-1"              # 设为"-1"立即返回任务 ID，用于轮询结果
    }
    # 3. 发起请求（生成接口）
    response = requests.post(
        "&lt;a href="https://grsai.dakka.com.cn/v1/draw/nano-banana,%C2%A0%C2%A0#%C2%A0%E5%9B%BD%E5%86%85%E6%8E%A5%E5%8F%A3%E9%93%BE%E6%8E%A5" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1/draw/nano-banana,  # 国内接口链接&lt;/a&gt;"
        json=payload,
        headers=headers
    )
    # 4. 获取任务 ID 并轮询结果
    if response.status_code == 200:
        task_id = response.json().get("id")
        
        # 轮询查询结果（示例）
        result_payload = {"id": task_id}
        result_response = requests.post(
            "&lt;a href="https://grsai.dakka.com.cn/v1/draw/result,%C2%A0%C2%A0#%C2%A0%E7%BB%93%E6%9E%9C%E6%9F%A5%E8%AF%A2%E6%8E%A5%E5%8F%A3" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1/draw/result,  # 结果查询接口&lt;/a&gt;"
            json=result_payload,
            headers=headers   
    )
        print(result_response.json())  # 返回结果包含图片 URL（有效期 2 小时）
    else:
        print("请求失败:", response.status_code, response.text)&lt;/p&gt;

&lt;p&gt;###&lt;/p&gt;
&lt;h2 id="四、注意事项与最佳实践"&gt;四、注意事项与最佳实践&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;  结果及时保存：通过 API 或在线工具生成的视频图片链接有效期仅为 2 小时。务必及时下载到本地。&lt;/li&gt;
&lt;li&gt;  失败秒退：如果遇到图片生成失败，积分秒退还。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;通过 Nano Banana pro 与&lt;a href="http://grsai.ai" rel="nofollow" target="_blank" title=""&gt;Grsai&lt;/a&gt;的批量生图工具结合，你就能建立起一个稳定、高效、低成本的批量生成线。&lt;/p&gt;

&lt;p&gt;留下你的 GrsAi 账号（邮箱），帮你开通自定义充值入口。无需充值 999 最高档位！就能享受 GrsAi 平台所有模型最低价！
遇到任何问题都可以来这里找我~&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Tue, 03 Feb 2026 20:43:41 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6894</link>
      <guid>https://beta.w2solo.com/topics/6894</guid>
    </item>
    <item>
      <title>Grsai Sora2 APi3 个功能接口（生成视频 + 创建角色 + 原视频创建角色）调试教程！新人福利接住</title>
      <description>&lt;blockquote&gt;
&lt;p&gt;通知！Sora2 最近调整了一波规则，需要绑定手机验证，GrsAi 已经完全解决了该问题，提高了视频成功率！&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Sora2 Api&lt;/a&gt;文档看不懂？到底怎么调用啊？可以上传真人创建角色吗？3 个不同的 api 都有什么用？怎么收费？&lt;/p&gt;

&lt;p&gt;本文将详细介绍 GrsAI APi 源头供应商，提供的三个核心视频生成接口的使用方法，帮助开发者快速接入强大的 0.08/条的 Sora 2 视频生成能力。文末也提供了普通用户使用教程！往下看吧。&lt;/p&gt;

&lt;p&gt;我们将重点介绍 Sora2 视频接口、上传角色接口和从原视频创建角色接口具体使用方法和限制。&lt;/p&gt;
&lt;h2 id="一、Grsai Api接入前准备"&gt;一、&lt;a href="http://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Grsai Api&lt;/a&gt;接入前准备&lt;/h2&gt;
&lt;p&gt;GrsAI（&lt;a href="http://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Grsai.com&lt;/a&gt; com 域名需要魔法才可访问，没有改成 ai) 是一个专注于聚合海外主流 AI 大模型的 API 服务平台，所有模型均为源头提供非中间商赚差价。所以能以低于官方渠道和市场的价格提供模型调用服务，例如 Sora2——0.08/条，Nano Banana Pro——0.09/张，Nano banana——0.22/张，Gpt image 1.5——0.02/张，Veo3.0/Veo3.1——0.4/条，Gemini2.5，Gemini3.....同时支持高并发请求，适合批量任务，大流量产品。并且失败不扣费积分秒返还，还提供国内直连和海外两种接入节点，方便全球用户低延迟访问。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-0e37f187b5cba5aa19cffcacaf711b67_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="获取API Key"&gt;获取 API Key&lt;/h3&gt;
&lt;p&gt;API Key 是您调用所有 GrsAI 接口的身份凭证，需要在每次请求的头部（Header）中携带，请妥当保存不要外泄。&lt;/p&gt;

&lt;p&gt;（1）进入 Grsai 控制台：&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt;（com 需要魔法，没有改成 ai）&lt;/p&gt;

&lt;p&gt;（2）生成 API Key：点击 “创建” 按钮，为密钥命名后还可以限制额度，生成后复制使用。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-fdffe8e8c61465488fb1aaa14dbfb63a_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="配置请求头部"&gt;配置请求头部&lt;/h3&gt;&lt;h3 id="HTTP请求的Header中按如下格式添加信息："&gt;HTTP 请求的 Header 中按如下格式添加信息：&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Content-Type": "application/json",
  "Authorization": "Bearer apikey"
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请将  替换为您在控制台实际获取的密钥字符串。&lt;/p&gt;
&lt;h2 id="二、Grsai Sora 2 APi文档详解"&gt;二、Grsai Sora 2 APi 文档详解&lt;/h2&gt;&lt;h2 id="1.Sora2视频生成接"&gt;1.Sora2 视频生成接&lt;/h2&gt;&lt;h3 id="接口基本信息"&gt;接口基本信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;接口路径: /v1/video/sora-video&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;请求方式: POST&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;服务地址:&lt;/p&gt;

&lt;p&gt;国内直连: &lt;a href="https://grsai.dakka.com.cn" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;海外: &lt;a href="https://grsaiapi.com" rel="nofollow" target="_blank"&gt;https://grsaiapi.com&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心功能"&gt;核心功能&lt;/h3&gt;
&lt;p&gt;Sora2 视频接口可以根据文本提示词（prompt）或参考图片生成高质量视频，0 可以通过此接口：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  纯文本生成视频&lt;/li&gt;
&lt;li&gt;  图片 + 文本组合生成视频&lt;/li&gt;
&lt;li&gt;  提示词 @ 角色 id 引用角色视频创作&lt;/li&gt;
&lt;li&gt;  remix 制作视频续作&lt;/li&gt;
&lt;li&gt;  生成指定比例和时长的视频&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="remix二创"&gt;remix 二创&lt;/h3&gt;
&lt;p&gt;Remix（重混/重制）允许你基于一段已有 Sora 生成的视频（需要 Pid），输入新提示词（prompt）进行修改或延续，而不从零重新生成整个视频。&lt;/p&gt;

&lt;p&gt;核心参数是 remixTargetId ，参考 results 的 pid 值: s_xxxxxxxxx&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-573ac4e508deb9d2859694abc84f8e22_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;添加 remixTargetId 参数，填入原始视频的 ID&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-ad9c9910b13b9ace04d6ec2192ad4d5c_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="请求参数详解"&gt;请求参数详解&lt;/h3&gt;
&lt;p&gt;必填参数：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "model": "sora-2",
  "prompt": "提示词" #引用角色在这里@id}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-2424ebee7323714b1398db58b8d75cf6_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;可选参数：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  url: 参考图片 URL 或 Base64 编码（图片转视频功能）&lt;/li&gt;
&lt;li&gt;  aspectRatio: 视频比例，支持"9:16"（竖屏）和"16:9"（横屏），默认 9:16&lt;/li&gt;
&lt;li&gt;  duration: 视频时长，可选 10 秒或 15 秒，默认 10 秒&lt;/li&gt;
&lt;li&gt;  remixTargetId: 续作视频的 pid，用于制作视频续集&lt;/li&gt;
&lt;li&gt;  size: 视频清晰度，"small"或"large"，默认 small&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="注意事项"&gt;注意事项&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  禁止生成真人视频：该接口不支持生成真人视频内容&lt;/li&gt;
&lt;li&gt;  使用角色：如需使用角色功能，请使用独立的角色上传接口，然后在提示词中用 @ 角色 id 格式引用&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="响应处理方式"&gt;响应处理方式&lt;/h3&gt;
&lt;p&gt;该接口支持三种结果获取方式：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  流式响应（默认）：实时返回生成进度和结果&lt;/li&gt;
&lt;li&gt;  Webhook 回调：设置 webHook 参数，系统将通过 POST 请求回调您的服务器&lt;/li&gt;
&lt;li&gt;  轮询方式：设置 webHook 参数为"-1"，立即返回任务 ID，然后使用/v1/draw/result 接口轮询结果&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;成功响应示例&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "id": "f44bcf50-f2d0-4c26-a467-26f2014a771b",
  "results": [{
    "url": "https://example.com/example.mp4",
    "removeWatermark": true,
    "pid": "s_xxxxxxxxxxxxxxx"
  }],
  "progress": 100,
  "status": "succeeded"}
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="使用示例：生成猫咪视频"&gt;使用示例：生成猫咪视频&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 请求示例const response = await fetch('https://grsai.dakka.com.cn/v1/video/sora-video', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "model": "sora-2",
    "prompt": "A cute cartoon cat playing with a ball of yarn on a sunny day",
    "aspectRatio": "16:9",
    "duration": 10,
    "size": "small"
  })});
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="2.上传角色接口"&gt;2.上传角色接口&lt;/h2&gt;&lt;h3 id="接口基本信息"&gt;接口基本信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  接口路径: /v1/video/sora-upload-character&lt;/li&gt;
&lt;li&gt;  请求方式: POST&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心功能"&gt;核心功能&lt;/h3&gt;
&lt;p&gt;上传角色视频素材，用于后续的视频生成中引用。角色功能让您可以在不同视频中保持角色一致性。&lt;/p&gt;
&lt;h3 id="重要规则"&gt;重要规则&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  禁止上传真人视频：只能上传卡通、动漫等非真人角色视频&lt;/li&gt;
&lt;li&gt;  视频片段限制：通过 timestamps 参数指定 3 秒以内的有效片段，格式为"开始秒数,结束秒数"&lt;/li&gt;
&lt;li&gt;  一次上传，多次使用：角色上传成功后，可以在所有后续视频生成中重复使用，提示词 @ 角色 id&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="请求参数"&gt;请求参数&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "url": "角色视频URL或Base64",
  "timestamps": "0,3"}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-0f76c3b8bd0c5aeeb51173db42139f90_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="角色引用方法"&gt;角色引用方法&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  上传成功后，响应中的 character_id 即为角色 ID&lt;/li&gt;
&lt;li&gt;  在 Sora2 视频生成接口的 prompt 中，使用 @ 角色 id 格式引用角色&lt;/li&gt;
&lt;li&gt;  例如：如果 character_id 为"cat_character"，则提示词应为："A &lt;a href="/cat_character" class="user-mention" title="@cat_character"&gt;&lt;i&gt;@&lt;/i&gt;cat_character&lt;/a&gt; jumping in the garden"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-8a825820211dd1a6033af4b5e327e387_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="使用流程"&gt;使用流程&lt;/h3&gt;
&lt;p&gt;1.上传角色视频，获取 character_id&lt;/p&gt;

&lt;p&gt;2.在生成视频时，在提示词中引用该角色&lt;/p&gt;
&lt;h3 id="示例：上传和使用角色"&gt;示例：上传和使用角色&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 1. 上传角色const uploadResponse = await fetch('https://grsai.dakka.com.cn/v1/video/sora-upload-character', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "url": "https://example.com/cartoon-cat.mp4",
    "timestamps": "0,3"
  })});const characterData = await uploadResponse.json();const characterId = characterData.results[0].character_id; // 例如："cartoon_cat_001"// 2. 使用角色生成视频const videoResponse = await fetch('https://grsai.dakka.com.cn/v1/video/sora-video', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "model": "sora-2",
    "prompt": `A ${characterId} exploring a magical forest with glowing mushrooms`,
    "aspectRatio": "16:9"
  })});
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="3.从原视频创建角色接口"&gt;3.从原视频创建角色接口&lt;/h2&gt;&lt;h3 id="接口基本信息"&gt;接口基本信息&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  接口路径: /v1/video/sora-create-character&lt;/li&gt;
&lt;li&gt;  请求方式: POST&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="核心功能"&gt;核心功能&lt;/h3&gt;
&lt;p&gt;从 AI 生成的视频中提取角色，创建可重复使用的角色资源。这是角色创建的第二种方式。&lt;/p&gt;
&lt;h3 id="特色功能"&gt;特色功能&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  支持 AI 生成的真人类角色：可以从 AI 生成的视频中创建真人类角色&lt;/li&gt;
&lt;li&gt;  精准提取：通过 timestamps 参数指定视频中的特定片段&lt;/li&gt;
&lt;li&gt;  与原视频关联：需要提供原视频的 pid（视频 ID）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="请求参数"&gt;请求参数&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "pid": "s_xxxxxxxxxxxxxxx",
  "timestamps": "0,3"}
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="使用场景"&gt;使用场景&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  从已生成的视频中（包含 Sora2 平台的视频，拿到 Pid 就可以创建）创建角色&lt;/li&gt;
&lt;li&gt;  创建角色系列视频，保持角色的一致性&lt;/li&gt;
&lt;li&gt;  为热门角色制作衍生内容&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-0726b74d69689b6de89ebcab2d5c1270_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="工作流程"&gt;工作流程&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  先生成原始视频，获取视频的 pid&lt;/li&gt;
&lt;li&gt;  从原始视频中选择 3 秒内的角色片段&lt;/li&gt;
&lt;li&gt;  调用创建角色接口提取角色&lt;/li&gt;
&lt;li&gt;  获取 character_id 后在后续视频中引用&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-3c25a014d0dd1d808442b83e4d22bc54_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="示例：从生成视频中创建角色"&gt;示例：从生成视频中创建角色&lt;/h3&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 假设已有一个生成的视频，pid为"s_6964a407c1fc819198458b8abf2b9cdf"// 1. 从视频中创建角色const createCharResponse = await fetch('https://grsai.dakka.com.cn/v1/video/sora-create-character', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "pid": "s_6964a407c1fc819198458b8abf2b9cdf",
    "timestamps": "2,5"  // 提取第2-5秒的角色
  })});const newCharacter = await createCharResponse.json();const newCharacterId = newCharacter.results[0].character_id;// 2. 使用新创建的角色生成新视频const newVideoResponse = await fetch('https://grsai.dakka.com.cn/v1/video/sora-video', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "model": "sora-2",
    "prompt": `The @${newCharacterId} is now attending a grand feast in a castle`,#@角色id    "aspectRatio": "16:9"
  })});
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="四、结果获取接口"&gt;四、结果获取接口&lt;/h2&gt;&lt;h3 id="轮询接口"&gt;轮询接口&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;  接口路径: /v1/draw/result&lt;/li&gt;
&lt;li&gt;  请求方式: POST&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;当使用 Webhook 参数为"-1"时，可以使用此接口轮询任务状态：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const resultResponse = await fetch('https://grsai.dakka.com.cn/v1/draw/result', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer apikey'
  },
  body: JSON.stringify({
    "id": "任务ID"
  })});
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-2424ebee7323714b1398db58b8d75cf6_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="五、Sora2计费标准"&gt;五、Sora2 计费标准&lt;/h2&gt;
&lt;p&gt;Sora2 生成视频 Api——0.08/条，Sora2 角色上传 Api——0.01/条，Sora2 从原视频上传角色 Api——0.01/条。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-568a9ca4cb9b0b21a02295a713163389_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="六、无需手机验证也能用Sora2"&gt;六、无需手机验证也能用 Sora2&lt;/h2&gt;
&lt;p&gt;你是不是也遇到了 Sora2 需要手机验证？到处找人结果都要氪金才能解决？本来 Sora2 一天生成的次数就有限制，这样太不划算了，不如直接用 Grsai 提供的批量生图工具，一条视频 0.08 还没有生成次数限制！&lt;/p&gt;

&lt;p&gt;Sora2 批量生图工具：&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank"&gt;https://image.grsai.com/&lt;/a&gt;（com 需要魔法，没有改成 ai）&lt;/p&gt;
&lt;h3 id="操作指南："&gt;操作指南：&lt;/h3&gt;
&lt;p&gt;1.在 GrsAi 控制台：&lt;a href="https://grsai.com/zh/dashboard/api-keyscom%E9%9C%80%E8%A6%81%E9%AD%94%E6%B3%95%EF%BC%8C%E6%B2%A1%E6%9C%89%E6%94%B9%E6%88%90ai%EF%BC%89" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keyscom 需要魔法，没有改成 ai）&lt;/a&gt;（ 获取 APiKey，有基础额度 5000 可免费用&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-ddcec9e032d4fae7c8cd4ca16f530489_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2.在批量生成工具：&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank"&gt;https://image.grsai.com/&lt;/a&gt;（com 需要魔法，没有改成 ai）右上角绑定 APikey&lt;/p&gt;

&lt;p&gt;3.选择 Sora2 模型即可使用&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-5ec34b3b61f1054cbbcec956974a7add_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Grsai 批量生成工具可使用 Nano banana pro ，Nano banana，Sora2，Veo 等模型，不限制生成数量，可批量打包下载，适合批量抽卡用户，生成失败不扣费！普通用户直接用 APi 低价使用模型。&lt;/p&gt;

&lt;p&gt;注意：生成的内容只会保存 2 小时，需要尽快下载。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;在对接 Grsai 的 Sora-2 APi 接口时需要注意！不支持真人生成视频或创建角色，若需使用真人形象，需要先 “视频生成接口” 用提示词生成人物视频，在用 “从原视频创建角色接口” 获取 character_id，最后在 “视频生成接口” 的提示词中 @ 角色 ID 引用角色，角色创建成功后无需重复上传。生成失败秒退款，可放心使用。&lt;/p&gt;

&lt;p&gt;通过合理组合使用这三个接口，您可以构建出复杂的视频生成应用，保持角色一致性，创作出系列化的视频内容。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Mon, 12 Jan 2026 23:03:13 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6798</link>
      <guid>https://beta.w2solo.com/topics/6798</guid>
    </item>
    <item>
      <title>【开源分享】Grsai Api 提供的 AI 批量生图工具！1 分钟跑 500 张不要太轻松</title>
      <description>&lt;p&gt;设计师们，你们用的画图工具是不是生成一张图要几分钟，想批量生成还有数量限制？ 工作效率实在低。&lt;/p&gt;

&lt;p&gt;企业开发们，你们调用的 APi 聚合平台是不是动不动就崩溃、超时还有并发限制？根本无法承接高并发需求，修复拖半天，价格还不便宜！&lt;/p&gt;

&lt;p&gt;这些问题对出海开发者和设计师而言，简直是灾难。当你还在单线程请求 AI 画图任务时，高手早已用 Grsai APi 实现并发调用，同时跑几十、上百个任务，用最低的画图单价享受最高的速度与稳定行。&lt;/p&gt;

&lt;p&gt;本文将深入浅出地讲解并发调用的核心原理，并为你提供一个开箱即用的 GrsAI 批量生图工具，助你全面掌握 Sora2、Nano banana pro、GPT-Image 1.5 等主流模型的批量创作秘籍。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-ee2f2fdce5c32066ea664d96b0e9d01d_720w.png?source=ccfced1a" title="" alt=""&gt;  &lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="一、如何实现API并发调用接口"&gt;一、如何实现 API 并发调用接口&lt;/h2&gt;
&lt;p&gt;并发是指系统能够同时处理多个任务的能力，但这些任务不一定在同一瞬间执行。关键在于：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  任务在重叠的时间段内启动、运行和完成&lt;/li&gt;
&lt;li&gt;  系统在多个任务间快速切换，造成 “同时进行” 的错觉&lt;/li&gt;
&lt;li&gt;  目的是提高资源利用率和系统响应性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;实现 APi 并发主要路径：&lt;/p&gt;

&lt;p&gt;异步并发：在单个线程内通过 “事件循环” 处理多个网络请求。效率高、资源消耗少，可处理大量请求，能够处理大量 I/O 密集型任务（如批量生成图片/视频）。&lt;/p&gt;

&lt;p&gt;对于 GrsAI API 调用这类 I/O 密集型任务（大部分时间在等待网络响应），异步并发是性能最优的选择。它通过在单个线程内高效切换任务，避免了多线程的切换开销，能轻松管理成百上千个并发请求。这对于需要大量生成内容的营销、设计、游戏开发等领域，意味着生产力质的飞跃。&lt;/p&gt;

&lt;p&gt;更关键的是成本问题，直接使用 OpenAI、Google 等官方 API，访问不方便就算了价格还超贵，同时还有并发频率与地区访问限制。选择便宜的 API 聚合平台可能还是个中间商赚差价的中转站，非源头 APi、稳定性差、不支持高并发、出问题不第一时间修复。那么去哪里找便宜稳定支持高并发的 Ai 大模型 API 源头供应商？&lt;/p&gt;
&lt;h2 id="二、免费批量生成网站：image.grsai.com(需要魔法，没有则com改成ai）"&gt;二、免费批量生成网站：&lt;a href="image.grsai.com" title=""&gt;image.grsai.com&lt;/a&gt;(需要魔法，没有则 com 改成 ai）&lt;/h2&gt;
&lt;p&gt;普通用户可以直接使用 Grsai 提供的现成批量生图工具，另外开发也可以通过 github 的开源项目查看代码结构学习怎么实现并发调用 Grsai Api 的接口。&lt;/p&gt;

&lt;p&gt;工具地址：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  在线使用：&lt;a href="https://image.grsai.com" rel="nofollow" target="_blank" title=""&gt;https://image.grsai.com&lt;/a&gt;(需要魔法，没有则 com 改成 ai）&lt;/li&gt;
&lt;li&gt;  GitHub：&lt;a href="https://github.com/31702160136/grsai-gpt-image" rel="nofollow" target="_blank" title=""&gt;https://github.com/31702160136/grsai-gpt-image&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;四步开启无限制批量创作：&lt;/p&gt;

&lt;p&gt;1.获取 “批发密钥”：在 GrsAI(&lt;a href="grsai.com" title=""&gt;grsai.com&lt;/a&gt;) 官网控制台创建 API Key。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-54b546d110376a20bb6515c1c7beb66f_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2.配置密钥：在 &lt;a href="image.grsai.com" title=""&gt;image.grsai.com&lt;/a&gt; 右上角 APIKEY 中填入。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-68b84821f33ec0f9c1b008bf043071ba_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;3.批量提交任务：在界面中选择模型（支持 Sora2、Nano Banana Pro、gpt image 1.5、Veo 等视频画图模型），上传图片，选择图片尺寸，在文本框内输入提示词（例如：根据参考图生成一张上衣正面整体展示，根据参考图还原上衣主体图案全貌，纯色背景，柔和自然，突出产品整体形态与图案呈现效果。）点击生成。&lt;/p&gt;

&lt;p&gt;4.批量下载：由于系统只会保存两小时，所以生成完的内容尽快下载，支持一键打包下载。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-4b9dc728511553622ea91c7a083689cb_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="三、Ai大模型APi源头供应站"&gt;三、Ai 大模型 APi 源头供应站&lt;/h2&gt;
&lt;p&gt;GrsAI（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com&lt;/a&gt; 需要魔法，没有 com 改 ai）作为 AI 大模型 API 的聚合平台与源头供应商，核心价值在于以极低的成本提供稳定、高并发的调用服务。例如，生成一张 Nano Banana Pro 图片，官方 API 成本约 0.134-0.24 美元（1-2k：0.96，4k：1.37 元），而通过 GrsAI 国内直连接入 Nano Banana Pro 1k 2k 4k 都是 0.09/张，成本降低超过 95%。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-da77db76cb43ae19ab997a33bdba65f5_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  高性价比多模型：非中转站，没有一层层中间商，平台直接对接模型资源才能做到低价。Nano Banana Pro——0.09/张，gpt image 1.5——0.02/张，Nano Banana——0.022/张，Sora2——0.08/条，Veo3.0/Veo3.1——0.4/张，Gemini2.5/3.0....&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-30a230fd8a3a160696a61dbf132324e0_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;vt 高峰期会生成失败，可以和 pro 切换用，vt 的 4k 更加高清&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  支持高并发：多台国内外顶配服务器，支持大量级高并发调用需求。&lt;/li&gt;
&lt;li&gt;  国内外节点：提供国内直连和国际线路，确保全球用户低延迟访问。&lt;/li&gt;
&lt;li&gt;  平台存储库：可直接把图片与视频文件上传到存储库中，从而降低服务器流量成本。&lt;/li&gt;
&lt;li&gt;  失败不扣费：只要是失败秒退款，日志可查询，将您的试错成本降至零。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;注意：图片视频只在平台保存 2 小时，超过时间则无法查看请尽快保存。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pica.zhimg.com/80/v2-7525b4cc6279e749d4ad32b60bccfe3f_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="四、Grsai APi高并发调用Nano banana Pro实战"&gt;四、Grsai APi 高并发调用 Nano banana Pro 实战&lt;/h2&gt;
&lt;p&gt;1.获取 GrsAI API Key：登录 GrsAI 控制台（grsai.com/zh/dashboard/api-keys 需要魔法才能访问，没有 com 改 ai），创建并复制您的密钥。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-739524d39bb3ad3b451bdb8588471865_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Nano Banana Pro 支持 gemini 官方接口格式&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-c1219c4eef5351c5d8f4a8f8e93e2a51_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2.安装必要的 Python 库：我们将使用 aiohttp 进行异步 HTTP 请求，asyncio 作为异步运行时。&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install aiohttp
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3.高并发调用 Api 接口生成图片&lt;/p&gt;
&lt;h3 id="步骤1：创建客户端类与初始化"&gt;步骤 1：创建客户端类与初始化&lt;/h3&gt;
&lt;p&gt;首先，我们创建一个类来封装所有逻辑，包括配置 API 密钥、控制并发数和重试策略。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncioimport&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;aiohttpfrom&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;typing&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Dict&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Anyimport&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;timeclass&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;NanoBananaBatchGenerator&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="s"&gt;"""Nano Banana Pro 高并发批量生成客户端"""&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;retries&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"""
        初始化客户端
        :param api_key: GrSAI API密钥
        :param max_concurrent: 最大并发数，控制请求“洪峰”
        :param retries: 失败重试次数
        """&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;retries&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;retries&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 注意：此处使用Nano Banana Pro的专用端点
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"https://api.grsai.com/v1/draw/nano-banana"&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# aiohttp会话对象，稍后创建
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="步骤2：实现异步上下文管理"&gt;步骤 2：实现异步上下文管理&lt;/h3&gt;
&lt;p&gt;为了优雅地管理网络连接资源（自动创建和关闭会话），我们实现异步上下文管理器。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;__aenter__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"""异步上下文管理器入口，创建可复用的会话和连接池"""&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;aiohttp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ClientSession&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="s"&gt;"Content-Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"application/json"&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;aiohttp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ClientTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 设置总超时
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;__aexit__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;exc_type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;exc_val&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;exc_tb&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"""异步上下文管理器出口，确保会话被关闭"""&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="步骤3：实现带重试的单个请求函数"&gt;步骤 3：实现带重试的单个请求函数&lt;/h3&gt;
&lt;p&gt;这是最核心的函数之一，负责调用单次 API，并内置了指数退避重试机制来增强鲁棒性。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;_generate_single_with_retry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Dict&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Any&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"""执行单次生成，内置指数退避重试机制"""&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"nano-banana-Pro"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 指定模型
&lt;/span&gt;&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 合并其他参数（如尺寸，参考图等）
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;last_error&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;None&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;attempt&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;retries&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"success"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;error_text&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;text&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="n"&gt;last_error&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"HTTP &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;error_text&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="c1"&gt;# 429错误代表请求过快，采用指数退避等待
&lt;/span&gt;&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;429&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="n"&gt;wait_time&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;attempt&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"提示词 '&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;[:&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;...' 触发频率限制，&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;wait_time&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;秒后重试..."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;wait_time&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;continue&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="k"&gt;elif&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;500&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="c1"&gt;# 服务器错误，稍后重试
&lt;/span&gt;&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;continue&lt;/span&gt;
&lt;span class="err"&gt;                        &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="c1"&gt;# 客户端错误（如参数错误）通常无需重试
&lt;/span&gt;&lt;span class="err"&gt;                            &lt;/span&gt;&lt;span class="k"&gt;break&lt;/span&gt;
&lt;span class="err"&gt;                            &lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;except&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;TimeoutError&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;aiohttp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ClientError&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="n"&gt;last_error&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 网络异常，简单等待后重试
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 所有重试均失败
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"failed"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;last_error&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="步骤4：实现批量生成主函数"&gt;步骤 4：实现批量生成主函数&lt;/h3&gt;
&lt;p&gt;此函数管理整个批量流程，使用 asyncio.Semaphore（信号量）来控制最大并发数，并使用 asyncio.gather 来并发执行所有任务。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;generate_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;Dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Any&lt;/span&gt;&lt;span class="p"&gt;]]:&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"""
        批量生成主方法
        :param prompts: 提示词列表
        :param params: 额外API参数，如 aspectRatio="16:9"
        :return: 生成结果列表
        """&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;not&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;session&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;raise&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;RuntimeError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"请使用异步上下文管理器（async with）来调用此客户端"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 创建信号量以严格控制最大并发数
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;semaphore&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Semaphore&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;bounded_task&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Dict&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Any&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;semaphore&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 只有获得“通行证”的任务才能执行
&lt;/span&gt;&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="c1"&gt;# 在请求间添加微小延迟，平滑流量，避免瞬时峰值
&lt;/span&gt;&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.05&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;_generate_single_with_retry&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"开始批量生成，总计 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; 个任务，最大并发数 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="bp"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;..."&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;start_time&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 创建所有异步任务对象
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;bounded_task&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 并发执行所有任务，并等待它们全部完成
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;gather&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;return_exceptions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;elapsed_time&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;start_time&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"批量生成完成！总耗时 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;elapsed_time&lt;/span&gt;&lt;span class="p"&gt;:.&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; 秒"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 统一处理结果，将异常转换为格式化的字典
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;processed_results&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;isinstance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;Exception&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="n"&gt;processed_results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="s"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="n"&gt;processed_results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;processed_results&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="四、实战用例：亚马逊电商套图生成"&gt;四、实战用例：亚马逊电商套图生成&lt;/h2&gt;
&lt;p&gt;现在，让我们将上面的客户端应用于一个真实场景：为一个产品批量生成亚马逊页面所需的全套图片。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ==================== 实战用例：亚马逊电商套图生成 ====================async def main():
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="s"&gt;"""实战案例：为智能咖啡杯生成亚马逊产品套图"""&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"your_grsi_api_key_here"&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 请替换为Grsai.com提供的APiKey
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# 产品核心描述
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"a modern smart coffee mug with temperature display"&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# 构建亚马逊产品页面所需的多样化提示词列表
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;, on a pure white background, professional product photography, Amazon main image"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;, on a wooden desk in a cozy home office, lifestyle shot"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Close-up of &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;'s LED screen showing 65°C, macro photography"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"A person's hands holding &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; in a modern kitchen, action shot"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;product_desc&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; shown next to a regular coffee mug for size comparison"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# API调用参数
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;generate_params&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"aspectRatio"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"1:1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 正方形构图，适合电商平台
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"imageSize"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"2K"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="c1"&gt;# 可选：输出尺寸（1K, 2K, 4K）
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="s"&gt;"urls"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"https://example.com/example.png"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 参考图
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# 执行批量生成：使用async with自动管理客户端生命周期
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;NanoBananaBatchGenerator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;max_concurrent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;generator&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="k"&gt;await&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;generator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;generate_batch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;generate_params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 分析并打印结果
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;success_count&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="nb"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;任务 &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: '&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'prompt'&lt;/span&gt;&lt;span class="p"&gt;][:&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;...'"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"success"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="n"&gt;success_count&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;+=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="n"&gt;image_data&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{})&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="c1"&gt;# 图像URL通常位于 data.results[0].url
&lt;/span&gt;&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="s"&gt;"results"&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;image_data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                    &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"✅ 生成成功！"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;            &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;                &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"❌ 失败: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'error'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 运行主函数if __name__ == "__main__":
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;asyncio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;通过以上拆解，您可以看到，从初始化、资源管理、单个请求重试，到最终的批量调度，每一步都如何设计。&lt;/p&gt;

&lt;p&gt;##&lt;/p&gt;
&lt;h2 id="五、使用WebHook回调处理结果方法"&gt;五、使用 WebHook 回调处理结果方法&lt;/h2&gt;
&lt;p&gt;适用于解耦的后台任务系统，你需要一个公网可访问的服务器来接收回调。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-b822181c2f3a28eeac7b9e0cf4467363_720w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;1.请求参数：设置 “webHook” 为你服务器的回调地址。可搭配 “shutProgress”: true 让回调只发最终结果。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="err"&gt;    “&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; “&lt;/span&gt;&lt;span class="n"&gt;nano&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;banana&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;pro&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;    “&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; “&lt;/span&gt;&lt;span class="n"&gt;一只猫&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;    “&lt;/span&gt;&lt;span class="n"&gt;aspectRatio&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; “&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="err"&gt;    “&lt;/span&gt;&lt;span class="n"&gt;webHook&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; “&lt;/span&gt;&lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="n"&gt;your&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;server&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;callback&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="c1"&gt;# 你的回调地址
&lt;/span&gt;&lt;span class="err"&gt;    “&lt;/span&gt;&lt;span class="n"&gt;shutProgress&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;true&lt;/span&gt;&lt;span class="err"&gt;  &lt;/span&gt;&lt;span class="c1"&gt;# 回调只接收最终结果，可选}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2.处理回调：你的服务器需要提供一个能处理 POST 请求的接口。、&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 使用Flask的简单示例from flask import Flask, request
&lt;/span&gt;&lt;span class="n"&gt;app&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;Flask&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;__name__&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="n"&gt;app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;callback&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;methods&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;POST&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;&lt;span class="n"&gt;def&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;handle_callback&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="c1"&gt;# 根据ID匹配你的任务
&lt;/span&gt;&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;&lt;span class="err"&gt; ‘&lt;/span&gt;&lt;span class="n"&gt;succeeded&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="n"&gt;image_url&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="c1"&gt;# 保存URL或触发后续操作
&lt;/span&gt;&lt;span class="err"&gt;        &lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="err"&gt;“&lt;/span&gt;&lt;span class="n"&gt;任务&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="n"&gt;完成&lt;/span&gt;&lt;span class="err"&gt;，&lt;/span&gt;&lt;span class="n"&gt;图片&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="n"&gt;image_url&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="err"&gt;”&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="err"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="err"&gt; ‘&lt;/span&gt;&lt;span class="n"&gt;OK&lt;/span&gt;&lt;span class="err"&gt;’ &lt;/span&gt;&lt;span class="c1"&gt;# 务必返回成功响应
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;3.第一次响应：提交任务后，API 会立即返回一个 JSON，其中包含 data.id（任务 ID），你需要保存它，以便在回调中识别对应任务。&lt;/p&gt;

&lt;p&gt;你可以通过接入 GrsAI Api 用极低成本结合异步并发的高效调度，实现 AI 图像与视频无限制批量生成，提高创作效率与降低成本。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Thu, 08 Jan 2026 19:17:54 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6776</link>
      <guid>https://beta.w2solo.com/topics/6776</guid>
    </item>
    <item>
      <title>GrsAi Api 聚合平台跑路了？充值完居然无法打开网页，到底怎么回事？</title>
      <description>&lt;p&gt;你是不是也遇到 GrsAi API 这个 AI 大模型 API 聚合平台打不开的情况了？难道跑路了？当初就是冲着它便宜、稳定、高并发才选的这个 APi 源头供应商，没想到太不靠谱了！GrsAi 是不是真的跑路了？怎么突然就彻底访问不了，浏览器一直提示 “无法访问此网站”，要怎么解决啊？
&lt;img src="https://f.vue2.net/images/2025/12/29/7720a185f33b06440709f365b936c79d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;我知道你急，但你先别急。没跑路，因为不可抗力因素（被墙了）导致国内无法访问，如果你会科学上网有魔法还是可以正常用 Grsai.com，但如果你不知道啥叫科学上网啥是魔法，那你就无法正常使用！本篇文章会提供国内用户访问方法、以及 Grsai API 接入实战指南，帮助大家快速上手并稳定使用 API 接口服务。
&lt;img src="https://f.vue2.net/images/2025/12/29/cf8213c198da132693b2e2b5d31376dc.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="一、国内用户如何访问Grsai？"&gt;一、国内用户如何访问 Grsai？&lt;/h2&gt;
&lt;p&gt;当前，Grsai 的服务主要通过以下两种方式访问，请根据自身网络环境选择：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.推荐！原国际域名（需科学上网，不会暂停运营）：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;国际官网：&lt;a href="grsai.com" title=""&gt;grsai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;批量生成工具：&lt;a href="image.grsai.com" title=""&gt;image.grsai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;如果您已掌握科学上网方法，直接访问以上.com 域名&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.备选！国内直连域名（无需科学上网，存在被墙风险）：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;国内官网：&lt;a href="Grsai.ai" title=""&gt;Grsai.ai&lt;/a&gt; (将原.com 替换为.ai)&lt;/p&gt;

&lt;p&gt;批量生成工具：&lt;a href="image.grsai.ai" title=""&gt;image.grsai.ai&lt;/a&gt; (同上)&lt;/p&gt;

&lt;p&gt;针对无法使用科学上网没有魔法的用户，Grsai 提供了专用的国内访问域名。
简单总结：会科学上网，用 .com；不会或不想用，就用 .ai。服务内容和账号数据完全互通，请放心使用。
&lt;img src="https://f.vue2.net/images/2025/12/29/d7bc8ce608d119b17266d6493f261a63.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="二、Grsai是什么？靠谱吗？"&gt;二、Grsai 是什么？靠谱吗？&lt;/h2&gt;
&lt;p&gt;Grsai 是一个专注于提供稳定、高性价比 AI 绘画 API 的源头供应商。其核心定位是服务开发者、工作室及有大量生图需求的用户。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;API 源头服务&lt;/strong&gt;：提供主流 AI 模型（如 Nano Banana Pro，Sora2，Gpt image1.5，Veo3.1，Gemini3.....）的 API 接口，方便开发者集成到自己的应用、机器人或工作流中。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;便宜稳定&lt;/strong&gt;：非中间商所以能做到最低价，技术 24 小时在线保证服务稳定。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;失败秒退&lt;/strong&gt;：生成失败直接秒退，日志查询记录。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;完善后台服务&lt;/strong&gt;：清晰仪表盘，随时监控 API 使用情况、日志、模型状态等。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;存储库功能&lt;/strong&gt;：生成的图片会保存在用户的私有存储库中，提供临时链接。节省用户流量和存储成本，图片可直接从 Grsai 的存储链接调用。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;批量生成工具&lt;/strong&gt;：通过 image.grsai.com（或 image.grsai.ai）工具，用户无需编程即可进行大批量的图片生成任务，极大地提升了工作效率。&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/29/caf46069e43b528bb1d7b3aa1e021b90.png" title="" alt=" "&gt;
注意！由于是源头供应模型所以模型少得可怜，模型太多维护困难，我们坚持精选策略，专注接入国外主流优质模型！那种国内外模型都提供更新的超快的，大多是 “中间商赚差价” 的中转站，到处转接 APi，容易出问题不稳定，遇到问题无法第一时间维护依赖上游，性价比往往不高。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/29/9a43a434ac773c3e97f7b5f58d541e8e.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="三、部份模型介绍"&gt;三、部份模型介绍&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1.图像模型（文生图）&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-Image 1.5: 0.02/张&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nano Banana: 0.022/张，选择 fast 版性价比更高&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Nano Banana Pro&lt;/strong&gt; :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;5 个 pro 版本怎么选？
&lt;img src="https://f.vue2.net/images/2025/12/29/5e006fd34b44392187c75268fe3f200f.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;首选：工作日高峰期（下午/晚上）会出现超时无法生存&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Nano-Banana-Pro-vt：0.09/张&lt;/strong&gt;（1-2-4k 最高清，画质最好的渠道）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nano-Banana-Pro-pro：0.09/张（1-2-4k）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;备选：付费渠道贵，稳定一些&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nano-Banana-Pro-cl：0.17/张（1-2-4k）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nano-Banana-Pro-vip：0.35/张（1-2k）&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nano-Banana-Pro-4k-vip：0.43/张（4k）&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;建议首选和备选结合使用，纳米香蕉 2 不管是什么渠道都会存在不稳定情况，只能通过切换备选渠道保证服务稳定！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.视频模型（文生视频）&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sora 2: 0.08/条&lt;/strong&gt;，支持 Cameo（创建角色）、Remix（二创视频）、多角色上传及 AI 视频上传角色等高级功能&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Veo 3.1/3.0: 0.4/条&lt;/strong&gt;，Pro/fast 版本都不支持中文提示词&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3.文本模型（对话/写作）&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini 2.5 Pro：input: 1.25 /M tokens ，output: 6.25~ /M tokens&lt;/li&gt;
&lt;li&gt;Gemini 3 Pro：input: 1/M tokens ，output: 6/M tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/29/b29c623f68ec12d47a329abd0c6ba239.png" title="" alt=" "&gt;
具体请看模型列表：&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="四、GrsAi热门模型接入教程"&gt;四、GrsAi 热门模型接入教程&lt;/h2&gt;
&lt;p&gt;1.访问官网&lt;a href="https://grsai.comcom%E5%9F%9F%E5%90%8D%E9%9C%80%E8%A6%81%E9%AD%94%E6%B3%95%E6%89%8D%E8%83%BD%E8%AE%BF%E9%97%AE%EF%BC%8C%E6%B2%A1%E6%9C%89%E5%88%99%E6%94%B9%E6%88%90.ai)" rel="nofollow" target="_blank"&gt;https://grsai.comcom 域名需要魔法才能访问，没有则改成.ai)&lt;/a&gt;(
2.控制台创建 APikey（可设置限制额度）
3.查看开发文档接入模型&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/29/4dbcd0c43bebd9d90caec21446eb020e.png" title="" alt=" "&gt;
节点信息&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host(海外)：https://grsaiapi.com

Host(国内直连)：https://grsai.dakka.com.cn

使用方式Host+接口：https://grsai.dakka.com.cn/v1/draw/nano-banana
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="Nano Banana Pro API接入实战"&gt;Nano Banana Pro API 接入实战&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Nano Banana——0.022/张，Nano Banana Pro-0.09/张&lt;/strong&gt;，谷歌的纳米香蕉模型图片编辑能力强，能保持最多 14 张图的角色一致性，中文输出效果好，拥有世界知识和思考分析能力。特别适合出海跨境电商、国内电商产品图设计、海报/宣传物料制作。操作简单，自然语言描述即可快速迭代，高效生成专业级视觉内容。&lt;/p&gt;
&lt;h3 id="官方接口调用方法："&gt;官方接口调用方法：&lt;/h3&gt;
&lt;p&gt;基础地址替换为 Grsai 的地址，模型名称 gemini-2.5-flash-image 改为 nano-banana-fast
url 示例：&lt;a href="https://grsai.dakka.com.cn/v1beta/models/nano-banana-fast:streamGenerateContent" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn/v1beta/models/nano-banana-fast:streamGenerateContent&lt;/a&gt;&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;

&lt;span class="n"&gt;api_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"sk-你的APIKey"&lt;/span&gt;
&lt;span class="n"&gt;base_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://grsai.dakka.com.cn"&lt;/span&gt;&lt;span class="c1"&gt;#国内地址，海外地址：https://grsaiapi.com
&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;nano_banana_pro&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="s"&gt;"""生成图片 - 一行调用"""&lt;/span&gt;
    &lt;span class="c1"&gt;# 1. 提交任务
&lt;/span&gt;    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"nano-banana-pro"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="c1"&gt;#nano-banana-fast是香蕉1模型
&lt;/span&gt;        &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"aspectRatio"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"1:1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"webHook"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"-1"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/nano-banana"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                       &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                       &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="n"&gt;task_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"任务ID: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# 2. 轮询结果（最多等30秒）
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/result"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                              &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                              &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"succeeded"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"✅ 生成成功！"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"图片URL: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"failed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"❌ 生成失败"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"⏰ 超时"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

&lt;span class="c1"&gt;# 使用
&lt;/span&gt;&lt;span class="n"&gt;image_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nano_banana_pro&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"一只可爱的猫咪"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="Gpt image 1.5  API接入教程"&gt;Gpt image 1.5  API 接入教程&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;GPT Image 1.5——0.02/张&lt;/strong&gt;，是 OpenAI 旗舰图像模型，专为专业级视觉内容设计，生成速度比前代快至 4 倍。中文容易变形，角色一致性强，编辑能力强大，是 Nano banana pro 的平替。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;

&lt;span class="n"&gt;api_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"sk-你的APIKey"&lt;/span&gt;
&lt;span class="n"&gt;base_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://grsai.dakka.com.cn"&lt;/span&gt;&lt;span class="c1"&gt;#国内地址，海外地址：https://grsaiapi.com
&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;gpt_image_15&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="s"&gt;"""生成图片"""&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"gpt-image-1.5"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"size"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"1:1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"webHook"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"-1"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/completions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                       &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                       &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="n"&gt;task_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/result"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                              &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                              &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"succeeded"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"✅ 图片: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"failed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

&lt;span class="c1"&gt;# 使用
&lt;/span&gt;&lt;span class="n"&gt;gpt_image_15&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"夕阳下的海滩"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="Sora2 API接入教程"&gt;Sora2 API 接入教程&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Sora 2-0.08 元/条，&lt;/strong&gt;是 OpenAI 最强的文本到视频模型，支持同步音频和高级物理模拟。物理模拟准确（重力、浮力、刚性），运动流畅，支持多镜头叙事；同步音频优秀，含精准唇同步、音效与背景声；角色一致性强，可通过图像/视频输入扩展，保持人物外观动作稳定中文提示理解精准，字幕文字清晰自然。特别适合跨境/国内电商短视频、产品展示、广告宣传，自然语言 + 图像输入快速迭代专业带音短视频。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;time&lt;/span&gt;

&lt;span class="n"&gt;api_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"sk-你的APIKey"&lt;/span&gt;
&lt;span class="n"&gt;base_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://grsai.dakka.com.cn"&lt;/span&gt;&lt;span class="c1"&gt;#国内地址，海外地址：https://grsaiapi.com
&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sora2_video&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="s"&gt;"""生成视频"""&lt;/span&gt;
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"sora-2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 只能英文
&lt;/span&gt;        &lt;span class="s"&gt;"aspectRatio"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"9:16"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"duration"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"webHook"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"-1"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/video/sora-video"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                       &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                       &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="n"&gt;task_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;  &lt;span class="c1"&gt;# 视频生成时间长，多等一会
&lt;/span&gt;        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/result"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; 
                              &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                              &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()[&lt;/span&gt;&lt;span class="s"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"succeeded"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"✅ 视频: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"failed"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

&lt;span class="c1"&gt;# 使用
&lt;/span&gt;&lt;span class="n"&gt;sora2_video&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"一只猫咪在沙滩上玩排球"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="五、总结"&gt;五、总结&lt;/h2&gt;
&lt;p&gt;如果你有魔法建议还是继续使用&lt;strong&gt;Grsai.com&lt;/strong&gt;这个主域名，如果没有可以访问国内直连&lt;strong&gt;Grsai.ai&lt;/strong&gt;两个站都会同时运营维护，不会跑路所以放心使用，APi 调用上有任何问题都可以找我解答！&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Mon, 29 Dec 2025 21:52:06 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6750</link>
      <guid>https://beta.w2solo.com/topics/6750</guid>
    </item>
    <item>
      <title>【避雷】想赚钱赚疯了！这个 API 站上了 5 个 Nano Banana Pro 模型越卖越贵</title>
      <description>&lt;p&gt;咋回事？容我解释为啥会有那么多个 NanobananaPro 模型，而独立开发们又应该怎么选择！
&lt;img src="https://img.way2solo.com/photo/ALLENREN/b7c98298-f413-4034-a1a6-95288c9e243f.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;纳米香蕉 api 我都是对接官方渠道，一到高峰期就限速，动不动生成失败！所以我们换渠道换着换着版本就多了，这时候你要说了
“你干嘛不合并一起？或者内部切换渠道，反正我们感觉不到”
不不不！因为不同渠道模型效果是有区别的！有的渠道 4k 不清晰，有的渠道 4k 很清晰，所以没法混一起用。&lt;/p&gt;

&lt;p&gt;&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank" title=""&gt;Grsai api&lt;/a&gt;目前是上了好 5 个版本的 Nano banana pro 模型咋区分？
1️⃣普通版本，高峰期会不稳定，价格便宜
1～4k: nano-banana-pro（0.09/张 4k 没 vt 清晰）
1～4k：nano-banana-pro-vt（0.09/张 4k 最高清，高峰期限速失败频繁）
1～4k：nano-banana-pro-cl（0.17/张）&lt;/p&gt;

&lt;p&gt;❓普通版本为啥那么多？由于谷歌稳定性太差所以接入了不同渠道分散压力，遇到生成失败的渠道你就换一个使用。
推荐使用 vt，4k 更高清但是在工作日高峰期会出现生成超时。&lt;/p&gt;

&lt;p&gt;2️⃣稳定版本，价格高，稳定性强
1-2k:nano-banana-pro-vip（0.35/张）
4k:nano-banana-pro-4k-vip（0.43/张）&lt;/p&gt;

&lt;p&gt;❓为啥贵那么多？Vip 版本付费渠道，成本高，稳定性也强不会存在高峰期限速问题&lt;/p&gt;

&lt;p&gt;总结：按需选择，如果对稳定性要求很高建议直接用 VIP 版本或者普通和 VIP 结合使用。
评论区留下你的账号邮箱，帮你开通最高自定义充值优惠！有疑问可以直接提问&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Fri, 26 Dec 2025 15:47:47 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6736</link>
      <guid>https://beta.w2solo.com/topics/6736</guid>
    </item>
    <item>
      <title>【全网最低价】Gpt Image 1.5——0.02/张！GrsAi API 源头供应商有的是底气！</title>
      <description>&lt;p&gt;你还在调用高价 Gpt image 1.5？阿祖收手吧！GrsAi API——0.02/张不香吗？&lt;/p&gt;

&lt;p&gt;不仅便宜还稳定！Openai 的模型不得不说稳得不得了！不像谷歌家的大善人羊毛不好薅！&lt;/p&gt;
&lt;h2 id="GrsAI APi国内直连！源头供应"&gt;GrsAI APi 国内直连！源头供应&lt;/h2&gt;
&lt;p&gt;GrsA IAPI（&lt;a href="https://grsai.com" rel="nofollow" target="_blank"&gt;https://grsai.com&lt;/a&gt; ）是 Ai 大模型 API 源头供应平台。如果你觉得官方 APi 费用较高，想要寻找低成本和高稳定性那最适合不过你。
价格远低于官方：最高质量图像 0.02 元/张左右（批量生成额外图仅消耗 50 积分）。
国内直连更稳定：提供国内与海外双节点自由选择，访问速度快、稳定性高，支持高并发。
丰富模型选择：一站式接入多种先进图像生成模型，目前站内模型包含：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GPT Image 1.5 —— 0.02/张&lt;/li&gt;
&lt;li&gt;GPT-4o ——0.02/张&lt;/li&gt;
&lt;li&gt;Nano Banana——0.022/张&lt;/li&gt;
&lt;li&gt;Nano Banana Pro— 0.09/张&lt;/li&gt;
&lt;li&gt;Sora2—— 0.08/条&lt;/li&gt;
&lt;li&gt;Veo3.1 / Veo3.0——0.4/条&lt;/li&gt;
&lt;li&gt;Gemini 等
功能完整：支持流式响应、Webhook 回调、进度查询、多张参考图片 URL、批量生成等高级特性。
失败不扣费：不管是什么原因导致的失败均布扣费，秒返积分。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/99fb0bd3-c028-4584-8a63-e29c98aacdf7.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;更多模型详情及最新定价，请直接查看 GrsAI 控制台模型列表：&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt;
官方文档：&lt;a href="https://grsai.com/zh/dashboard/documents/gpt-image" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/documents/gpt-image&lt;/a&gt;&lt;/p&gt;
&lt;h2 id="GrsAi API Key获取方法"&gt;GrsAi API Key 获取方法&lt;/h2&gt;
&lt;p&gt;1.访问 GrsAi 控制台（&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt;）
2.右上角创建，复制使用即可
&lt;img src="https://img.way2solo.com/photo/ALLENREN/798fada8-0896-4519-aa8b-d06f1f1e34dd.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="GrsAI 国内快速接入代码"&gt;GrsAI 国内快速接入代码&lt;/h2&gt;
&lt;p&gt;安装依赖&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;示例 1：流式响应（推荐，实时获取进度）&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;

&lt;span class="c1"&gt;# 配置信息
&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"你的API密钥"&lt;/span&gt;  &lt;span class="c1"&gt;# 从GRSAI平台获取
&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://api.grsai.com"&lt;/span&gt;  &lt;span class="c1"&gt;# 海外节点
# BASE_URL = "https://api.grsai.cn"  # 国内节点
&lt;/span&gt;
&lt;span class="c1"&gt;# 请求头
&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s"&gt;"Content-Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"application/json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;generate_image_simple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="s"&gt;"""
    最简单的图片生成函数
    prompt: 图片描述，如"一只可爱的猫咪在草地上玩耍"
    """&lt;/span&gt;
    &lt;span class="c1"&gt;# 请求数据
&lt;/span&gt;    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"sora-image"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 固定值
&lt;/span&gt;        &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;       &lt;span class="c1"&gt;# 必填：图片描述
&lt;/span&gt;        &lt;span class="s"&gt;"size"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"1:1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;          &lt;span class="c1"&gt;# 选填，比例：auto、1:1、3:2、2:3
&lt;/span&gt;        &lt;span class="s"&gt;"variants"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;           &lt;span class="c1"&gt;# 选填，批量生成 1-2 张（默认1，每额外一张 +50 积分）
&lt;/span&gt;    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# 发送请求
&lt;/span&gt;    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE_URL&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/completions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# 处理流式响应
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iter_lines&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;line_str&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;line&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'utf-8'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;line_str&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'data: '&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
                &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;line_str&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;:])&lt;/span&gt;

                &lt;span class="c1"&gt;# 显示进度
&lt;/span&gt;                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="s"&gt;'progress'&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"进度: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'progress'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;%"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

                &lt;span class="c1"&gt;# 生成完成
&lt;/span&gt;                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'progress'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'succeeded'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"✓ 生成成功!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"图片地址: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"图片尺寸: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'width'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;x&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'height'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;
                    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"✗ 生成失败:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'failure_reason'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
                        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;

&lt;span class="c1"&gt;# 使用示例
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"__main__"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;generate_image_simple&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"一只可爱的猫咪在草地上玩耍"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"图片已生成完成!"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;示例 2：使用 webHook 异步回调（适合生产环境）
在 payload 中添加 "webHook": "你的服务器地址"，服务器接收 POST 数据即可处理结果。&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;

&lt;span class="c1"&gt;# 配置
&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"你的密钥"&lt;/span&gt;
&lt;span class="n"&gt;HOST&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://api.grsai.com"&lt;/span&gt;

&lt;span class="c1"&gt;# 要生成的内容
&lt;/span&gt;&lt;span class="n"&gt;prompt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"一只可爱的猫咪在草地上玩耍"&lt;/span&gt;

&lt;span class="c1"&gt;# 请求数据 - 关键就是加这一行！
&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"sora-image"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;"webHook"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"http://你的服务器地址/callback"&lt;/span&gt;  &lt;span class="c1"&gt;# ← 就加这一行！
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# 发送请求
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;HOST&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/completions"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="s"&gt;"Content-Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"application/json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"任务已提交！"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;示例 3：立即返回 ID + 轮询结果&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 第一步：提交任务
&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"webHook"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"-1"&lt;/span&gt;  &lt;span class="c1"&gt;# 特殊值，返回 ID
&lt;/span&gt;
&lt;span class="n"&gt;resp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;task_id&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;resp&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'data'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"任务 ID: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 第二步：轮询结果
&lt;/span&gt;&lt;span class="n"&gt;result_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;host&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;/v1/draw/result"&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result_url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;task_id&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'code'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'data'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"状态: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;"succeeded"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;res&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
                &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"图片: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;res&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;
    &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 每 5 秒查一次
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;通过 GrsAI 接入 GPT Image 1.5 ，你可以以更低的成本和更高的稳定性快速集成更多高级图像生成能力。去试试看吧！&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Thu, 18 Dec 2025 23:14:25 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6666</link>
      <guid>https://beta.w2solo.com/topics/6666</guid>
    </item>
    <item>
      <title>真的火了！这个 API 源头供应站月访问量 10W，Sora2-0.08/条稳定性到底如何？开发能放心接入吗？</title>
      <description>&lt;p&gt;Sora2 模型官方 API 正式开放，对于企业而言，这无疑是一个巨大的商机——只需几行代码，便能将影视级内容生产能力，接入自己的应用、产品与工作流中。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;标准版 (sora-2, 720p)：$0.10/秒（￥7/条 10s 视频，￥11/条 15s 视频）&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/11/804ae031c282b4bbcfad07807cf6f934.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;官方按秒计费贵的离谱！这对于需要频繁迭代测试的产品原型，或计划为成千上万个商品批量生成视频的电商场景，累计成本将是一个天文数字。又有几个企业调用的起？所以大家更偏向寻找 API 聚合平台，使用比官方便宜的价格，接入一样的模型。&lt;/p&gt;

&lt;p&gt;对于广大中小企业和独立开发者而言，去哪里找一个价格低至 “白菜价”！调用失败不扣钱！支持高并发还保证稳定的 Sora2 API 站？&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/11/73d15673561e7f5b5cbb0cde8d488a3f.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;本篇文章将从多维度深度测评 GrsAi API（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/&lt;/a&gt;）Ai 大模型 API 聚合平台是源头供应，非第三方中转。最近在出海圈备受关注，&lt;strong&gt;官网访问量在短短两个月内从 9.5K 涨到了 91.32K，月访问量已接近 10 万次&lt;/strong&gt;。它的模型稳定性到底怎么样，为啥能吸引这么多开发者关注，我将围绕开发者最关心的几个核心指标对其进行评估，看 0.08/条的价格能否扛得住你的需求量。&lt;/p&gt;
&lt;h2 id="一、热门API平台核心功能对比"&gt;一、热门 API 平台核心功能对比&lt;/h2&gt;&lt;table class="table table-bordered table-striped"&gt;
&lt;tr&gt;
&lt;th&gt;评估维度&lt;/th&gt;
&lt;th&gt;OpenAI API（官方）&lt;/th&gt;
&lt;th&gt;GrsAI（API 源头供应商）&lt;/th&gt;
&lt;th&gt;某 API 平台（中转平台）&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;核心功能&lt;/td&gt;
&lt;td&gt;提供全部原生能力&lt;/td&gt;
&lt;td&gt;功能集成度高：Cameo（支持多角色）、视频二创（Remix），创建角色，原视频创建角色能力&lt;/td&gt;
&lt;td&gt;cont 只文本生成视频，校色创建，功能少&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;计费标准&lt;/td&gt;
&lt;td&gt;一秒 $0.1(0.7 元）&lt;/td&gt;
&lt;td&gt;0.08/条视频（10-15s）&lt;/td&gt;
&lt;td&gt;0.15/条视频&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;使用地区&lt;/td&gt;
&lt;td&gt;服务区域受限，目前未向中国大陆地区开放。&lt;/td&gt;
&lt;td&gt;全球可用&lt;/td&gt;
&lt;td&gt;仅国内&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;接入难度&lt;/td&gt;
&lt;td&gt;接入复杂，面临网络，国际支付问题&lt;/td&gt;
&lt;td&gt;开发文档清晰，接入简单&lt;/td&gt;
&lt;td&gt;开发文档混乱&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;稳定性与风险&lt;/td&gt;
&lt;td&gt;网络波动，失败需扣费&lt;/td&gt;
&lt;td&gt;稳定性高：失败秒返，提供存储库服务节省流量成本&lt;/td&gt;
&lt;td&gt;中转平台依赖上游：稳定性受制于供应商，失败 5 分种内退&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;性能限制&lt;/td&gt;
&lt;td&gt;有严格并发限制，调用速率受限&lt;/td&gt;
&lt;td&gt;无并发限制，适合批量、高并发任务&lt;/td&gt;
&lt;td&gt;存在并发限制&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;h2 id="二、GrsAI稳定性与性价比深度测试"&gt;二、GrsAI 稳定性与性价比深度测试&lt;/h2&gt;
&lt;p&gt;为了验证 GrsAI 在实际生产环境中的表现，我们设计了为期一周的压力与成本测试，主要围绕计费模式、服务稳定性、个性化服务、功能完整度和全球可用性这五个核心维度展开。&lt;/p&gt;
&lt;h2 id="计费模式："&gt;计费模式：&lt;/h2&gt;
&lt;p&gt;官方 Sora2API 10s 视频约￥7，而 GrsAI Sora2 仅为￥0.08。这意味着成本降低了 98% 以上，对于需要大规模或频繁调用的项目，这是决定性的价格优势。&lt;/p&gt;

&lt;p&gt;目前站内模型包含：&lt;strong&gt;Nano Banana Pro-0.09/张，Nano Banana-0.022/张，Sora-image（Gpt4o）-0.02/张，Sora2——0.08/条，Veo3.1/Veo3.0-0.4/张，Gemini&lt;/strong&gt;.......更多请查看 GrsAi 控制台 (&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt;) 模型列表。
&lt;img src="https://f.vue2.net/images/2025/12/11/42e6b1749f55985ba585fb5fefcab920.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;并且 GrsAI 平台采用 “失败不扣分” 的机制点，我们模拟了 20 次包含违规内容或错误参数的调用。结果显示，所有失败的调用均在几秒内自动返还了积分，将试错成本降为零。&lt;/p&gt;
&lt;h2 id="稳定性与失败率："&gt;稳定性与失败率：&lt;/h2&gt;
&lt;p&gt;服务的稳定性直接决定了其能否投入生产环境。我们对 “高并发” 和 “高稳定” 进行了极限压力测试。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 高并发极限测试：&lt;/strong&gt; 我们在一分钟内连续发起 500 次并发请求，模拟瞬时流量洪峰。测试结果显示，所有 500 个请求均被成功接收并进入处理队列，未出现拒绝服务或崩溃，系统响应平稳，平均生成速度 3 分钟。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 大规模稳定性测试：&lt;/strong&gt; 为了检验其持续服务能力，我们在一天内不同时段，累计进行了超过 3000 次标准视频生成调用。&lt;/p&gt;

&lt;p&gt;最终成功率高达 99.1%。 对极少数的失败案例（约 0.9%）进行根因分析发现，所有失败均明确可归因于客户端输入问题，例如提示词无意中触及了平台严格的内容安全红线（如涉及未成年人等受限制内容）。在整个测试过程中，没有一次失败是由 GrsAI 自身服务端故障、通道不稳定或性能瓶颈导致的。&lt;/p&gt;

&lt;p&gt;测试证实，GrsAI 的服务架构足以支撑企业级的瞬时高并发与长期大规模稳定调用。&lt;/p&gt;
&lt;h2 id="个性化服务："&gt;个性化服务：&lt;/h2&gt;
&lt;p&gt;除了基础生成，我们对 GrsAI 的企业级功能——自定义存储库 进行了专项测试。此功能允许开发者将视频、图片等素材直接上传至平台托管的存储空间，降低隐性成本，提升工作流效率。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 核心机制与成本节省&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在常规工作流中，开发者需要自建对象存储服务，这意味着：需要额外购买云存储、管理访问权限，并承担素材在 “用户服务器 → 云存储 → AI 模型” 之间多次流转产生的流量费用。 GrsAI 的存储库将这一链条极大简化，直接引用存储库返回的链接即可，无需再次经过自有服务器中转。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 实测效果&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我们模拟了一个 “生成 100 条商品视频，并选取其中 20 条进行风格化二次创作” 的批量化任务。使用存储库后，仅文件传输环节，预计可节省约 70% 的中间流量成本。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/11/6a3cb2c5fad47fa6fe1d98c475517f60.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="功能完整度："&gt;功能完整度：&lt;/h2&gt;
&lt;p&gt;GrsAI 的核心优势之一，是提供了完整的 Sora2 原生高级功能接口，让开发者能直接调用官方最核心的创作能力，主要包括以下三项：&lt;/p&gt;
&lt;h3 id="1. 角色创建（Cameo）"&gt;1. 角色创建（Cameo）&lt;/h3&gt;
&lt;p&gt;允许你将一个非人物形象的角色上传至平台，生成一个专属的、可复用的数字角色。之后在生成任何新视频时，只需在提示词中 @ 该角色，即可让其稳定地出现在新场景中，确保品牌形象在不同视频中绝对一致。&lt;/p&gt;
&lt;h3 id="2. 视频二创（Remix）"&gt;2. 视频二创（Remix）&lt;/h3&gt;
&lt;p&gt;此功能可对 Sora2 平台上的视频，通过修改提示词，进行二创修改内容。&lt;/p&gt;
&lt;h3 id="3. 从AI视频中创建新角色"&gt;3. 从 AI 视频中创建新角色&lt;/h3&gt;
&lt;p&gt;你可以从任何由 Sora2 生成的视频中，截取其中几秒表现优异的角色镜头，并将其 “提取” 出来，创建可复用角色。&lt;/p&gt;
&lt;h2 id="全球服务能力："&gt;全球服务能力：&lt;/h2&gt;
&lt;p&gt;国内外直连接接口根据需求自选&lt;/p&gt;
&lt;h2 id="- 通过国内直连域名 (grsai.dakka.com.cn) 调用，平均延迟低于50毫秒，体验流畅。"&gt;- 通过国内直连域名 (grsai.dakka.com.cn) 调用，平均延迟低于 50 毫秒，体验流畅。&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;通过其国际接口 (api.grsai.com) 从海外节点调用，平均延迟约为 150 毫秒，远优于从海外直接访问源服务的体验。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在整个测试周期内，两地的服务均保持了 100% 的可用性。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/12/11/be245ea9f0c4bf8d45c775b597810b07.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;这一能力对于开发团队分布在不同国家、或产品用户面向全球的企业至关重要。它确保了无论开发者在何处，都能获得一致、低延迟的稳定服务，免除了跨境网络访问的常见烦恼。&lt;/p&gt;
&lt;h2 id="三、Sora2 API接入教程"&gt;三、Sora2 API 接入教程&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;访问 GrsAi Api 控制台（&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;创建 API Key 并保存&lt;/li&gt;
&lt;li&gt;查看在线体验/文档，为接入准备&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sora2 文档：&lt;a href="https://grsai.com/zh/dashboard/documents/sora-2" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/documents/sora-2&lt;/a&gt;
&lt;img src="https://f.vue2.net/images/2025/12/11/9938d4a7eb02e6a5dfa08ea2a5338541.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;环境准备
所有请求都需要在 Header 中添加认证信息：
&lt;code&gt;JavaScript
{
"Content-Type": "application/json",
"Authorization": "Bearer apikey" // 替换为实际API密钥
}
&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;基础视频生成示例&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 最简单的视频生成请求const response = await fetch('https://grsai.dakka.com.cn/v1/video/sora-video', {&lt;/span&gt;
    &lt;span class="nx"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer your_api_key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
        &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sora-2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;A cute cat playing on the grass&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;aspectRatio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;16:9&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;
    &lt;span class="p"&gt;})});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="四、核心新功能接入教程"&gt;四、核心新功能接入教程&lt;/h2&gt;&lt;h2 id="功能一：角色上传接口"&gt;功能一：角色上传接口&lt;/h2&gt;
&lt;p&gt;介绍：这是 Sora2 模型原生 Cameo（角色客串）能力的关键接口。企业或开发可以将已准备好的、合规的非真人角色视频片段（如品牌吉祥物、卡通形象、3D 模型动画等）上传至平台。通过此接口创建的角色，能在后续所有视频生成任务中被稳定调用，确保角色形象、动作风格在不同视频、不同场景中保持绝对一致性。
&lt;img src="https://f.vue2.net/images/2025/12/11/55ace22ad91e9e37136fb5a1d47e323a.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;接口地址&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;POST&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;v1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;video&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;sora&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;upload&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;character&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;核心参数说明&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;角色视频URL或Base64编码&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;timestamps&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0,3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;webHook&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;可选回调地址&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;实战调用示例&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 上传角色视频片段const uploadCharacter = async (videoUrl, startTime, endTime) =&amp;gt; {&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://grsai.dakka.com.cn/v1/video/sora-upload-character&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer your_api_key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;videoUrl&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;startTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;endTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 例如：开始秒数,结束秒数例如"0,3"表示前3秒&lt;/span&gt;
            &lt;span class="na"&gt;webHook&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;-1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// 立即返回任务ID&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;code&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;角色上传成功，ID:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;;};&lt;/span&gt;&lt;span class="c1"&gt;// 使用示例const characterId = await uploadCharacter(&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://your-domain.com/character-video.mp4&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;关键要点：
1.视频要求：支持最多 3 秒的角色片段，不可上传真人视频&lt;/p&gt;

&lt;p&gt;2.返回结果：成功后会返回 character_id，格式为 character.name&lt;/p&gt;

&lt;p&gt;3.使用方式：上传的角色会自动被引用，在生成视频时无需额外操作&lt;/p&gt;

&lt;p&gt;4.失败原因："output_moderation": 输出违规，"input_moderation": 输入违规，"error": 其他错误。无论什么问题，失败秒返积分&lt;/p&gt;
&lt;h2 id="功能二：从原视频创建角色"&gt;功能二：从原视频创建角色&lt;/h2&gt;
&lt;p&gt;介绍：此接口直接对接 Sora2 模型的角色理解与复用能力。它允许开发者从任何由 Sora2 生成的视频中，直接截取并 “抽离” 出表现优异的角色片段，一键创建为一个全新的、独立的可复用角色。这彻底打通了 “AI 原生创作 - 资产挖掘 - 持续复用” 的闭环，让每一次成功的视频生成都能沉淀为未来创作的素材。
&lt;img src="https://f.vue2.net/images/2025/12/11/8b6aeafc8b9bf1bc1c9057524bfe41b5.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;接口地址&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;POST&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;v1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;video&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nx"&gt;sora&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;create&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;character&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;核心参数说明&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="p"&gt;{&lt;/span&gt;    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;pid&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s_xxxxxxxxxxxxxxx&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 原视频ID&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;timestamps&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0,3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 时间范围&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;webHook&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;可选回调地址&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;实战调用示例&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 从已有视频提取角色const createCharacterFromVideo = async (videoPid, startTime, endTime) =&amp;gt; {&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://grsai.dakka.com.cn/v1/video/sora-create-character&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer your_api_key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="na"&gt;pid&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;videoPid&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 例如：s_6916910fc8548191aa07e106e84b3bb8&lt;/span&gt;
            &lt;span class="na"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;startTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;endTime&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;webHook&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://your-domain.com/webhook&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// 使用webhook回调&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="c1"&gt;// 如果使用webhook，会立即返回任务ID&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;};&lt;/span&gt;&lt;span class="c1"&gt;// 使用示例const taskId = await createCharacterFromVideo(&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s_6916910fc8548191aa07e106e84b3bb8&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Webhook 回调处理示例&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="c1"&gt;// 服务器端webhook处理器&lt;/span&gt;
&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/webhook&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;succeeded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;characterId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;character_id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`角色创建成功: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;characterId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="c1"&gt;// 保存角色ID到数据库&lt;/span&gt;
        &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;saveCharacterToDB&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;characterId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;received&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;});});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="功能三：视频Remix（二创）接口"&gt;功能三：视频 Remix（二创）接口&lt;/h2&gt;
&lt;p&gt;介绍：此接口调用 Sora2 模型的视频重混（Remix）能力。开发者可以提供一段已有的 Sora 生成视频（通过其唯一 pid 标识），并赋予全新的提示词（Prompt），模型将基于原视频的视觉风格、角色与构图进行创造性改写，生成一段既保留原片神韵、又呈现全新情节或风格的视频。这是实现视频风格迁移、剧情续写、广告多版本生成的核心接口。
&lt;img src="https://f.vue2.net/images/2025/12/11/04334d22e25c7ca0ff298d70a17de05c.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;调用示例代码
以下代码展示了如何通过 GrsAI API，对一个已生成的视频进行 Remix 二次创作。&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 配置信息&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;YOUR_GRSAI_API_KEY&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 替换为你的GrsAi.com 的API Key&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;BASE_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.grsai.com/v1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 或使用国内节点 https://grsai.dakka.com.cn/v1&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// 1. 准备Remix请求参数&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;remixPayload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sora-2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;将场景转换为cyberpunk夜间都市，霓虹灯光闪烁，下着细雨。&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 新的创意指令&lt;/span&gt;
    &lt;span class="na"&gt;remixTargetId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;s_6916910fc8548191aa07e106e84b3bb8&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 核心参数：填入原视频的PID&lt;/span&gt;
    &lt;span class="na"&gt;aspectRatio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;16:9&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;webHook&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://your-server.com/webhook&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="c1"&gt;// 可选：强烈推荐使用Webhook接收结果&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="c1"&gt;// 2. 发起Remix生成请求（异步函数示例）&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;createRemixVideo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/video/sora-video`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;remixPayload&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;});&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`HTTP error! status: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;taskData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;taskId&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;taskData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; Remix任务提交成功！任务ID:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

        &lt;span class="c1"&gt;// 3. 开始轮询任务状态（如果未使用webHook）&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;remixPayload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;webHook&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;remixPayload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;webHook&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;-1&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;pollTaskStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; 请等待Webhook回调。配置的回调地址:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;remixPayload&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;webHook&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; API请求失败:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// 4. 轮询任务状态的函数&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;pollTaskStatus&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pollInterval&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 每5秒查询一次&lt;/span&gt;

    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;poll&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;statusResponse&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;BASE_URL&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/video/tasks/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;GET&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;headers&lt;/span&gt;
            &lt;span class="p"&gt;});&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;statusResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`状态查询失败，状态码: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;statusResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;

            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;statusData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;statusResponse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;currentStatus&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;statusData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

            &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`当前轮询状态: &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;currentStatus&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentStatus&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;succeeded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;videoUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;statusData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;?.[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]?.&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Remix视频生成成功！&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;下载链接:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;videoUrl&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="c1"&gt;// 这里可以触发后续操作，如更新UI或下载视频&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 轮询结束&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentStatus&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;failed&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
                &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;生成失败，错误信息:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;statusData&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;未知错误&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
                &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 轮询结束&lt;/span&gt;
            &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="c1"&gt;// 如果状态是'pending'或'running'，则继续轮询&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;轮询过程中出错:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// 出错时可以选择继续或停止轮询&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="c1"&gt;// 设置轮询&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pollLoop&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;isFinished&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;poll&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isFinished&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pollLoop&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;pollInterval&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// 间隔后继续下一次轮询&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;

    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;开始轮询Remix任务状态...&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;pollLoop&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// 执行函数&lt;/span&gt;
&lt;span class="nx"&gt;createRemixVideo&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;注意：
1.核心参数 remixTargetId：这是 Remix 功能的关键，必须填入源视频的唯一标识 pid（格式通常为 s_xxxxxxxxxxxxxxx）。此 pid 可在视频第一次生成的成功响应中获取。&lt;/p&gt;

&lt;p&gt;2.工作流程：API 采用异步任务模式。提交请求后会立即返回一个任务 ID，开发者需要通过此 ID 轮询或配置 Webhook 来获取最终的生成结果（视频 URL）。&lt;/p&gt;
&lt;h2 id="五、高级应用：多角色视频生成实战"&gt;五、高级应用：多角色视频生成实战&lt;/h2&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="c1"&gt;// 1. 先上传多个角色&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;character1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;uploadCharacter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;character2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;uploadCharacter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// 2. 在prompt中引用特定角色&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;generateVideoWithCharacters&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://grsai.dakka.com.cn/v1/video/sora-video&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer your_api_key&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
            &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sora-2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@character1 is talking with @character2 in a park&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 引用角色&lt;/span&gt;
            &lt;span class="na"&gt;aspectRatio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;16:9&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="na"&gt;characters&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/character1.mp4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="na"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0,3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;
                    &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/character2.mp4&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                    &lt;span class="na"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0,3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
                &lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;角色引用规则：&lt;/p&gt;

&lt;p&gt;1.自动引用：上传的角色会自动应用到后续视频生成&lt;/p&gt;

&lt;p&gt;2.精准控制：使用&lt;a href="/character1" class="user-mention" title="@character1"&gt;&lt;i&gt;@&lt;/i&gt;character1&lt;/a&gt;、&lt;a href="/character2" class="user-mention" title="@character2"&gt;&lt;i&gt;@&lt;/i&gt;character2&lt;/a&gt;指定使用哪个角色&lt;/p&gt;

&lt;p&gt;3.位置对应：&lt;a href="/character1" class="user-mention" title="@character1"&gt;&lt;i&gt;@&lt;/i&gt;character1&lt;/a&gt;对应 characters 数组的第一个元素&lt;/p&gt;
&lt;h2 id="六、总结"&gt;六、总结&lt;/h2&gt;
&lt;p&gt;GrsAI 具备企业级服务的稳定性，在低价格的同时保证高成功率和全球可用性使其能够支撑大型商业项目。不仅提供 Sora2 的接入通道，作为一个综合性的 AI API 聚合平台，它还提供如 Nano Banana flase（图像生成）、Nano Banana Pro 、GPT-4o、Veo3.0/Veo3.1（视频生成）、Gemini 3（文本生成）等多种主流模型的统一调用入口。这为开发者构建复杂的多模态 AIGC 工作流提供了极大便利，避免了在多个平台间切换和管理密钥的麻烦。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Thu, 11 Dec 2025 22:00:00 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6637</link>
      <guid>https://beta.w2solo.com/topics/6637</guid>
    </item>
    <item>
      <title>我做了一个 AI 大模型 API 聚合网站，1 个月访问量 9w+</title>
      <description>&lt;p&gt;作为一个在 ChatGPT 发布后，就抓准机遇、辞职全力投入的独立开发者，我想和大家分享我今年的大项目。&lt;/p&gt;

&lt;p&gt;就在四月，我终于把一个想法变成了现实——上线了&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAI API&lt;/a&gt;。这是一个专注于为开发者提供稳定、高性价比 AI 大模型 API 的聚合网站，源头直供，没有中间商赚差价。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/70df660e-abcb-47ad-8829-0f1b51afc6bf.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;我为什么要做这个？回想 ChatGPT 刚发布时，我就是自己钻研、接入，用在自己的产品里。如果直接用现成的 API，成本高，我就得提高客单价才能有利润——但用户愿意买单吗？为了把价格压下来，我只能自己学、自己搞，这样才能控制成本、提高利润。&lt;/p&gt;

&lt;p&gt;其实做聚合平台的想法一直都有，但维护起来实在太累、太费时间。尤其是八月 Nano Banana 发布时，我整整折腾了大半个月才稳定接入。从最早的 GPT-4o、Flux，到后来的 Veo、Nano Banana Fase、Sora2、Nano Banana Pro……几乎每一个模型，都是我熬夜一点点调稳的。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/98a4609e-b2a6-46e0-8eca-ea69b65e46d4.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;官方 API 调用成本对个人和小团队来说，门槛不低。越来越多的独立开发者开始选择像 GrsAI 这样的聚合平台——既能接入稳定可靠的服务，又能通过资源整合，真正把价格打下来。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GrsAI 的核心思路很明确：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;聚合与精选&lt;/strong&gt;：不盲目追求数量，而是聚焦真正好用、有需求的模型，比如 Nano Banana Fase、Nano Banana Pro、GPT-4o、Sora2 等。我们负责测试筛选，确保每条 API 都稳定、低延迟。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;极致性价比&lt;/strong&gt;：通过技术优化把成本压到最低，让利给开发者，给大家留出更多定价空间。
部分模型参考价：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Nano Banana Pro（1k/2k/4k）—— 0.09 元/张&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nano Banana fast—— 0.022 元/张&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sora2 —— 0.08 元/条&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Veo 3.0/3.1 —— 0.4 元/张&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GPT-4o —— 0.02 元/张&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gemini ……
&lt;img src="https://img.way2solo.com/photo/ALLENREN/bb4208a9-91a0-4931-89a1-e9ea1fe91665.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;简单易用&lt;/strong&gt;：网站提供清晰的价格对比、实时状态、详细的 API 文档和调用示例（支持 Python/JavaScript）。拿到 Key 就能快速集成，不用再折腾。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;完善后台服务&lt;/strong&gt;：模型调用失败不扣积分，仪表盘精准查看消耗，日志记录所有请求，存储库帮你节省流量成本。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/c8d681a0-14aa-4f86-a83b-dacc0c228960.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;当然，我们也有不足：
服务响应可能不够及时，很多用户加不上站长——实在是因为忙不过来，在此诚恳致歉。但一旦出现问题，我一定第一时间处理，24 小时监控数据、抢修恢复。如果遇到故障，也请大家耐心等待，或暂时切换备用 API。&lt;/p&gt;

&lt;p&gt;你可能会觉得 GrsAI 模型还不够多、前端略显简陋，但我们的控制台功能齐全、模型稳定，每个上线的服务都是我亲手测试调优的。如果你也在寻找一个省心、省钱、稳定靠谱的 AI API 聚合平台，不妨来试试看。&lt;/p&gt;

&lt;p&gt;点击这里访问&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAI API&lt;/a&gt;，欢迎任何反馈和建议。&lt;/p&gt;

&lt;p&gt;如果你觉得不错考虑接入可以发我你的帐号，开通最高充值优惠，获得最低价格&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Wed, 03 Dec 2025 11:52:11 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6616</link>
      <guid>https://beta.w2solo.com/topics/6616</guid>
    </item>
    <item>
      <title>Nano Banana Pro Api 降价通知！GrsAi 接入仅需 0.09/张，稳定性超强！送 10w 积分白嫖不好用直接喷我</title>
      <description>&lt;p&gt;不好意思！成功攻下 Nano Banana API，把价格直接打到 0.09/张，前两天还是 0.15/张！
最近热度高，调用量也很高，需要的站长，可以直接接入测试，我这边提供 10W 积分兑换码，有效期 3 天
多了要被人狂刷！如果过了有效期你还想体验可以直接留言，我发你哟！&lt;/p&gt;

&lt;p&gt;&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAi API：&lt;/a&gt;:&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;https://grsai.com&lt;/a&gt;
10W 积分兑换码：cdk-898e85d31e5d467ca2829d2ba756b14e（充值页兑换，截至 11 月 28 日）
不要恶意兑换谢谢！&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Mon, 24 Nov 2025 16:27:50 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6582</link>
      <guid>https://beta.w2solo.com/topics/6582</guid>
    </item>
    <item>
      <title>谷歌放大招了！Nano Banana Pro 这四大提升太牛了（附 APi 接入教程 0.15/张）</title>
      <description>&lt;p&gt;Nano Banana Pro（Gemini 3 Pro Image）是 Google 基于 Gemini 3 Pro 开发的新一代图像生成与编辑模型，它不仅在图像质量上达到了新的高度，更在文字渲染、多图像融合和实时信息整合方面带来了突破性的进展。
本文将带你全面了解它的能力，并快速上手 Nano Banana Pro API 接入教程。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/a09537db-273c-415f-8e04-d7c79dbc9c5c.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="一、Nano Banana Pro有哪些提升？"&gt;一、Nano Banana Pro 有哪些提升？&lt;/h2&gt;
&lt;p&gt;Nano Banana Pro（官方名称为 Gemini 3 Pro Image）可不是普通的图像生成器，它是一个具备先进推理能力和场景理解的创意生产工具。
在 Gemini 3 Pro 的基础上，它在以下几个方面进行了改进：
高保真度和控制：准确反映光照、景深和摄像机角度等物理参数，并可控制各种宽高比，从 9:16 竖版海报到 21:9 电影广角镜头。
文字渲染：准确地在图像中拼写文字，并将文字无缝集成到徽标、标牌和产品包装中。
基于事实的生成：以谷歌搜索为基础，生成准确的信息图和插图。
它通过 “场景感知” 和 “区域特定编辑” 等技术，让创作者能通过自然语言与 AI 进行高效协作。解决了上一代 Nano banana 的痛点：清晰度低、文字渲染错误不支持多语言、参考图数量有限、推理与世界知识弱、比例少等问题。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/3a41a9c7-fe80-49e5-8d27-4fde8d4e290e.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="二、ano Banana Pro四大升级"&gt;二、ano Banana Pro 四大升级&lt;/h2&gt;
&lt;p&gt;Nano Banana Pro 的强大功能可以归纳为以下几个关键方面：
&lt;strong&gt;卓越的文字渲染能力：&lt;/strong&gt;这是它最引人注目的突破。无论是中文、英文还是其他语言，无论是特定字体还是手写风格，它都能在图像中生成清晰、准确且风格匹配的文字。这意味着你可以直接生成高质量的海报、信息图，甚至漫画对话。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/7123f933-1952-4c30-a28c-f58ec37e267a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:为该场景创建一个故事板
&lt;strong&gt;实时搜索获取世界知识：&lt;/strong&gt;Gemini 3 Pro Image 连接庞大的知识库，借助它的强大推理能力和对 Google 搜索实时信息的接入，Nano Banana Pro 不仅能生成精美图像，还能创造真正有用的视觉内容。它可以瞬间生成准确的教育示意图、包含丰富上下文的信息图表，甚至直接把真实世界的事实变成可视化内容。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/b4ed4ba3-7b8b-4225-81c4-1b2143526b68.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:制作一张信息图，展示如何制作小豆奶茶。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/93448345-5867-4b31-b98f-3ad8fda27a38.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:制作一张关于这种植物的信息图，重点突出有趣的信息。
&lt;strong&gt;多图像融合与一致性：&lt;/strong&gt;模型支持最多 14 张参考图像的融合，并能保持最多 5 个人物角色在不同场景下的外观一致性。无论是草图转化为产品还是将蓝图转化为逼真的 3D 模型，你都能轻松实现。这对于品牌营销、系列漫画创作和产品设计来说，无疑是革命性的功能。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/a09fa2d6-3e66-45e0-a612-56effbf72b04.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:一个中景镜头，14 个毛茸茸的小家伙并排挤在一张米色旧布艺沙发上和地板上。它们都面向前方，看着一台老式木盒电视机，电视机放在沙发前的一张矮木桌上。房间光线昏暗，左侧窗户透进温暖的光线，电视机的光芒照亮了小家伙们的脸庞和毛茸茸的触感。背景是一个温馨略显凌乱的客厅，铺着编织地毯，书
&lt;img src="https://img.way2solo.com/photo/ALLENREN/7c6ee506-f9af-4b5e-bd10-e2dea795df0b.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:将这五个人和这条狗放在同一张照片中，使其呈现出时尚大片的惊艳效果，并有望获奖。五个人的身份、着装以及狗的形象必须保持一致，但可以从不同的角度和距离拍摄，以最自然、最符合场景的方式呈现。确保色彩和光线在他们身上显得自然，让他们看起来像是这场时装秀的参与者。
&lt;strong&gt;摄影棚级别的创意控制：&lt;/strong&gt;可以像专业摄影师一样，通过自然语言指令局部调整图像的镜头角度、焦点、景深，甚至改变场景的灯光和色调。此外，它还支持最高 2k 和 4K 分辨率及多种宽高比输出，满足专业需求。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/16514da4-ee04-49dd-8c46-2c4b7fea3a05.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:通过缩小背景将宽高比更改为 1:1。角色将保持在当前位置。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/71f20454-54e3-442e-ac8a-1f6880fa0799.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示:将此场景改为夜景&lt;/p&gt;
&lt;h2 id="三、Nano Banana Pro怎么使用？"&gt;三、Nano Banana Pro 怎么使用？&lt;/h2&gt;
&lt;p&gt;打开 gemini.google.com 或 Gemini 移动应用。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/c64d7c72-ed6c-4f8a-ad41-2d69ffefcfbf.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;使用标准（免费）Google 帐户登录——无需订阅 Gemini Advanced。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/447de5ad-2c9f-434e-bd74-3bcededd5b39.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;输入任何以 “生成图像” 为前缀的图像提示，或者直接描述您想要的内容。
pro 目前不是纯免费，需要付费使用。但是在 Nano Banana Pro 在限速前，每个人都能免费生成 50-100 张图。用完之后系统会自动切换到 Gemini 2.5 Flash 继续使用。如果你发现次数用完了，不妨试试切换设备，说不定次数又回来了。&lt;/p&gt;
&lt;h2 id="四、如何调用Nano Banana Pro API"&gt;四、如何调用 Nano Banana Pro API&lt;/h2&gt;
&lt;p&gt;Nano Banana Pro 提供了多种接入方式，你可以根据自己的预算需求选择渠道。&lt;/p&gt;
&lt;h2 id="Google API调用攻略"&gt;Google API 调用攻略&lt;/h2&gt;
&lt;p&gt;Nano Banana Pro（模型 ID：gemini-3-pro-image-preview）官方一张图 0.134 美元，折算成人民币 0.953/张图，价格偏高不适合中小型企业。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/98a6cd36-289f-487c-8c86-d7c3bb5eafd5.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="1. 获取 API Key"&gt;1. 获取 API Key&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;打开 Google AI Studio（&lt;a href="https://aistudio.google.com/" rel="nofollow" target="_blank"&gt;https://aistudio.google.com/&lt;/a&gt;）&lt;/li&gt;
&lt;li&gt;登录 Google 账号&lt;/li&gt;
&lt;li&gt;左侧菜单 → “Get API key” → 创建新 key（或直接复制现有）
（可选）在项目中启用计费（Billing），否则高额度调用会失败
&lt;img src="https://img.way2solo.com/photo/ALLENREN/222e264e-0f50-4add-9cd2-74570dc5367a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2. 官方模型名称与 Endpoint"&gt;2. 官方模型名称与 Endpoint&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;快速版（旧 Nano Banana）：gemini-2.5-flash-image-preview&lt;/li&gt;
&lt;li&gt;Pro 版（Nano Banana Pro）：gemini-3-pro-image-preview（推荐）
Endpoint（统一用 generateContent）：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST https://generativelanguage.googleapis.com/v1/models/{model_name}:generateContent?key=YOUR_API_KEY
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="3. 基本调用示例（Python SDK 推荐，最简单）"&gt;3. 基本调用示例（Python SDK 推荐，最简单）&lt;/h3&gt;
&lt;p&gt;安装官方 SDK：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;pip&lt;/span&gt; &lt;span class="nx"&gt;install&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;U&lt;/span&gt; &lt;span class="nx"&gt;google&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;generativeai&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;开始调用&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;google&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;generativeai&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;genai&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;os&lt;/span&gt;

&lt;span class="nx"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;configure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOUR_API_KEY&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;GenerativeModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;gemini-3-pro-image-preview&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;Nano&lt;/span&gt; &lt;span class="nx"&gt;Banana&lt;/span&gt; &lt;span class="nx"&gt;Pro&lt;/span&gt;

&lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;一张赛博朋克风格的东京夜景，霓虹灯上写着中文‘纳米香蕉 Pro’，超高清，电影感&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nx"&gt;generation_config&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;response_mime_type&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;返回&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="err"&gt;，&lt;/span&gt;&lt;span class="nx"&gt;包含图像&lt;/span&gt; &lt;span class="nx"&gt;base64&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="nx"&gt;保存图像&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;base64&lt;/span&gt;
&lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;loads&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kd"&gt;with&lt;/span&gt; &lt;span class="nx"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;output.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;wb&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nx"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nx"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;b64decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;candidates&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;content&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;parts&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;inline_data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;

&lt;span class="nx"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;生成完成！&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="国内直连APi供应商——GrsAi Api调用攻略"&gt;国内直连 APi 供应商——GrsAi Api 调用攻略&lt;/h2&gt;
&lt;p&gt;GrsAI（&lt;a href="https://grsai.comAPi%E7%9B%B4%E8%BF%9E%E4%BE%9B%E5%BA%94%E5%95%86%EF%BC%8C%E6%8F%90%E4%BE%9B%E4%BE%BF%E5%AE%9C%E7%A8%B3%E5%AE%9A%E7%9A%84Nano" rel="nofollow" target="_blank"&gt;https://grsai.comAPi 直连供应商，提供便宜稳定的 Nano&lt;/a&gt;）作为国内 Banana pro 直连 0.15/张图，比官方价格便宜了将近 84%（Google-0.935 rmb）。目前 GrsAI 站内还可以低价调用 Nano Banana fast-0.022/张，sora2-0.08/条，Veo3.1/Veo3.0-0.4/条，Sora image（Gpt4o）-0.02/张，gemini2.5....
&lt;img src="https://img.way2solo.com/photo/ALLENREN/9c30390c-46cf-4cd8-87fa-39ceee7a4175.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;一个更直观的例子：
如果你要生成 1000 张图片：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;官方成本：0.935 元/张 × 1000 张 = 935 元&lt;/li&gt;
&lt;li&gt;GrsAI 成本：0.15 元/张 × 1000 张 = 150 元&lt;/li&gt;
&lt;li&gt;节省费用：785 元
### 1.获取 APikey&lt;/li&gt;
&lt;li&gt;访问 GrsAI（&lt;a href="https://grsai.com" rel="nofollow" target="_blank"&gt;https://grsai.com&lt;/a&gt;）控制台&lt;/li&gt;
&lt;li&gt;创建 API Key&lt;/li&gt;
&lt;li&gt;查看 APi 接入文档/在线体验
&lt;img src="https://img.way2solo.com/photo/ALLENREN/3cd1c0cc-4805-4403-bf25-735dd2b052a2.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="2.选择节点"&gt;2.选择节点&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;海外节点: &lt;a href="https://api.grsai.com" rel="nofollow" target="_blank"&gt;https://api.grsai.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;国内直连: &lt;a href="https://grsai.dakka.com.cn" rel="nofollow" target="_blank"&gt;https://grsai.dakka.com.cn&lt;/a&gt; 
### 3.认证方式
所有请求需要在 Header 中添加 API Key 认证：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;Authorization&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;Bearer&lt;/span&gt; &lt;span class="nx"&gt;your_api_key_here&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="4.图像生成接口基础调用"&gt;4.图像生成接口基础调用&lt;/h3&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="c1"&gt;// 使用国内节点示例&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_BASE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://grsai.dakka.com.cn&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;your_api_key_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;generateImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;nano-banana-pro&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;API_BASE&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;/v1/draw/nano-banana`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`Bearer &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;API_KEY&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;model&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;aspectRatio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;16:9&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;shutProgress&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;


&lt;span class="c1"&gt;// 使用示例&lt;/span&gt;
&lt;span class="nx"&gt;generateImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;一只可爱的猫咪在草地上玩耍&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;succeeded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;生成成功:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;生成状态:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;5.完整参数调用示例&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;requestBody&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;model&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nano-banana-pro&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 支持的模型: nano-banana-fast, nano-banana, nano-banana-pro&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;prompt&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;一只可爱的猫咪在草地上玩耍，阳光明媚，细节丰富，高质量&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;aspectRatio&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;16:9&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 支持比例: auto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;urls&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://example.com/reference-image.png&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;// 参考图URL数组（选填）&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;webHook&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://your-domain.com/callback&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// 回调地址（选填）&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shutProgress&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="c1"&gt;// 是否关闭进度回复&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;国内用户如果无法访问 Google 可以通过 Styleai(&lt;a href="https://styleai.artGrsAI" rel="nofollow" target="_blank"&gt;https://styleai.artGrsAI&lt;/a&gt;) 或 APi (&lt;a href="https://grsai.comNano" rel="nofollow" target="_blank"&gt;https://grsai.comNano&lt;/a&gt;) 体验 banana pro 模型效果。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Fri, 21 Nov 2025 22:29:23 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6576</link>
      <guid>https://beta.w2solo.com/topics/6576</guid>
    </item>
    <item>
      <title>Sora2 API 更新！支持 Cameo 多角色上传 +Remix 功能，你会用吗？</title>
      <description>&lt;p&gt;​
你还记得 Sora2 推出的 Cameo 和 Remix 功能吗？&lt;/p&gt;

&lt;p&gt;&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Cameo&lt;/a&gt;（客串）是 Sora 2 推出的官方真人出镜功能,允许用户通过录制验证视频,将自己的面部、体型、声音特征提取并融合到 AI 生成的任意场景中,实现"真人演员 + 虚拟场景 + 配音"的混合视频生成。它允许你将多个角色（包括自己、朋友、宠物甚至原创形象）置入同一个 AI 生成的视频中。&lt;/p&gt;

&lt;p&gt;Remix（重混）是 Sora 2 的一项非常强大的视频二次创作能力，它允许你对已有的视频进行对象级和场景级的深度修改，而不仅仅是简单的剪辑或添加滤镜，通过提示词你可以修改视频并且加入自己的 Cameo 角色。&lt;/p&gt;

&lt;p&gt;本文将详细介绍 Sora 2 的 Cameo 和 Remix 功能如何使用 ,以及企业、独立开发和普通用户如何通过&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAi API&lt;/a&gt;调用 Sora 2 Cameo 和 Remix。&lt;/p&gt;
&lt;h3 id="Sora 2 Cameo和Remix 功能如何使用"&gt;Sora 2 Cameo 和 Remix 功能如何使用&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;创建 Cameo 角色&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;录制视频：根据要求录制一段个人短视频，并按照屏幕指示读出屏幕中的数字，系统会从中学习你的外貌、动作甚至声线。&lt;/li&gt;
&lt;li&gt;活体检测：Sora 2 采用多重活体检测技术防止冒充，所以需要几分钟审核时间。&lt;/li&gt;
&lt;li&gt;权限配置：创建角色后，你可以精细设置其使用权限，例如仅自己使用、对所有朋友开放，或设置为需要你批准后才能使用。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img width="720" height="478" alt="Image" src="https://github.com/user-attachments/assets/3fa5caf5-aab5-4f09-8535-87fb5bc0e227"&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;使用 Cameo 角色&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;以 “sora” app 为例，点击底部 “+” 创建视频，选择 cameo 出镜秀中的角色，通过 “@” 标签来调用你已经创建或他人共享的角色，实现多角色同框，输入提示词（支持中文），等待生成。&lt;/p&gt;

&lt;p&gt;&lt;img width="720" height="357" alt="Image" src="https://github.com/user-attachments/assets/e1b24b12-059c-492b-8eb9-d77049b20ecf"&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;提示词公式&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;[场景描述] + [主角 (我/Cameo 角色) 动作] + [环境细节] + [风格要求]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;案例：&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;古老巨龙盘踞的山巅，我是精灵法师举杖召唤魔法护盾，抵挡烈焰吐息，破碎巨石，魔法尘埃，云海夕阳，史诗奇幻，电影广角，戏剧灯光。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;注意：
使用"我"或"主角"指代 Cameo 角色
详细描述动作和场景
避免描述面部细节 (AI 会自动匹配你的特征)
可以指定服装、场景、氛围&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Remix 二创视频
当你在 Sora App 的瀑布流中浏览视频时，可以直接对感兴趣的公开视频使用 Remix 功能，输入你的新想法来生成全新版本。&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;元素替换：一键更换视频中的主角，例如将街头漫步的角色换成您自己。&lt;/li&gt;
&lt;li&gt;场景转换：无缝切换视频背景，如从东京街头变为赛博都市，AI 会自动适配光影。&lt;/li&gt;
&lt;li&gt;细节调整：修改道具与氛围，例如将手中的咖啡换成茶，或将雨天变为雪天。&lt;/li&gt;
&lt;li&gt;情节续写：基于原视频生成续集，保持角色与画风一致，以延伸叙事（如通过 API 实现）。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img width="720" height="487" alt="Image" src="https://github.com/user-attachments/assets/7a490e03-292b-4796-9cbc-0dd0a7b2833b"&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sora2 应用场景&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;个人娱乐：将自已或朋友置入历史大片、科幻场景&lt;/li&gt;
&lt;li&gt;内容创作：虚拟网红运营、品牌营销内容制作&lt;/li&gt;
&lt;li&gt;IP 经济：数字肖像权租赁，为明星、经典 IP 提供新的变现渠道&lt;/li&gt;
&lt;li&gt;广告营销：规模化生成个性化广告&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="Sora2 API调用实战"&gt;
&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;Sora2 API&lt;/a&gt;调用实战&lt;/h3&gt;
&lt;p&gt;Sora2 目前有严格的地区限制，并且采用邀请制，没有码且非美国，加拿大 IP 用户则无法使用。Openai 目前还没有开通 Sora 2 APi 包括 Cameo 和 Remix 功能，那企业或独立开发者应该怎么调用正版的 Sora2 Api？&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GrsAi Sora2 Cameo 多角色生成功能接入&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GrsAi（&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;https://grsai.com&lt;/a&gt;）是 Ai 大模型 APi 源头供应商，提供便宜稳定的 Ai 大模型 APi 接入服务，国内直连。Sora 2—0.08/条视频，同时支持 Sora 2 Cameo 多角色上传和 Remix 功能的调用。&lt;/p&gt;

&lt;p&gt;&lt;img width="720" height="322" alt="Image" src="https://github.com/user-attachments/assets/caded1f7-bbdd-412e-aa2d-a23c565dd840"&gt;&lt;/p&gt;

&lt;p&gt;Sora 2 API 接入文档请到控制台查看：&lt;a href="https://grsai.com/zh/dashboard/documents/sora-2" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/documents/sora-2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;目前站内模型包含：Nano Banana-0.022/张，Sora-image（Gpt4o）-0.02/张，Veo3.1/Veo3.0-0.4/张，Gemini，Flux.......更多请查看 GrsAi 控制台 (&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt;) 模型列表。&lt;/p&gt;

&lt;p&gt;&lt;img width="720" height="560" alt="Image" src="https://github.com/user-attachments/assets/c0e48f7e-aa42-445a-8c60-2b3a6aa877e1"&gt;&lt;/p&gt;

&lt;p&gt;基础环境配置&lt;/p&gt;

&lt;p&gt;1.API 端点信息&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 海外用户使用
const HOST_OVERSEAS = "https://api.grsai.com";

// 国内用户使用  
const HOST_DOMESTIC = "https://grsai.dakka.com.cn";

// 接口地址
const API_ENDPOINT = `${HOST_DOMESTIC}/v1/video/sora-video`;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2.请求头配置&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer apikey" // 替换为实际API密钥
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Cameo APi 多角色上传功能调用&lt;/p&gt;

&lt;p&gt;1.characters 参数完整说明&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "characters": [
    {
      "url": "https://example.com/characterA.mp4",
      "timestamps": "0,3"
    },
    {
      "url": "https://example.com/characterB.mp4", 
      "timestamps": "1,4"
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;2.参数规范：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;url：角色视频的公开访问 URL，支持 MP4 格式&lt;/li&gt;
&lt;li&gt;timestamps：视频截取范围，格式为"开始秒数,结束秒数"&lt;/li&gt;
&lt;li&gt;时长限制：每个角色视频最多截取 3 秒&lt;/li&gt;
&lt;li&gt;禁止内容：不可上传真人视频内容&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.角色引用语法
在 prompt 中使用&lt;a href="/character" class="user-mention" title="@character"&gt;&lt;i&gt;@&lt;/i&gt;character&lt;/a&gt;+ 位置索引格式引用角色：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 正确示例
const prompt = "在公园长椅上，@character1正在读书，@character2在旁边玩耍";

// 位置索引从1开始，对应characters数组中的顺序
// @character1 → characters[0]
// @character2 → characters[1] 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;如果要使用 Sora2 中公开的 Cameo 角色，则可以直接在提示词中 @ 用户 ID 使用。&lt;/p&gt;

&lt;p&gt;完整实战案例&lt;/p&gt;

&lt;p&gt;案例：创建两个卡通角色在公园场景&lt;/p&gt;

&lt;p&gt;步骤 1：准备角色视频&lt;/p&gt;

&lt;p&gt;确保视频文件可通过 URL 公开访问&lt;/p&gt;

&lt;p&gt;步骤 2：构造 API 请求&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const requestBody = {
  "model": "sora-2",
  "prompt": "在阳光明媚的公园里，@character1在草地上快乐地跳舞，@character2在天空中盘旋飞翔，背景有鲜花和树木，风格为卡通动画",
  "url": "https://example.com/park_background.png", // 场景参考图
  "aspectRatio": "16:9",
  "duration": 10,
  "size": "large",
  "characters": [
    {
      "url": "https://example.com/rabbit_dance.mp4",
      "timestamps": "0,3"
    },
    {
      "url": "https://example.com/bird_fly.mp4", 
      "timestamps": "0,3"
    }
  ],
  "webHook": "https://your-app.com/callback", // 回调地址
  "shutProgress": false
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;步骤 3：执行 API 调用&lt;/p&gt;
&lt;pre class="highlight hack"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 使用Fetch API调用&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;generateSoraVideo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="no"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://grsai.dakka.com.cn/v1/video/sora-video'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'POST'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="no"&gt;JSON&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;requestBody&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="no"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'任务ID:'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'API调用失败:'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;结果获取方式&lt;/p&gt;

&lt;p&gt;方式 1：WebHook 回调（推荐）&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 你的回调接口需要处理的数据格式
const callbackData = {
  "id": "f44bcf50-f2d0-4c26-a467-26f2014a771b",
  "results": [
    {
      "url": "https://example.com/generated_video.mp4",
      "removeWatermark": true,
      "pid": "s_6916910fc8548191aa07e106e84b3bb8"
    }
  ],
  "progress": 100,
  "status": "succeeded",
  "failure_reason": "",
  "error": ""
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;方式 2：轮询获取结果&lt;/p&gt;
&lt;pre class="highlight hack"&gt;&lt;code&gt;&lt;span class="c1"&gt;// 使用结果查询接口&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;getResult&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="no"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'https://grsai.dakka.com.cn/v1/draw/result'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;method&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'POST'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;body&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="no"&gt;JSON&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;taskId&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;// 轮询示例&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="n"&gt;pollResult&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;interval&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;5000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="no"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;getResult&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;taskId&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;'succeeded'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'生成成功:'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;results&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="s1"&gt;'failed'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'生成失败:'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="n"&gt;failure_reason&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="mf"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sb"&gt;`进度: ${result.data.progress}%`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Promise&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resolve&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setTimeout&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;resolve&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;interval&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;重要注意事项&lt;/p&gt;

&lt;p&gt;1.视频规格限制&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;角色视频最长截取 3 秒&lt;/li&gt;
&lt;li&gt;支持 MP4 格式，确保 URL 可公开访问&lt;/li&gt;
&lt;li&gt;禁止上传真人视频内容&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2.计费与配额&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;生成失败会返还积分&lt;/li&gt;
&lt;li&gt;视频 URL 有效期为 2 小时&lt;/li&gt;
&lt;li&gt;及时下载生成结果&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3.错误处理&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 常见的状态码和错误信息
const errorMessages = {
  "output_moderation": "输出内容违规",
  "input_moderation": "输入内容违规", 
  "error": "其他系统错误"
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Remix 功能 APi 调用
二次创作功能
使用 remixTargetId 参数基于已有视频创作续集：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "remixTargetId": "s_6916910fc8548191aa07e106e84b3bb8",
  "prompt": "同样的角色在夜晚的公园中，@character1和@character2在月光下继续他们的冒险"
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;多尺寸输出策略&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// 快速预览使用small尺寸
const previewRequest = {
  size: "small",
  duration: 10
};

// 最终输出使用large尺寸  
const finalRequest = {
  size: "large", 
  duration: 15
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;通过 GRSAI 的 Sora 2 API，开发者可以充分利用多角色上传功能，创建出丰富多样的个性化 AI 视频内容，为应用程序增添强大的视频生成能力。&lt;/p&gt;

&lt;p&gt;更详细的 Sora 2 Api 文档请参考&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAi&lt;/a&gt;控制台&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Mon, 17 Nov 2025 22:01:31 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6565</link>
      <guid>https://beta.w2solo.com/topics/6565</guid>
    </item>
    <item>
      <title>Nano banana 2 终于来了！你抢词没？想好做什么功能了吗？（附 APi 接入实战）</title>
      <description>&lt;p&gt;&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Nano Banana 2（GemPix 2）&lt;/a&gt;要发布了？&lt;a href="http://StyleAi.art" rel="nofollow" target="_blank" title=""&gt;Nano Banana（Gemini2.5Flash Image）&lt;/a&gt;是谷歌 DeepMind 团队的核心产品在 8 月 26 日发布，这才两个多月又要更新了！&lt;/p&gt;

&lt;p&gt;Nano Banana（Gemini2.5Flash Image）刚发布两个多月又要更新新版本？就在 11 月 8 日有个网友在一个第三方平台 Media.io 发现了一个名字为 “Nano Banana 2 Preview” 预览模型，上线一小时便火速下架。与前代相比，它在生成速度和质量上都有明显进步：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;支持 4K 分辨率输出，细节更加丰富&lt;/li&gt;
&lt;li&gt;处理复杂场景约需 10 秒&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="- 扩展了输出比例支持，包括9:16和16:9等常用尺寸"&gt;- 扩展了输出比例支持，包括 9:16 和 16:9 等常用尺寸&lt;/h2&gt;
&lt;p&gt;这次的 Nano Banana 2（GemPix2）可能基于更强大的 Gemini 3.0 系列构建，可以将它视为整个系统的推理核心——一个能同步理解文本、图像与结构化信息的多模态大模型，在其基础上叠加扩散模块实现图像生成。虽然这种混合架构在概念上并非首创——OpenAI 与 Anthropic 都曾透露过类似构想，但这可能是首个面向用户落地的商业化规模版本。&lt;/p&gt;

&lt;p&gt;下面我将通过社交媒体用户的分享，带你快速了解这次谷歌带来的 GemPix2 有哪些惊人的能力，并且提供使用方法及 Nano banana 系列 Api 接入实战。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/f5232b75-476d-405d-a0b0-c2cc9fb47720.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="一、发布时间与访问方式"&gt;一、发布时间与访问方式&lt;/h2&gt;
&lt;p&gt;1.预计发布时间：11 月 18-20 日发布&lt;/p&gt;

&lt;p&gt;2.访问方式：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gemini App：应用商店下载&lt;/li&gt;
&lt;li&gt;Google AI Studio：&lt;a href="https://aistudio.google.com" rel="nofollow" target="_blank" title=""&gt;https://aistudio.google.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Media io:&lt;a href="https://www.media.io/ai/zh/text-to-image" rel="nofollow" target="_blank" title=""&gt;https://www.media.io/ai/zh/text-to-image&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;API 调用：&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;国内用户推荐使用&lt;a href="http://StyleAi.art" rel="nofollow" target="_blank" title=""&gt;StyleAi.art&lt;/a&gt;体验效果，不需要魔法也能使用 Gpt4o，Sora2，Veo3.1，Nano banana 模型。&lt;/p&gt;
&lt;h2 id="二、Nano banana核心能力"&gt;二、Nano banana 核心能力&lt;/h2&gt;&lt;h2 id="1.惊人的世界知识与推理能力"&gt;1.惊人的世界知识与推理能力&lt;/h2&gt;
&lt;p&gt;Nano Banana 2 最根本的突破就是 “长脑子会思考”，它开始理解图像背后的物理逻辑和世界常识并且学会了推理，不再仅仅是进行像素的统计与模仿。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;精准的时间概念：由于商业产品摄影的标准，时间通常默认 10:10 这也导致许多图像模型不能在时钟上显示正确的时间。当你要求 Nano Banana 2（GemPix 2）生成 “11:15 on the clock and a wine glass filled to the top” 时，它能精确计算时针与分针的位置关系，给出一个在物理上正确的时间显示。正是模型内部构建了关于时间流逝和钟表运作机制的抽象模型，顺利通过时钟和装满杯红酒测试。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/25b1444b-9073-4ef7-b497-5510c6b4ad9d.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;精准绘制时钟的指针指向和满杯红酒
对比主流的 Ai 画图模型下图中的 Grok，chatgpt，豆包，即梦都不能做到精准的指向。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/9ae47335-d769-4692-be95-4de8a793167c.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;运动轨迹的推演：在生成 “一个从斜面滚落的小球” 图像时，Nano Banana 2 能够描绘出符合物理学规律的连续运动轨迹，而不仅仅是一个静态小球。它能理解重力、惯性和斜面摩擦带来的影响，并将这种动态过程可视化。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/8e365968-423f-4323-aa8f-958164fa73b1.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;知识驱动的生成：在数学问题对比测试中，一位用户分享了 Nano banana 和二代 Nano banana2（ GemPix 2）在解决同一数学问题时的对比：一代生成的公式基本无法理解，而 GemPix 2 能在白板上模拟手写推导微积分题的完整过程。虽然仍有小错误，但推导过程逻辑清晰，大部分内容都是正确的。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/7fccf419-0c31-4c17-be50-c3b14b3f3acd.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一代和二代解题对比
提示词："求解微积分，并在白板上解题"，Nano banana2 给出了正确的解题过程和答案，经过网友验证步骤发现只错了一个数字。Nano banana2 能够理解题目并进行复杂逻辑推理，模拟手写字体书写分数、积分符号、行列示等复杂数学符号，排版清晰，流程完整，答案正确。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/19239a8a-5070-4e6a-be3f-c1b4d82527b2.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;总而言之，它正在从一个 “画师” 向一个 “懂得其所画内容的工程师” 转变。&lt;/p&gt;
&lt;h2 id="3.中文精准渲染，告别“乱码”"&gt;3.中文精准渲染，告别 “乱码”&lt;/h2&gt;
&lt;p&gt;Nano Banana 第一代在中文文本渲染上的表现都不尽如人意，常常出现字体扭曲、拼写错误等问题。Nano Banana 2 在这方面取得了质的飞跃，内容可以精准输出。
这对于需要生成带文字的设计素材（如海报、广告图）的用户来说，无疑是个天大的好消息——终于不用再手动 PS 修正文字了！
准确性与排版能力：无论是生成一张包含多行宣传语的产品海报、一块写满公式的白板、翻译图中文本并替换，还是一个完整的浏览器界面，它都能确保：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;拼写 100% 正确，无乱码或虚构字符。&lt;/li&gt;
&lt;li&gt;字体、字号、颜色统一，保持视觉一致性。&lt;/li&gt;
&lt;li&gt;文本在指定区域内合理排版，自动换行和对齐。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/35165ad6-eed0-4574-9aa0-adf347a828eb.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;第一代 Nano Banana 虽无法生成中文，但强大的图像编辑和理解能力已促使许多电商商家应用于产品图设计中。在第二代 GemPix 2 的画面升与文本理解能力加持下，教育工作者可以快速制作带复杂公式的教学材料；UI/UX 设计师能极其高效地产出高保真原型图。它极大地缩短了从 “概念” 到 “成品” 的路径。&lt;/p&gt;

&lt;p&gt;4.超强真实感
Nano Banana 2 在图像的真实感上设立了新的标杆，其核心在于对复杂系统细节的完美还原。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;系统级界面生成：一位用户展示了模型生成的完整 YouTube 网页界面截图，包括浏览器窗口、地址栏、标签页和内容区域，所有文本都清晰可读，布局合理。如果不是事先知道，我肯定会以为那是一张真实的截图。这包括：&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;清晰可读的图标文字和任务栏。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;窗口阴影、高光和透明度等视觉特效。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;状态栏上分秒不差的系统时间。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/46bca722-4fc4-47e8-9c8a-338b2ff61101.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;img src="https://img.way2solo.com/photo/ALLENREN/7cf39428-8a37-43e9-9273-ffa44109837a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;没有参考图就能生成这种效果&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;特定场景与名人的极致模拟：
最引发热议的是其生成的 “监控录像” 画面。它不仅仅是在画面上添加一个黑白滤镜，而是完整地重构了监控场景应有的所有细节：低分辨率与噪点、带有准确时间戳的叠加信息、固定的摄像头视角，以及因动态感知压缩而产生的模糊感。这种对细节的掌控力，是其生成能力跃升的直接证明。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/7a17e71b-2339-4d03-a7e6-d07eca5966be.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/e08a51bf-bb9e-4082-9f61-494cc01dddf1.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;从技术角度看，这证明了模型的强大能力；但从伦理角度，这也引发了关于技术可能被滥用的担忧。不过，业内人士普遍推测，正式版发布时应该会削弱或限制这方面功能，以防止技术被滥用于制作虚假证据或误导性内容。&lt;/p&gt;
&lt;h2 id="5.图像生成能力全面迭代升级"&gt;5.图像生成能力全面迭代升级&lt;/h2&gt;
&lt;p&gt;Nano Banana 2 的生成过程更像一个专业设计师的工作流程，而非简单的 “一键出图”。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;多步骤自我校正：先根据指令生成一个初始草图或概念，然后分析这个草图在透视、光影、逻辑上可能存在的错误，最后执行校正步骤，输出优化后的最终图像。这种 “规划 - 分析 - 校正” 的机制，确保了输出结果的精确性和合理性。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;精准的指令控制：用户对生成结果的控制力达到了新的高度。无论是要求特定的拍摄视角（如俯视、微距）、精确的色彩搭配（如潘通色号），还是复杂的光线条件（如黄昏的侧逆光），模型都能更忠实地理解和执行，大大降低了随机性和反复修改的需要。&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;生成速度与画质双重突破：据说 Nano Banana 2 生成仅需 10 秒，且支持 4K 分辨率，细节丰富度大幅提升。输出比例还支持 9:16 和 16:9 等，这直接解决了第一代 Nano Banana 在处理图像尺寸时的不一致问题。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/05b7b6f2-15cd-4c67-86c5-beb2c25b8e13.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="三、Nano banana2效果展示"&gt;三、Nano banana2 效果展示&lt;/h2&gt;&lt;h2 id="1.智能上色与翻译"&gt;1.智能上色与翻译&lt;/h2&gt;
&lt;p&gt;保留画面一致性的同时进行专业级上色处理，同时准确翻译对话框中的文字。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/fcfc5b9e-aa6a-4283-b8ca-ae10cf2a5853.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示词：“为这部漫画添加颜色并将文本转换为英文”
它为单色漫画画面板添加了色彩，正确翻译了所有日语对话，并完美重绘了对话气泡。这就是语言理解、视觉修复和布局精度的结合，全部一次性完成。&lt;/p&gt;
&lt;h2 id="2.空间理解"&gt;2.空间理解&lt;/h2&gt;
&lt;p&gt;基于原图生成任意视角的连贯画面。无论是水平旋转还是切换顶视图，模型都能在保持场景结构和细节一致性的前提下，准确呈现新视角下的完整场景。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/abdc1abc-d209-4991-8eca-18ab52212b4f.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/63891d8a-8b46-47a2-b6be-f1e9cd6e8314.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;提示词 “红色框内的地球建筑俯视图’
它在第一张图像中识别出目标区域，并生成了该结构的俯视视角。这是真正的空间推理，理解几何、结构和视角。&lt;/p&gt;
&lt;h2 id="3.画质重塑与风格转换"&gt;3.画质重塑与风格转换&lt;/h2&gt;
&lt;p&gt;能够将游戏画面或低清图像转化为高清真实的视觉作品。它不仅提升了画质和细节，更能保持原始场景的构图、角色姿态与氛围基调的高度一致，实现从像素风格到写实风格的精准转换，完成真正意义上的视觉升级。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/293cbae1-95ca-408c-b4de-1508645be9a8.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;img src="https://img.way2solo.com/photo/ALLENREN/9fa3716f-ff92-4951-869b-59e727d9a14a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;img src="https://img.way2solo.com/photo/ALLENREN/95e65ccf-5896-4659-8d87-03baf0f2a23a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="4.草图变成品"&gt;4.草图变成品&lt;/h2&gt;
&lt;p&gt;模型能够识别图片上添加的提示框和文字说明，精确执行其中描述的生成要求（如"看向下方的吉他"），并在最终输出中自动移除所有指令元素，生成一张"干净"的成品图像，实现从带注释的草图到完整作品的自动化转换。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/8efbc875-dcaa-44d0-9d78-a7b39e97c491.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;“根据文本要求生成图像并移除指令”
&lt;img src="https://img.way2solo.com/photo/ALLENREN/ee783f2f-ebf2-4509-8222-fb4ea59813a3.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;一张草图就改变人物姿势。
这是来自混合媒体输入的视觉 - 文本推理与任务完成。是迈向多模态理解的巨大一步。&lt;/p&gt;
&lt;h2 id="5.艺术风格与构图能力"&gt;5.艺术风格与构图能力&lt;/h2&gt;
&lt;p&gt;Nano Banana 2（GemPix 2）在画面质感上实现了全方位突破。基于与上一代模型的对比测试可见，GemPix 2 不仅能够精准呈现复杂的透视关系与专业艺术风格，更在细节处理上达到新高度——人物发丝、服装纹理等细节更加丰富自然，光影表现真实细腻，多角色场景保持高度一致性，彻底告别前代作品的粗糙感，带来真正专业的视觉呈现。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/f02d60f1-350b-488b-8080-3bb8a7211a06.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;img src="https://img.way2solo.com/photo/ALLENREN/f132ebc9-a80d-44a8-973f-7f738ddab74a.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;
&lt;img src="https://img.way2solo.com/photo/ALLENREN/f5ca28ed-961f-430d-bcc3-1faab24a49e9.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;NB1 和 NB2 的对比，能清晰看到 NB2 的提升：它不仅做出了更自然的透视缩短效果（如伸出的手更贴合动态空间感），还精准还原了《龙珠：超宇宙》的游戏 CG 美术风格，线条更利落、动感特效更贴合原作，同时画面精细度更高，没有 NB1 那种略显杂乱的笔触与比例失调感，整体完成度、风格还原度都显著优于前者。&lt;/p&gt;
&lt;h2 id="三、Nano banana2 Api接入攻略"&gt;三、Nano banana2 Api 接入攻略&lt;/h2&gt;&lt;h2 id="1.官方接入"&gt;1.官方接入&lt;/h2&gt;
&lt;p&gt;目前 Nano Banana 2（GemPix 2）还没有发布，等发布了可以在 Google AI Studio 获取 Apikey 接入 GemPix 2 模型。下面是 Nano banana 第一代的接入操作指南。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;访问 Google AI Studio (ai.google.dev)，使用谷歌账号登录。&lt;/li&gt;
&lt;li&gt;在界面中找到并生成你的 API 密钥。&lt;/li&gt;
&lt;li&gt;配置开发环境&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;安装官方的 Python SDK。在你的命令行中执行：&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;google-generativeai
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;编写调用代码
以下是一个基础的 Python 代码示例，演示如何通过文本提示生成图像：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 导入必要的库
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;google.generativeai&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="c1"&gt;# 配置API密钥，建议将其设置为环境变量，不要直接写在代码里
&lt;/span&gt;&lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;configure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getenv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'YOUR_API_KEY'&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="c1"&gt;# 指定使用Nano Banana模型
&lt;/span&gt;&lt;span class="n"&gt;model&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;GenerativeModel&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'gemini-2.5-flash-image-preview'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 构建生成请求
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;generate_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"一只穿着宇航服的猫，在月球上喝咖啡，电影质感"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# 处理并保存返回的图像 (响应结构为多部分，需提取图像数据)
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;candidates&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;parts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;inline_data&lt;/span&gt; &lt;span class="ow"&gt;is&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'generated_image.png'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;'wb'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;part&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;inline_data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"图像已保存！"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请注意：官方 API 的响应结构中包含文本和图像数据，需要正确解析出图像部分。&lt;/p&gt;
&lt;h2 id="2.GrsAi源头Api供应商"&gt;2.GrsAi 源头 Api 供应商&lt;/h2&gt;
&lt;p&gt;对于国内开发者，这是更便捷、经济的选择。官网折算人民币 0.28/张，GrsAi 的 Nano banana-0.022/张，价格比官网便宜 92%。
GrsAi 作为 Ai 大模型源头供应商，能够为企业、独立开发者和普通用户提供便宜且稳定的 API 接入服务。非转接 API 平台，24 小时专人维护，有问题第一时间处理，并且失败不扣费，进一步降低了试错成本。&lt;/p&gt;
&lt;h2 id="部分模型价格："&gt;部分模型价格：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Sora2——0.08/条&lt;/li&gt;
&lt;li&gt;Sora-iamge（Gpt4o）——0.022/张&lt;/li&gt;
&lt;li&gt;Veo3.1——0.4/条&lt;/li&gt;
&lt;li&gt;Nano banana——0.022/张&lt;/li&gt;
&lt;li&gt;Gemini-2.5-Flash——输入 0.3/M，输出 0.6/M&lt;/li&gt;
&lt;li&gt;Gemini-2.5-Pro（满血不截断）——输入 1.25/M，输出 6.25/M&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/3e618604-9684-4cd2-94f7-564870ab8b39.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h2 id="1.注册并获取密钥"&gt;1.注册并获取密钥&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;访问 GrsAi（&lt;a href="https://grsai.com" rel="nofollow" target="_blank"&gt;https://grsai.com&lt;/a&gt;）。&lt;/li&gt;
&lt;li&gt;在用户控制台中获取你的专属 API Key。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2.调用API示例"&gt;2.调用 API 示例&lt;/h2&gt;
&lt;p&gt;第三方 API 的接口格式通常更为简化。以下是使用 Python 调用的示例：&lt;/p&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;json&lt;/span&gt;

&lt;span class="c1"&gt;# 配置信息
&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"你的GrsAI_API_Key"&lt;/span&gt;  &lt;span class="c1"&gt;# 替换成https://grsai.com获取的密钥
&lt;/span&gt;&lt;span class="n"&gt;API_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"https://api.grsai.com/v1/draw/nano-banana"&lt;/span&gt;  &lt;span class="c1"&gt;# grsai.com的端点
&lt;/span&gt;
&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s"&gt;"Content-Type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"application/json"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="s"&gt;"Authorization"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s"&gt;"Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;API_KEY&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;  &lt;span class="c1"&gt;# 注意认证方式可能与官方不同
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="s"&gt;"model"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"nano-banana-fast"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# 指定模型根据grsai.com模型名称填入
&lt;/span&gt;    &lt;span class="s"&gt;"prompt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;"一只穿着宇航服的猫，在月球上喝咖啡，电影质感"&lt;/span&gt;  &lt;span class="c1"&gt;# 描述你想要的画面
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# 发送请求
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;API_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# 处理响应
&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;'status'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s"&gt;'succeeded'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;image_url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;'results'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s"&gt;'url'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="c1"&gt;# 直接从响应中获取图片URL
&lt;/span&gt;    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"生成成功！图片地址:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;image_url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="c1"&gt;# 你可以根据此URL下载图片
&lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"生成失败:"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;由于目前 Nano banana2 还没出，等后续正式发布，我在单独发一篇 GemPix 2 的接入教程。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Thu, 13 Nov 2025 22:37:10 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6555</link>
      <guid>https://beta.w2solo.com/topics/6555</guid>
    </item>
    <item>
      <title>0 广告投入！一个月访问暴涨 200%，复盘我的 AI API 站做的几波 “骚操作”</title>
      <description>&lt;h3 id="我的出海经历"&gt;我的出海经历&lt;/h3&gt;
&lt;p&gt;我从去年底就有出海的打算，为啥？因为入不敷出，没钱了！&lt;/p&gt;

&lt;p&gt;在出海之前我一直在做小程序产品，但是自从 kimi，deepseek，豆包这些免费的 Ai 大模型上线后，我们这种依靠会员费的小型 Ai 公司就做不下去了，太卷了！所以开始打算做 Api 服务，因为我懂得怎么逆向操作，不好意思，哥就是那么厉害！&lt;/p&gt;

&lt;p&gt;在年头付费加入了一个出海团队交流群，过年期间疯狂输出产品，结果不尽人意，不过这些都是我成功路上必须打下的基石。有了这些经历能让我更好摸清楚整个出海的流程，产品的搭建框架，外链发布和 SEO 优化。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/3911e33a-89cb-413d-af65-4d9a7fe0b23d.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAi APi&lt;/a&gt; 是在2025年4月13日上线，通过朋友介绍获得了一个大客户，就开始专注于这个 Api 产品。运营了大半年从最开始的几百访问量，到 8k 九月的 9.49k，10 月甚至达到了 27.2k，这意味着，在刚刚过去的一个月里，我的个人项目 GrsAi API 平台（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/&lt;/a&gt;）访问量实现了近三倍的暴涨。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/3e5119e0-4bf7-4059-bf6d-d4c30213719e.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;现在我来复盘一下我并没有进行巨额广告投放，这场增长的核心，其实是我在近几个月里，有意无意地推动了一个 “增长飞轮” 的运转。今天，我就将这个飞轮的四个齿轮拆解给大家看。&lt;/p&gt;
&lt;h3 id="齿轮一：打磨产品——构建增长的坚实基座"&gt;齿轮一：打磨产品——构建增长的坚实基座&lt;/h3&gt;
&lt;p&gt;任何流量的涌入，最终都需要一个能够 “接得住” 的产品，有人用的产品，才是真的有价值。因为 Ai 的增长趋势，让我选择了这个行业和产品。从项目开始，我就聚焦于几个核心原则，这也是我们最根本的护城河：&lt;/p&gt;

&lt;p&gt;源头服务，低价稳定：市场上很多 API 服务是中间商，价格偏高且稳定性一般。而 GrsAi 作为源头供应商，我自己搭建和维护整个服务器集群，砍掉了所有中间成本，将价格压到最低（才能吸引用户）这让我们能提供极具竞争力的价格和远超同行的稳定性。“便宜又稳定” 是我们收到最多的用户评价。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/187cc6b0-5a5c-4b86-9d62-1813a5907038.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;快速响应，亲自保障：24 小时维护，任何问题我都能在第一线亲自处理，确保故障响应和修复速度达到最快。这种对服务的掌控力，是普通中转服务无法比拟的，我自己的产品也在调用，我当然要保证服务的稳定性。&lt;/p&gt;

&lt;p&gt;口碑积累，信任为王：回想项目初期，我也曾非常焦虑，害怕服务出点问题用户就都跑了，或者用户找到了更低价的 APi 服务，我的价格不再是优势。但正是凭借这份对稳定性的执着，我们不仅留住了早期用户，调用量稳步攀升，甚至吸引了一些上市公司的技术团队选择并信任我们（哪家公司？保密但你绝对知道）。&lt;/p&gt;
&lt;h3 id="齿轮二：内容狙击——在搜索引擎精准“埋点”"&gt;齿轮二：内容狙击——在搜索引擎精准 “埋点”&lt;/h3&gt;
&lt;p&gt;酒香也怕巷子深。好的产品需要被目标用户看见。我增长策略中最关键的一步，就是启动了 “内容狙击” 计划。&lt;/p&gt;

&lt;p&gt;我不再被动等待，而是主动在搜索引擎生态中 “埋下” 一个个引导路标。我系统地撰写了少量（不好意思精力有限）与 “AI API”、“免费接口”“Sora2”“Nano banana” 等核心关键词相关的技术文章、使用教程和评测对比，并发布在百家号、知乎、CSDN 等百度高度重视的内容平台。&lt;/p&gt;

&lt;p&gt;这一操作带来了立竿见影的效果：&lt;/p&gt;

&lt;p&gt;精准触达：当开发者在百度搜索相关问题时，我的文章成为了他们的 “答案”，并自然地将高意向流量引导至 GrsAi API 平台。&lt;/p&gt;

&lt;p&gt;信任前置：通过干货内容，我在用户访问产品前就建立了专业度和信任感，大幅降低了后续的转化门槛。并通过赠送体验积分，留住用户让他免费体验稳定性与生成速度。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/07b1031c-d2a9-4fca-8a90-a234d9bb28f2.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="齿轮三：主动出击——从“人找货”到“货找人”"&gt;齿轮三：主动出击——从 “人找货” 到 “货找人”&lt;/h3&gt;
&lt;p&gt;在内容引流的同时，我启动了另一个高效的策略：定向主动推广。&lt;/p&gt;

&lt;p&gt;一开始都是用户找上门，我也不知道他们从哪里知道的，可能是人传人。但为了主动获取更多优质用户，我通过技术社区、GitHub 等项目，精准定位了一批潜在的种子用户——那些正在寻找类似解决方案的开发者或初创团队。通过发送邮件和私信，简要介绍 GrsAi（尤其是源头服务的稳定与价格优势），并邀请他们体验试用。&lt;/p&gt;

&lt;p&gt;这一步，直接将 “人找货” 的被动模式，升级为 “货找人” 的主动攻击。虽然转化率不如搜索流量高，但它为我带来了最原始、最宝贵的种子用户群，为下一个齿轮的转动提供了初始动力。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/9229b888-76e4-47af-8839-3cb2a6cd8084.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;
&lt;h3 id="齿轮四：激励传播——让用户成为你的“分销合伙人”"&gt;齿轮四：激励传播——让用户成为你的 “分销合伙人”&lt;/h3&gt;
&lt;p&gt;为啥会有分销？其实并没有专门做这个功能，是有用户开始主动来咨询可以做 “分销吗？” 我才上线了分销机制。用户通过专属链接成功推荐新用户后，只要下级进行充值就可以获得实质性的收益。&lt;/p&gt;

&lt;p&gt;这彻底改变了游戏规则：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;分享即收益&lt;/strong&gt;：好的产品体验，叠加实实在在的激励，让大量用户化身为平台的 “分销合伙人”。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;裂变式增长&lt;/strong&gt;：用户在自己的社交圈、技术群、社交媒体中主动分享，形成了 “好用 → 愿意分享 → 获得回报 → 更积极分享” 的裂变循环。这正是 9 月到 10 月流量暴增的最直接驱动力之一。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;增长的副产品&lt;/strong&gt;：高质量外链的自然涌现&lt;/p&gt;

&lt;p&gt;当以上齿轮协同运转，一个美好的 “副产品” 便自然诞生了：高质量的自然外链。&lt;/p&gt;

&lt;p&gt;一些被产品价值（特别是稳定性和性价比）和激励政策打动的技术博主、资源站站长，开始自发地在他们的博客、导航站中推荐并链接到 GrsAi API 平台。这些来自高权重网站的 “自来水” 推荐，是搜索引擎眼中最珍贵的信任票，它们强力地提升了我的网站权重和搜索排名，让飞轮转动得更快。&lt;/p&gt;
&lt;h3 id="总结：我的增长飞轮模型"&gt;总结：我的增长飞轮模型&lt;/h3&gt;
&lt;p&gt;复盘整个过程，从 9K 到 27K 的跨越，并非某个单一动作的奇迹，而是我构建的增长飞轮开始高效运转的结果：&lt;/p&gt;

&lt;p&gt;打磨一个卓越的产品 → 通过内容在搜索端精准狙击 → 主动出击寻找种子用户 → 设计激励让用户成为传播节点 → 收获自然外链与更高排名 → 更多流量反馈驱动产品迭代。&lt;/p&gt;

&lt;p&gt;这个飞轮一旦启动，每一次转动都会为下一次带来更强的势能。而这一切的起点，永远在于：你的产品是否为用户创造了真实、可感知的、甚至令人惊喜的价值？&lt;/p&gt;

&lt;p&gt;希望我的这段复盘，能为正在路上的你，带来一些切实的启发。&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAi APi&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;10w 积分欢迎体验，请不要恶意兑换感谢~
充值页兑换：cdk-0aa3074ce56641a091d50eaf02568caa &lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Mon, 10 Nov 2025 14:40:21 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6546</link>
      <guid>https://beta.w2solo.com/topics/6546</guid>
    </item>
    <item>
      <title>大家怎么看产品营销中 “福利” 被薅羊毛的情况？你还敢发吗？</title>
      <description>&lt;p&gt;最近我在运营&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAi APi&lt;/a&gt; 的时候会发 10W 积分给用户体验，通常积分兑换码都是一个月过期，我了解我的运营能力，一天有几个人兑换就很了不起了！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/4a16ecbe-faf9-4408-a6fc-25559aad2ad7.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;但是！但是！一天十几二十个，在同一个或者近似的时间段领取兑换就很不正常了！&lt;/p&gt;

&lt;p&gt;10W 积分虽然不多有人薅我也理解，怎么连新人注册的 5000 积分也要薅&lt;/p&gt;

&lt;p&gt;直接自动化批量注册，薅大企业就算了，薅到我这里，想不发现也难啊&lt;/p&gt;

&lt;p&gt;每天还要会尽力去封号！大家遇到这种事情会怎么处理？&lt;/p&gt;

&lt;p&gt;默许 or 拉黑 or 不再发福利？&lt;/p&gt;

&lt;p&gt;希望有经验的大佬能给我一些建议！&lt;/p&gt;

&lt;p&gt;实在不行可能我以后会缩短过期时间，或者只提供 10 个兑换码了&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Fri, 07 Nov 2025 23:06:36 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6542</link>
      <guid>https://beta.w2solo.com/topics/6542</guid>
    </item>
    <item>
      <title>【Ai 批量生图开源工具】+【便宜稳定 API 供应商】分享</title>
      <description>&lt;p&gt;经过这几年 Ai 模型迭代升级，越来越多好用的模型出现，让电商人和自媒体的人的工作方便多了许多。以前找个美工折腾半天的产品图、文案配图，现在输入几句话就能生成，质量和速度都远超预期。&lt;/p&gt;

&lt;p&gt;不过实际用起来就会发现，AI 生图最大的问题就是不确定性。就算是同样的提示词每次生成结果都不同，如果想得到理想图片全靠反复"抽卡"和不断修改优化提示词。更麻烦的是，大部分平台都有并发限制，还没生成几张就已经到了最大生成限制，还要等图片生成完才能继续操作，特别是使用 Sora-image（gpt4o）速度特别慢少说也要几分钟，等到来效率实在太低。&lt;/p&gt;

&lt;p&gt;后来我发现了两个互相配合的工具：一个 Ai 批量生图/视频网站，&lt;strong&gt;加上一个提供便宜低价 Sora2，sora-image（Gpt4o），Nano banana，Veo3.1，Gemini，flux...Ai 大模型的 API 的聚合平台&lt;/strong&gt;。这个组合彻底解决了我的痛点——现在可以同时提交几十个生图/视频任务，生成的图片/视频平铺展示任我挑选，成本还特别可控。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/37e9b0e9-50eb-4100-9f95-1a64ae944cef.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;简单来说，使用流程非常简单：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;在&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAI API&lt;/a&gt;控制台获取 APikey 密钥&lt;/li&gt;
&lt;li&gt;在&lt;a href="Image.grsai.com" title=""&gt;Image.grsai.com&lt;/a&gt;生图工具配置密钥&lt;/li&gt;
&lt;li&gt;批量提交提示词/参考图开始生成图片或视频&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;下面就要具体说说怎么操作。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一、Image.GRSAI.com：Ai 批量生图工具&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Github 开源资源：&lt;a href="https://github.com/31702160136/grsai-gpt-image" rel="nofollow" target="_blank"&gt;https://github.com/31702160136/grsai-gpt-image&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这是在 GitHub 上发现的 Ai 大模型刷图工具，一开始只支持 Gpt4o 现在开放了多款模型，支持图片/视频生成，对于需要频繁生成营销图片、产品预览图、 产品营销视频和内容配图的用户或商家来说，一个简洁、无干扰、支持批量操作的生成工具至关重要。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;打开即用，无需繁琐步骤，批量生成下载图片无并发限制&lt;/li&gt;
&lt;li&gt;支持多种主流生成模型，包括图片，视频模型： Sora-Image(Gpt4o)、Sora2、Noro-Banana、Veo3.1，Veo3.0 等&lt;/li&gt;
&lt;li&gt;只需填入 GrsAI 获取的 API Key 密钥，即可选择任意模型、尺寸，输入提示词，甚至上传参考图进行生成&lt;/li&gt;
&lt;li&gt;生成失败不扣积分&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;需要特别注意的是它保存机制：生成的内容有效期为 2 小时，需要及时下载。并且系统最多保留 200 个任务，超出会自动清理最早的任务。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/042c249b-8278-44ab-abdf-34149a30b219.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;这意味着，你可以不间断地 “刷” 出大量图片，无论是为了一周的社交媒体配图，还是测试不同视觉风格，都能批量生成下载内容提高工作效率。&lt;/p&gt;

&lt;p&gt;当然前提是你的积分充足，而且不同模型扣除的积分数量也不同，具体参考 grsai 控制台的模型列表。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/d4f63de5-4662-4a41-bb23-3206cd6963c1.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;具体操作流程：
1.无需登录注册打开网站：&lt;a href="https://image.grsai.com/" rel="nofollow" target="_blank"&gt;https://image.grsai.com/&lt;/a&gt; 右上角点击获取 APIKEY&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/dc420197-15f7-4ddb-ad63-7b0e99105106.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2.访问 GrsAi 控制台：&lt;a href="https://grsai.com/zh/dashboard/api-keys" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/api-keys&lt;/a&gt; ，新用户获得 5000 积分（下面有 10w 积分码可以领取！）&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/0ae4b7a2-71dc-43f4-a7f5-269552037e61.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;3.控制台左侧找到 API Key 点击获取，复制 key&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/084fb6d3-de23-4535-ac7b-d4f6c53f28ec.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;4.选择设置 API key，黏贴&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/c62d92a6-f7f4-4041-9f69-ac22346c2606.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/cf1ff935-e757-4ef0-b96c-2ceadd635888.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;5.导入图片（可选），输入提示词、选择风格、模型和尺寸，最后点击 “生成图像”&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/a628fc91-c390-43bc-b15b-00c48504d58f.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Nano banana 生成效果图&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/8ad181b7-fb7b-41fd-8241-01e9e20d61b3.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;Sora2 视频生成效果图&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/2918825b-288b-4379-bda8-4f45538ac6f5.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;二、Grsai：Api 供应商提供便宜稳定的 Ai 模型调用服务&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;上面提供的免费开源 Ai 生成工具都是需要自己去 API 平台获取 APIkey 进行调用才可以使用，而 GrsAi api 正是这样一个提供多种便宜稳定的 AI 模型 API 聚合平台。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;多款 Ai 大模型：&lt;/strong&gt;Sora2（无水印）、Nano banana、Veo3.1、Veo3.1、Sora-image（Gpt4o）、Gemini、Flux....&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;便宜稳定高并发：&lt;/strong&gt;低于市场价同时保证稳定性，多个备用方案应对突发情况确保服务正常使用。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;24 小时专人维护：&lt;/strong&gt;有问题第一时间抢修，确保正常使用，保证服务稳定&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;生成失败秒退款：&lt;/strong&gt;不管任何原因只要生成失败，积分秒退还&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;适合不同人群：&lt;/strong&gt;已为超 2000 家大型上市企业、出海开发者及个人用户提供可靠服务，深度赋能电商、自媒体、设计等关键领域。&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;功能完备的控制台：&lt;/strong&gt;仪表盘轻松监控数据，日志快速查询调用明细，存储库节省服务器流量成本，在线体验/文档帮助开发者轻松调用配置体验模型效果。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://img2024.cnblogs.com/blog/3711143/202511/3711143-20251107210559386-1757918194.png" title="" alt="image"&gt;&lt;/p&gt;

&lt;p&gt;如何获取 APIKey 密钥？&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;访问&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Grsai&lt;/a&gt;：&lt;a href="https://grsai.com/" rel="nofollow" target="_blank"&gt;https://grsai.com/&lt;/a&gt;官网，进入控制台页面。&lt;/li&gt;
&lt;li&gt;在侧边栏找到并点击 “API 密钥” 选项。&lt;/li&gt;
&lt;li&gt;点击右上角的 “创建” 按钮，为密钥命名后即可生成复制使用。
获取密钥后，将其填入前述的 Image.grsai.com 生成网站，即可开始使用。每次生成都会根据模型扣除相应的积分。
&lt;img src="https://img2024.cnblogs.com/blog/3711143/202511/3711143-20251107210605240-1291470193.png" title="" alt="image"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;可调用模型消耗单价：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sora2—— 0.08/条（视频）&lt;/li&gt;
&lt;li&gt;Sora Image—— 0.02/张（图像）&lt;/li&gt;
&lt;li&gt;NanoBanana——0.022/张（图像）&lt;/li&gt;
&lt;li&gt;Veo3.1-Fast—— 0.4/条（视频）&lt;/li&gt;
&lt;li&gt;Veo3.1-Pro——2/条（视频）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;对于需要大量生成图片或短视频内容的团队和个人而言，能够有效降本增效，将利润最大化，对于普通用户来说，可以直接用商家最低成本价体验到不同模型生成效果。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img2024.cnblogs.com/blog/3711143/202511/3711143-20251107210615919-32523717.png" title="" alt="image"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10W 体验积分领取教程：&lt;/strong&gt;
充值页兑换积分：cdk-a60917fe773a43da851accacb1d7c034（有效期截止 11 月 30 日）&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结语&lt;/strong&gt;
以上就是我个人目前在用的批量生图方案。这个由 GrsAi API 提供的 Image.grsai.com 工具组合而成的工作流，在我处理电商图片和自媒体图时，确实提升了效率。如果你也面临类似的创作需求，不妨一试，也欢迎分享你的使用体验。&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Fri, 07 Nov 2025 21:55:13 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6541</link>
      <guid>https://beta.w2solo.com/topics/6541</guid>
    </item>
    <item>
      <title>还在求 Sora2 邀请码？我已经用 Sora2 API 批量生成无水印视频了！（附免费去水印 +Api 调用教程）</title>
      <description>&lt;p&gt;无需额外工具，登录网站即可直接生成无水印视频还记得&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;Sora 2&lt;/a&gt;刚发布时，它生成的视频带给你的那种冲击感吗？&lt;/p&gt;

&lt;p&gt;“这真的是 AI 生成的？”“太逼真了吧！”“我还以为是真的！”&lt;/p&gt;

&lt;p&gt;sora2 这次带来的画面，已经逼真到肉眼难以分辨真假。有些视频一旦去掉水印，很多人根本看不出这是 AI 生成的。&lt;/p&gt;

&lt;p&gt;但问题是，官方生成的视频都带着一个跳动的水印。那普通用户到底是怎么去掉 Sora2 自带水印的？&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/7b802a7f78f6794cc96062ec455966ef.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;事实上，为了更好的呈现效果，从个人用户到企业团队，再到独立开发者，很多人都有去除水印的需求。那到底怎么去最方便？有没有免费的方法？
今天这篇文章，就一次性和大家说清楚，保证让你不白来一趟！文末还准备了福利，记得看到最后。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/0961327ab806710fbd835c4ce1aaee36.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="一、Sora2水印怎么去除还不影响画质"&gt;一、Sora2 水印怎么去除还不影响画质&lt;/h2&gt;
&lt;p&gt;对于普通用户和内容创作者而言，免费去水印是最优的选择。&lt;/p&gt;

&lt;p&gt;而对于追求效率与规模的独立开发者及企业来说，实现自动化流程集成的去水印是最终目标。那就需要实现去水印自动化，可以考虑使用 APi 接口处理&lt;/p&gt;

&lt;p&gt;在介绍全新解决方案前，我们先了解一下目前常见的去水印方法及其局限性。市面上主流的水印处理方式主要分为以下几类：&lt;/p&gt;

&lt;p&gt;当前主流的去水印方式主要包括基于深度卷积神经网络的 AI 工具、在线去水印平台以及专业视频编辑软件。&lt;/p&gt;

&lt;p&gt;AI 工具在复杂场景下去除水印的成功率可达 92%，但处理耗时较长，尤其对视频文件，可能影响画质，且批量处理多需付费；在线平台则常限制文件大小，存在隐私风险，效果也不稳定；专业视频编辑软件虽然功能完善，但学习成本高、价格昂贵，不适合普通用户快速操作。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;免费工具选项&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;对于寻求免费去水印的用户，以下是不错的选择，需要自己手动操作，没法自动化是唯一痛点。&lt;/p&gt;

&lt;p&gt;完全免费的去视频水印工具：&lt;a href="https://magiceraser.org/remove-watermark-from-video/" rel="nofollow" target="_blank" title=""&gt;https://magiceraser.org/remove-watermark-from-video/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;使用简单，只需上传视频，用框选工具选中水印区域，点击移除即可下载处理后的视频&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/1fa7dd9d203a7858b7d051f462045c9d.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;每日免费三次的去视频水印工具：&lt;a href="https://unwatermark.ai/video-watermark-remover/" rel="nofollow" target="_blank" title=""&gt;https://unwatermark.ai/video-watermark-remover/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;提供每日免费使用额度，通过框选或笔刷工具标记水印区域，等待约一分钟即可完成处理&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/f544fde1bebfbf5b58e48518b6eb007f.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;付费工具选择&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;对于有足够预算，且对视频质量有更高视频要求的用户可以用专业工具自动化去除水印。&lt;/p&gt;

&lt;p&gt;专业去水印工具：&lt;a href="https://www.runninghub.cn" rel="nofollow" target="_blank" title=""&gt;https://www.runninghub.cn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;选择使用人数多的应用，上传视频后点击运行，等待生成即可&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/073a13ef66d68863ad0fc490e7713d50.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="二、GrsAi APi一键生成无水印Sora2视频"&gt;二、&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;GrsAi APi&lt;/a&gt;一键生成无水印 Sora2 视频&lt;/h2&gt;
&lt;p&gt;上述方法虽然能解燃眉之急，但对于需要批量、高效生产内容的企业与开发者而言，还是过于麻烦。&lt;/p&gt;

&lt;p&gt;为此，GrsAi 提供了一套面向生产环境的专业解决方案：通过调用 Sora2 API，直接从源头生成高质量的无水印视频。这不仅跳过了所有后续处理步骤，更意味着：&lt;/p&gt;

&lt;p&gt;企业：将视频生成成本（含去水印）固化并降至 0.08/条，实现了降本增效与流程自动化，实现稳定高并发便宜的调用需求。&lt;/p&gt;

&lt;p&gt;普通用户：无需苦等官方邀请码，即可通过 GrsAi 便捷地体验和创作原生无瑕的 Sora2 视频。&lt;/p&gt;
&lt;h2 id="什么是GrsAi？"&gt;什么是 GrsAi？&lt;/h2&gt;
&lt;p&gt;GrsAi（&lt;a href="https://grsai.com/" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/&lt;/a&gt;）是 2025 年备受关注的 AI 大模型 API 聚合平台，日调用量超过 50 万次，服务 2000 多款独立开发者和企业产品。它整合了多种 AI 大模型接口资源，以价格便宜、稳定性强、支持高并发为主要特点。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/d74fbef2d1c326678a5f8415a7cc2f7b.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="GrsAi × Sora 2无水印API有啥用？"&gt;GrsAi × Sora 2 无水印 API 有啥用？&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. 直接生成无水印视频&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GrsAi 提供的 Sora 2 API 直接输出没有水印的视频内容，无需后续处理步骤。这不仅节省了时间，更避免了因去水印操作可能导致的质量损失。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 极低的成本&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;相比官方 API 的高昂价格，GrsAi 上的 Sora 2（无水印）每个视频仅需 0.08。对于需要大量生成视频的创作者来说，这一价格优势极为明显。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 技术简化，一键操作&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;使用 GrsAi 生成无水印视频异常简单，只需登录网站，点击在线体验中的 Sora 2 模型，输入提示词即可直接获得无水印视频，真正实现 “生成去水印一条龙” 服务。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 高稳定性和可靠性&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;平台通过多节点备份保证 99% 以上的正常运行时间，适合高流量任务，且生成失败不扣积分。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/57119f606021d8a34a99111145ce814f.png" title="" alt=" "&gt;&lt;/p&gt;
&lt;h2 id="三、如何使用GrsAi APi生成无水印Sora2视频"&gt;三、如何使用 GrsAi APi 生成无水印 Sora2 视频&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;简易使用步骤&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.注册账户：访问 GrsAi(&lt;a href="https://grsai.com/zh/dashboard" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard&lt;/a&gt;) 控制台注册，获取免费试用额度 5000 积分。&lt;/p&gt;

&lt;p&gt;2.获取 API 密钥：在仪表盘 “Ai key” 中生成密钥。&lt;/p&gt;

&lt;p&gt;3.在线体验：登录网站后，点击 “在线体验” 中的 Sora 2 模型，直接输入提示词即可生成无水印视频。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/ba36166b3dca6791738cc0163589d354.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;参数调整建议&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.可根据需求调整画面比例（如 16:9 或 9:16）&lt;/p&gt;

&lt;p&gt;2.设置视频时长（10s 或 15s）&lt;/p&gt;

&lt;p&gt;3.选择合适的视频尺寸（small/large）&lt;/p&gt;
&lt;h2 id="四、GrsAi在视频创作领域的应用前景"&gt;四、GrsAi 在视频创作领域的应用前景&lt;/h2&gt;
&lt;p&gt;GrsAi APi 提供的 Sora 2 无水印 API，为多个领域的视频创作带来了便利。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 短视频创作者：&lt;/strong&gt;可以快速生成高质量的原创视频内容，无需担心水印问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 电商行业：&lt;/strong&gt;批量制作产品展示视频，提升营销效率。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 教育培训：&lt;/strong&gt;轻松制作教学材料，避免版权和水印的干扰。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 社交媒体运营：&lt;/strong&gt;保持内容风格统一，提升品牌专业度。&lt;/p&gt;

&lt;p&gt;五、10W 积分免费用 GrsAi APi
10w 积分兑换码：cdk-a60917fe773a43da851accacb1d7c034（充值页兑换）&lt;/p&gt;

&lt;p&gt;点击登录 GrsAi 控制台：&lt;a href="https://grsai.com/zh/dashboard/documents/sora-2" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/documents/sora-2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://f.vue2.net/images/2025/10/29/70dc2c80fac6da872b95dd8b153a38b5.png" title="" alt=" "&gt;&lt;/p&gt;

&lt;p&gt;通过 GrsAi Api 就能直接获得高质量的无水印视频，这种一站式的解决方案，不仅极大提升了创作效率，更让每位创作者都能专注于内容本身，释放无限创意潜能。&lt;/p&gt;

&lt;p&gt;立即体验&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAi Api&lt;/a&gt;的 Sora 2 无水印生成功能，让创意不再受技术束缚！&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Wed, 29 Oct 2025 17:29:14 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6470</link>
      <guid>https://beta.w2solo.com/topics/6470</guid>
    </item>
    <item>
      <title>出海人必看：AI 大模型 API 太烧钱？这个方案让我降低成本还提升了稳定性。（附 10w 积分免费用）</title>
      <description>&lt;p&gt;自从 Ai 火爆全球，利用 Ai 驱动的产品接踵而来，选择便宜、稳定、高并发 AI API 对企业和独立开发者至关重要。官方渠道 OpenAI 或 Google 的 API 价格过于昂贵并不是最优选择，企业独立开发如何降本增效？
&lt;img src="https://picx.zhimg.com/80/v2-abe549b76bab6a1054d7c3cb00d9574b_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;2025 杀出来的黑马 Api 聚合平台——&lt;strong&gt;&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;GrsAi&lt;/a&gt;（&lt;a href="https://grsai.com" rel="nofollow" target="_blank" title=""&gt;https://grsai.com&lt;/a&gt;）&lt;/strong&gt;作为领先的 API 聚合服务平台，提供低价 AI 大模型 API 具有超强的稳定性，为企业独立开发提供便宜稳定的调用服务。&lt;strong&gt;GrsAi 日调用量 50w+，服务 2000+ 独立开发者的网站和企业大型产品，拥有多款 AI 大模型接口资源，价格便宜，稳定性强，支持高并发。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-bdb5896e22e6ef6a4c5550562350fafb_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;本文通过测试对比 GrsAi 与官网 API，评估 Sora 2 (无水印)、GPT-4o（图像生成）和 Gemini-2.5-Flash 等模型，配以详细表格，并提供使用 GrsAi 稳定 AI API 的实用指南，重点介绍 Sora 2 API 视频生成如何调用。
&lt;img src="https://img.way2solo.com/photo/ALLENREN/ccda5c27-3f78-4529-99d8-29ae866fa8da.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GrsAi API vs 官网：AI 大模型接口价格与性能测评&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GrsAi API 涵盖视频生成（Sora 2，Veo3.0/3.1）、图像生成（GPT-4o、Gemini 2.5 Flash Image（Nano Banana）、Flux1.1Pro/Ultra、Flux.1kontext pro/fast）和文本处理（Gemini2.5）等模型。下表对比 GrsAi 的定价和响应时间，以及官网 API 价格：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-78dfcd4fc494ad4449fea2c9645aa040_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;部分热门模型（完整列表见 GrsAi 控制台：&lt;a href="https://grsai.com/zh/dashboard/models" rel="nofollow" target="_blank"&gt;https://grsai.com/zh/dashboard/models&lt;/a&gt;）
&lt;img src="https://picx.zhimg.com/80/v2-59eff8b69c9e8bf5526a573aed5c3047_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GrsAi 的独特优势&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GrsAi 主流 AI 大模型 API 聚合平台，优势包括：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;低价接入&lt;/strong&gt;：如 Sora 2（$0.08/视频），Nano Banana（$0.022/张）Veo3.0/3.1（$0.4/视频），在官网 API 昂贵或不可用时极具优势。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;超高稳定性&lt;/strong&gt;：多节点备份保证 99%+ 正常运行时间，适合高流量任务。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;失败不扣积分&lt;/strong&gt;：生成失败不扣积分直接原路返还。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;支持高并发&lt;/strong&gt;：多个请求同时响应，提高生成速度。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;存储库&lt;/strong&gt;：平台自带存储库，把图片与视频文件上传到存储库中，降低企业服务器流量成本。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一站式接入&lt;/strong&gt;：一个 API 密钥调用视频、图像和文本模型，简化流程。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;全球支持&lt;/strong&gt;：全球用户都可以直接调用低价 AI API。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-59eff8b69c9e8bf5526a573aed5c3047_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;如何使用 GrsAi AI 大模型 API 调用，快速上手指南&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;用 GrsAi 的 Sora 2 (无水印) API 举例，以下是基于官方文档的步骤：&lt;/p&gt;

&lt;p&gt;注册账户：访问&lt;a href="https://grsai.com/zh/dashboard/admin/cdkey" rel="nofollow" target="_blank" title=""&gt;GrsAi&lt;/a&gt;（&lt;a href="https://grsai.com/zh/dashboard/admin/cdkey" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/admin/cdkey&lt;/a&gt;）控制台注册，获取免费试用额度 5000 积分。&lt;/p&gt;

&lt;p&gt;获取 API 密钥：在仪表盘 “Ai key” 中生成密钥。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://picx.zhimg.com/80/v2-2a3ec4cd15138da47c7e6586c3d35d2a_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;发送请求：使用以下 Python 代码生成无水印视频：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/e23d5383-6e7a-40df-8c52-0ff4e12bbc68.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;· 检查结果：若使用轮询（webHook 设为"-1"），查询结果接口：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.way2solo.com/photo/ALLENREN/30ea3c18-3506-42bc-be07-25b2067b09a8.png?imageView2/2/w/1920/q/100" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;· 处理响应：API 返回包含视频 URL（有效期 2 小时）的 JSON，进度达 100% 时完成。可用 webHook 接收回调，或设置 shutProgress: true 仅获取最终结果。&lt;/p&gt;

&lt;p&gt;小贴士：&lt;/p&gt;

&lt;p&gt;使用 webHook 实现实时回调，省去轮询。&lt;/p&gt;

&lt;p&gt;调整 aspectRatio（如 16:9 或 9:16）和 size（small/large）以满足需求。&lt;/p&gt;

&lt;p&gt;通过仪表盘跟踪成本（Sora 2 每视频 $0.08）。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;领取 10w 积分免费体验 GrsAi&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GrsAi API 聚合平台，提供便宜、稳定、高并发的 AI 大模型接口调用服务。访问&lt;a href="https://grsai.com/zh/dashboard/admin/cdkey" rel="nofollow" target="_blank" title=""&gt;GrsAi&lt;/a&gt;（&lt;a href="https://grsai.com/zh/dashboard/admin/cdkey" rel="nofollow" target="_blank" title=""&gt;https://grsai.com/zh/dashboard/admin/cdkey&lt;/a&gt;），使用积分兑换码 “cdk-a60917fe773a43da851accacb1d7c034” 获取 100000 积分（充值页兑换）免费试用 AI 模型 API，降低成本！&lt;/p&gt;

&lt;p&gt;&lt;img src="https://pic1.zhimg.com/80/v2-9eab8401f7052a578edd6b92d33e9af3_1440w.png?source=ccfced1a" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>ALLENREN</author>
      <pubDate>Tue, 28 Oct 2025 17:33:04 +0800</pubDate>
      <link>https://beta.w2solo.com/topics/6465</link>
      <guid>https://beta.w2solo.com/topics/6465</guid>
    </item>
  </channel>
</rss>
