技术详解:Agnes AI 全模态大模型平台与多模态 API 实践指南
说明Agnes AIagnes-ai.com是由 Sapiens AI 推出的全模态大模型平台非阿里内部项目但与国内大模型生态深度兼容 OpenAI 协议2026年6月起免费开放Agnes-2.0-Flash文本/Agent、Agnes-Image-2.1-Flash图像、Agnes-Video-V2.0视频​ 三大核心模型 API完全兼容 OpenAI SDK适合快速构建多模态 Agent 与内容生成流水线。一、Agnes AI 平台与模型矩阵Agnes AI 定位为全模态一站式 API核心卖点是同一套 Key 同一套 OpenAI 兼容协议​ 即可调用文本、图像、视频三种能力且 Agent 文本模型原生支持 Function Calling / Tool Use / 1M Token 上下文。模型标识模态核心能力典型用途agnes-2.0-flash/agnes-2.0-flash-thinking文本1M 上下文、Tool Use、结构化输出、代码生成Agent 规划、RAG、代码助手、多轮对话agnes-image-2.1-flash图像文生图、图改图Img2Img、局部编辑、多图融合电商海报、人物风格转换、信息图agnes-video-v2.0视频文生视频(T2V)、首帧/首尾帧生视频、音画同步广告素材、分镜预演、短视频API Base URLhttps://apihub.agnes-ai.com/v1获取 Key登录 https://platform.agnes-ai.com→ Settings → Create API Key免费策略免费层有 RPM/QPD 限额商用可申请 Token Plan 提额二、环境准备# Python pip install openai requests # 设置环境变量推荐 export AGNES_API_KEYsk-xxxxxx export AGNES_BASE_URLhttps://apihub.agnes-ai.com/v1Java 侧使用标准OkHttpJackson或直接引入spring-ai-openai-spring-boot-starter并覆写base-url。三、Python 实践示例3.1 文本对话 多轮Agent 基座# -*- coding: utf-8 -*- from openai import OpenAI import os client OpenAI( api_keyos.getenv(AGNES_API_KEY), base_urlos.getenv(AGNES_BASE_URL) ) # ---- 单轮 ---- resp client.chat.completions.create( modelagnes-2.0-flash, messages[ {role: system, content: 你是一名资深后端架构师}, {role: user, content: 用Python写一个带重试机制的HTTP请求工具类含超时与指数退避} ] ) print(resp.choices[0].message.content) # ---- 多轮对话 ---- messages [ {role: system, content: 你是数据分析助手}, {role: user, content: 帮我分析2025年Q1~Q4的销售额趋势假设数据是[120,145,130,180]万元} ] resp client.chat.completions.create(modelagnes-2.0-flash, messagesmessages) reply resp.choices[0].message.content print(reply) messages.append({role: assistant, content: reply}) messages.append({role: user, content: 给出环比增长率并推荐下一步行动}) resp2 client.chat.completions.create(modelagnes-2.0-flash, messagesmessages) print(resp2.choices[0].message.content)3.2 Function Calling工具调用 / Agent 核心tools [ { type: function, function: { name: get_weather, description: 获取指定城市的当前天气, parameters: { type: object, properties: { city: {type: string, description: 城市名如广州} }, required: [city] } } } ] messages [{role: user, content: 广州今天天气怎么样适合户外拍摄吗}] resp client.chat.completions.create( modelagnes-2.0-flash, messagesmessages, toolstools, tool_choiceauto ) msg resp.choices[0].message # 模拟执行工具 if msg.tool_calls: call msg.tool_calls[0] print(f→ 调用工具: {call.function.name}, 参数: {call.function.arguments}) # 这里实际应查天气 API此处模拟返回 weather_result 晴28°C微风 messages.append({role: assistant, content: None, tool_calls: msg.tool_calls}) messages.append({ role: tool, tool_call_id: call.id, content: weather_result }) final client.chat.completions.create(modelagnes-2.0-flash, messagesmessages) print(Agent 回复:, final.choices[0].message.content) else: print(msg.content)3.3 文生图 图改图Image# 文生图 img_resp client.images.generate( modelagnes-image-2.1-flash, prompt赛博朋克风格的未来城市夜景霓虹灯飞行汽车超广角电影感, size1024x576, n1, response_formaturl ) print(图片URL:, img_resp.data[0].url) # 图改图Img2Img—— 通过 extra_body 传原图 img_edit client.images.generate( modelagnes-image-2.0-flash, # 2.0 版支持 img2img prompt把这张照片改成梵高油画风格保留主体轮廓, size1024x1024, extra_body{ tags: [img2img], image: [https://your-cdn.com/source.jpg], # 公网可访问URL response_format: url } ) print(编辑后URL:, img_edit.data[0].url)3.4 文生视频异步任务模式Agnes-Video 使用异步任务接口需先提交再轮询import requests import time import os API_KEY os.getenv(AGNES_API_KEY) BASE https://apihub.agnes-ai.com/v1 headers { Authorization: fBearer {API_KEY}, Content-Type: application/json } # 提交任务 submit requests.post( f{BASE}/videos, headersheaders, json{ model: agnes-video-v2.0, prompt: 夕阳下金毛犬在沙滩上追逐飞盘慢动作电影感, width: 1280, height: 720, num_frames: 121, # ~5秒 24fps frame_rate: 24 } ) submit.raise_for_status() task_id submit.json()[id] print(fTask submitted: {task_id}) # 轮询 while True: res requests.get(f{BASE}/videos/{task_id}, headersheaders) data res.json() status data.get(status) or data.get(task_status) if status in (succeeded, SUCCEEDED): print(Video URL:, data.get(video_url) or data[output][video_url]) break elif status in (failed, FAILED): raise RuntimeError(fVideo gen failed: {data}) time.sleep(5)四、Java 调用示例HTTP 方式以最常用的文本对话​ 和文生图​ 为例使用 OkHttp Jackson。Maven 依赖dependency groupIdcom.squareup.okhttp3/groupId artifactIdokhttp/artifactId version4.12.0/version /dependency dependency groupIdcom.fasterxml.jackson.core/groupId artifactIdjackson-databind/artifactId version2.17.0/version /dependencyJava 示例——Chat Completionspackage com.example.agnes; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import okhttp3.*; import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; public class AgnesClient { private static final String API_KEY System.getenv(AGNES_API_KEY); private static final String BASE_URL https://apihub.agnes-ai.com/v1/chat/completions; private static final OkHttpClient client new OkHttpClient(); private static final ObjectMapper mapper new ObjectMapper(); public static String chat(String userMsg) throws IOException { MapString, Object msg Map.of(role, user, content, userMsg); MapString, Object body Map.of( model, agnes-2.0-flash, messages, new Object[]{msg} ); String json mapper.writeValueAsString(body); Request req new Request.Builder() .url(BASE_URL) .addHeader(Authorization, Bearer API_KEY) .post(RequestBody.create(json, MediaType.parse(application/json))) .build(); try (Response resp client.newCall(req).execute()) { JsonNode root mapper.readTree(resp.body().string()); return root.get(choices).get(0).get(message).get(content).asText(); } } public static void main(String[] args) throws Exception { System.out.println(chat(用一句话介绍 Agnes AI 平台)); } }Java 示例——文生图public static String generateImage(String prompt) throws IOException { MapString, Object body Map.of( model, agnes-image-2.1-flash, prompt, prompt, size, 1024x576, n, 1, response_format, url ); Request req new Request.Builder() .url(https://apihub.agnes-ai.com/v1/images/generations) .addHeader(Authorization, Bearer API_KEY) .post(RequestBody.create( mapper.writeValueAsString(body), MediaType.parse(application/json))) .build(); try (Response resp client.newCall(req).execute()) { JsonNode root mapper.readTree(resp.body().string()); return root.get(data).get(0).get(url).asText(); } }五、Agent 多模态组合实战思路Agnes AI 的优势在于同一套 Key 串联三种模态典型 Agent 工作流规划层agnes-2.0-flash Function Calling→ 解析用户意图判断是否需生图/生视频创作层​ → 调用 Image API 生成角色参考图 / 场景概念图叙事层​ → 调用 Video API 基于文案参考图生成短片或配合外部剪辑拼接汇报层agnes-2.0-flash→ 汇总结果、生成文案说明这种LLM 规划 多模态执行的 Pattern 非常适合做短视频自动生产 Agent、电商素材批量生成流水线。六、注意事项视频接口是异步的务必轮询或配置 Webhook不要同步等待图片 Img2Img​ 需通过extra_body.image传公网 HTTPS URL免费限额有 RPM每分钟请求数和日调用量限制生产环境建议申请付费 Token Plan兼容 OpenAI 协议存量 LangChain / LlamaIndex / Spring AI 代码只需改base_urlapi_key

相关新闻

3分钟搞定Kafka可视化:零代码管理Apache Kafka的终极指南

3分钟搞定Kafka可视化:零代码管理Apache Kafka的终极指南

3分钟搞定Kafka可视化:零代码管理Apache Kafka的终极指南 【免费下载链接】kafka-ui Open-Source Web UI for managing Apache Kafka clusters 项目地址: https://gitcode.com/gh_mirrors/kaf/kafka-ui 还在为复杂的Kafka命令行管理而烦恼吗?想要…

2026/6/29 16:35:32阅读更多 →
跨平台音乐播放神器:如何用开源软件免费畅听全网音乐

跨平台音乐播放神器:如何用开源软件免费畅听全网音乐

跨平台音乐播放神器:如何用开源软件免费畅听全网音乐 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 还在为音乐平台的会员费烦恼吗?是否厌倦了在不同应用…

2026/6/29 16:35:32阅读更多 →
esp32开发与应用(esp和wch芯片的配合)

esp32开发与应用(esp和wch芯片的配合)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】前面我们写过,esp32可以通过spi的方式,和w5500模块进行通信。但是这样的话,其实浪费了一个spi口,有一…

2026/6/29 16:35:32阅读更多 →
小白用Codex和Claudecode也能做产品,程序员的出路在哪里?

小白用Codex和Claudecode也能做产品,程序员的出路在哪里?

最近用 Codex 和 Claude Code 写项目时,我越来越明显地感受到一种割裂:一边是效率真的变高了,一个想法可以很快变成能跑的产品;另一边是焦虑也变强了,因为“能跑”开始变得不再稀缺。真正刺痛我的问题不是 AI 能不能写…

2026/6/29 17:50:42阅读更多 →
欧洲41.5度热浪的残酷警示:技术韧性是数字基建的最后一道防线

欧洲41.5度热浪的残酷警示:技术韧性是数字基建的最后一道防线

一、 事件回顾:刷新纪录的欧洲“烤”验2026年6月下旬,一场史无前例的罕见热浪席卷欧洲并向东蔓延,将温带海洋性气候的欧洲大陆瞬间变成了巨大的烤箱。捷克、德国和丹麦在27日相继刷新了有气象记录以来的最高温纪录。德国东部默肯-德雷维茨地区…

2026/6/29 17:50:42阅读更多 →
英雄联盟Akari助手:免费开源的智能游戏效率提升工具完整指南

英雄联盟Akari助手:免费开源的智能游戏效率提升工具完整指南

英雄联盟Akari助手:免费开源的智能游戏效率提升工具完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为英雄联盟中的繁…

2026/6/29 17:50:42阅读更多 →
AI:我被 AI 裁员了——算法能决定谁走谁留吗?

AI:我被 AI 裁员了——算法能决定谁走谁留吗?

2025年5月,微软宣布在全球裁员约6000人。一名25年的老员工在48岁生日当天被裁,他的妻子在社交媒体上发帖控诉:“他是被算法随机选中的,是修复数百万美元重大漏洞的功臣,如今却被扫地出门。” 这位老员工患有自闭症和多…

2026/6/29 17:50:42阅读更多 →
跨越平台鸿沟:.nvmrc失效背后的真相与通用解决方案

跨越平台鸿沟:.nvmrc失效背后的真相与通用解决方案

1. 为什么你的.nvmrc在Windows上总是不听话? 上周团队新来的实习生小王跑来问我:"哥,我在Mac上跑得好好的项目,怎么一到Windows就报错?明明都配了.nvmrc啊!"这已经是本月第三次有人问我同样的问题…

2026/6/29 17:50:42阅读更多 →
FREE!ship Plus:开源船舶设计软件的终极完全指南

FREE!ship Plus:开源船舶设计软件的终极完全指南

FREE!ship Plus:开源船舶设计软件的终极完全指南 【免费下载链接】freeship-plus-in-lazarus FreeShip Plus in Lazarus 项目地址: https://gitcode.com/gh_mirrors/fr/freeship-plus-in-lazarus FREE!ship Plus 是一款基于 Lazarus/Free Pascal 开发的专业级…

2026/6/29 17:45:41阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/6/29 3:27:55阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/6/29 2:19:08阅读更多 →
如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南

如何在3秒内从普通图片生成专业级法线贴图:DeepBump的终极指南 【免费下载链接】DeepBump Normal & height maps generation from single pictures 项目地址: https://gitcode.com/gh_mirrors/de/DeepBump 还在为3D建模中的纹理制作而烦恼吗?…

2026/6/29 0:01:47阅读更多 →
OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单!

OCAuxiliaryTools:终极OpenCore配置工具,让黑苹果安装从未如此简单! 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore(OCAT) 项目地址: https://gitcode.com/gh_mirrors/oc/OCA…

2026/6/29 0:01:47阅读更多 →
终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像

终极Windows 11精简指南:使用tiny11builder快速创建纯净系统镜像 【免费下载链接】tiny11builder Scripts to build a trimmed-down Windows 11 image. 项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder 你是否厌倦了Windows 11系统自带的20…

2026/6/29 0:01:47阅读更多 →