AI Agent的流行导致Token消耗激增,高昂成本迫使许多用户因顾虑费用而放弃尝试。
今天我来分享Agnes AI API 调用实战案例。

首先你需要有一个API Key:
注册完全免费,不需要绑卡,邮箱注册直接拿API Key。
访问 platform.agnes-ai.com 注册后,Agnes API完全兼容OpenAI格式,Base URL为 https://apihub.agnes-ai.com/v1,Bearer Token认证。
案例1:快速接入代码示例
0成本快速接入方式,Python代码拿去参考使用.
源代码:
bash
import requests
API_KEY = "sk-*****" # 你的API密钥
BASE_URL = "https://apihub.agnes-ai.com/v1"# API基础URL
# 文本生成
resp = requests.post(# 发送POST请求到API
f"{BASE_URL}/chat/completions",# 调用API
headers={"Authorization": f"Bearer {API_KEY}"},# 添加API密钥到请求头
json={
"model": "agnes-2.0-flash",# 模型名称
"messages": [{"role": "user", "content": "你好"}]# 发送用户消息"你好"
}
)
content = resp.json()["choices"][0]["message"]["content"]# 从响应中提取生成的文本
print(content) # 打印生成的文本
运行结果:
bash
D:\PythonProjects\agnes-demo>python main.py
你好!我是 Agnes-2.0-Flash,由 Sapiens AI 开发。请问有什么我可以帮你的吗?
案例2:Agnes 1.5 Flash 与 Agnes 2.0 Flash 文本模型对比示例
提示词:"简单介绍一下Python"。看一下两个文本模型的生成效果。
源代码:
python
import sys
import requests
API_KEY = "你的API-KEY"
BASE_URL = "https://apihub.agnes-ai.com/v1"
def fix_encoding():
if sys.platform == "win32":
sys.stdout.reconfigure(encoding="utf-8")
def generate_text(prompt, model="agnes-2.0-flash"):
"""Generate text using Agnes text models"""
resp = requests.post(
f"{BASE_URL}/chat/completions",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": model,
"messages": [{"role": "user", "content": prompt}]
}
)
resp.raise_for_status()
return resp.json()["choices"][0]["message"]["content"]
if __name__ == "__main__":
fix_encoding()
print("=== 文本生成示例 ===")
# Agnes 1.5 Flash 示例
print("\n1. 使用 Agnes 1.5 Flash:")
text_1_5 = generate_text("简单介绍一下Python", "agnes-1.5-flash")
print(text_1_5)
# Agnes 2.0 Flash 示例
print("\n2. 使用 Agnes 2.0 Flash:")
text_2_0 = generate_text("简单介绍一下Python", "agnes-2.0-flash")
print(text_2_0)
运行结果:
bash
PS D:\PythonProjects\agnes-demo> python .\example_text.py
=== 文本生成示例 ===
1. 使用 Agnes 1.5 Flash:
Python 是一种广泛使用的高级、解释型、通用编程语言。它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发 行于 1991 年。
以下是 Python 的几个核心特点:
1. **简洁易读**:Python 的代码语法清晰、简洁,强调代码的可读性,接近自然语言(尤其是英语),使得初学者易于上手,也便于团队协作和维护。
2. **跨平台**:可以在 Windows、macOS、Linux 等多种操作系统上运行,具有"一次编写,到处运行"的特性。
3. **丰富的库和框架**:拥有庞大的标准库和第三方库生态系统,覆盖了 web 开发、数据科学、人工智能、自动化脚本、网络爬虫等多个领域。例如 Django/Flask(Web)、NumPy/Pandas(数据分析)、TensorFlow/PyTorch(机器学习)。
4. **动态类型和自动内存管理**:开发者无需手动管理内存,Python 会自动进行垃圾回收,降低了开发复杂度。
5. **应用领域广泛**:
- Web 后端开发
- 数据分析与可视化
- 人工智能与机器学习
- 自动化运维与脚本编写
- 科学计算
由于这些优点,Python 近年来在全球范围内 popularity 持续上升,常被用作编程入门语言,同时也是许多专业开发者的首 选工具。
4. **动态类型和自动内存管理**:开发者无需手动管理内存,Python 会自动进行垃圾回收,降低了开发复杂度。
5. **应用领域广泛**:
- Web 后端开发
- 数据分析与可视化
- 人工智能与机器学习
- 自动化运维与脚本编写
- 科学计算
由于这些优点,Python 近年来在全球范围内 popularity 持续上升,常被用作编程入门语言,同时也是许多专业开发者的首 选工具。
- 数据分析与可视化
- 人工智能与机器学习
- 自动化运维与脚本编写
- 科学计算
由于这些优点,Python 近年来在全球范围内 popularity 持续上升,常被用作编程入门语言,同时也是许多专业开发者的首 选工具。
由于这些优点,Python 近年来在全球范围内 popularity 持续上升,常被用作编程入门语言,同时也是许多专业开发者的首 选工具。
由于这些优点,Python 近年来在全球范围内 popularity 持续上升,常被用作编程入门语言,同时也是许多专业开发者的首 选工具。
选工具。
2. 使用 Agnes 2.0 Flash:
Python 是一种广泛使用的高级编程语言,由 Guido van Rossum 于 1991 年发布。它以**清晰、简洁和易读**的代码风格著 称,强调代码的可读性,提倡使用空格缩进来定义代码块,从而使得程序逻辑更加直观。
以下是 Python 的主要特点:
1. **简单易学**:语法接近英语,非常适合编程初学者入门。
2. **解释型语言**:代码逐行执行,便于调试和快速开发。
3. **跨平台**:可在 Windows、macOS、Linux 等多种操作系统上运行。
4. **丰富的生态系统**:拥有海量的第三方库和框架,涵盖Web开发(如 Django、Flask)、数据科学(如 Pandas、NumPy)、人工智能(如 TensorFlow、PyTorch)等领域。
5. **动态类型**:变量无需声明类型,类型在运行时自动推断。
由于其易用性和强大的功能,Python 已成为全球最流行的编程语言之一,广泛应用于网站开发、数据分析、自动化脚本、人 工智能等多个领域。
案例3:Agnes Image 2.0 Flash 与 Agnes Image 2.1 Flash 图片模型对比示例
同一句提示词 "一只可爱的小猫在花园里玩耍,阳光明媚,色彩鲜艳",看两个模型的图片生成效果。
源代码:
python
import sys
import requests
API_KEY = "你的API-KEY"
BASE_URL = "https://apihub.agnes-ai.com/v1"
def fix_encoding():
if sys.platform == "win32":
sys.stdout.reconfigure(encoding="utf-8")
def generate_image(prompt, model="agnes-image-2.1-flash", size="1024x1024", n=1):
"""Generate images using Agnes image models"""
resp = requests.post(
f"{BASE_URL}/images/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": model,
"prompt": prompt,
"n": n,
"size": size
}
)
resp.raise_for_status()
return resp.json()["data"]
if __name__ == "__main__":
fix_encoding()
print("=== 图片生成示例 ===")
prompt = "一只可爱的小猫在花园里玩耍,阳光明媚,色彩鲜艳"
# Agnes Image 2.0 Flash 示例
print("\n1. 使用 Agnes Image 2.0 Flash:")
images_2_0 = generate_image(prompt, "agnes-image-2.0-flash")
for img in images_2_0:
print(f"图片URL: {img['url']}")
# Agnes Image 2.1 Flash 示例
print("\n2. 使用 Agnes Image 2.1 Flash:")
images_2_1 = generate_image(prompt, "agnes-image-2.1-flash")
for img in images_2_1:
print(f"图片URL: {img['url']}")
运行结果:


案例4:Agnes-Video-V2.0 视频模型示例
视频生成需要一些时间,耐心等待一会儿,冲杯咖啡 过来看成果!
源代码:
python
import sys
import os
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
import time
# 建议改用环境变量读取: os.environ.get("AGNES_API_KEY")
API_KEY = "你的API------KEY"
BASE_URL = "https://apihub.agnes-ai.com/v1"
def fix_encoding():
if sys.platform == "win32":
sys.stdout.reconfigure(encoding="utf-8")
def get_session():
"""创建带自动重试和连接池的 Session"""
session = requests.Session()
retry_strategy = Retry(
total=5, # 遇到连接错误最多重试5次
backoff_factor=2, # 重试退避间隔: 2s, 4s, 8s...
status_forcelist=[500, 502, 503, 504],
allowed_methods=["GET", "POST"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("https://", adapter)
session.mount("http://", adapter)
return session
def generate_video(prompt, model="agnes-video-v2.0", duration=10, image_url=None):
"""Generate video using Agnes Video model"""
session = get_session()
headers = {
"Authorization": f"Bearer {API_KEY}",
"Connection": "keep-alive" # 显式保持长连接
}
payload = {
"model": model,
"prompt": prompt,
"duration": duration
}
if image_url:
payload["image"] = image_url
# 创建任务(带超时保护)
resp = session.post(
f"{BASE_URL}/videos",
headers=headers,
json=payload,
timeout=30
)
resp.raise_for_status()
task_id = resp.json()["id"]
print(f"视频生成任务已创建,任务ID: {task_id}", flush=True)
# 轮询等待任务完成
while True:
try:
status_resp = session.get(
f"{BASE_URL}/videos/{task_id}",
headers=headers,
timeout=30 # 关键:防止单次请求无限挂起
)
status_resp.raise_for_status()
status_data = status_resp.json()
if status_data["status"] == "succeeded":
return status_data["data"][0]["url"]
elif status_data["status"] in ["failed", "cancelled"]:
raise Exception(f"视频生成失败: {status_data.get('error', {}).get('message', '未知错误')}")
print("正在生成视频...", flush=True)
except requests.exceptions.ConnectionError as e:
# 捕获连接重置等网络异常,打印警告但不中断轮询
print(f"[警告] 网络连接异常,将在下次轮询时自动重试: {e}", flush=True)
time.sleep(8) # 将轮询间隔从5秒调整为8秒,降低触发网关超时的概率
if __name__ == "__main__":
fix_encoding()
print("=== 视频生成示例 ===", flush=True)
prompt = "让整个图片画面动起来"
first_frame_image = "https://i-blog.csdnimg.cn/direct/1e81de94c1d447b0a93646646bcede39.png"
try:
video_url = generate_video(prompt, duration=5, image_url=first_frame_image)
print(f"\n视频生成成功!视频URL: {video_url}", flush=True)
except Exception as e:
print(f"\n错误: {e}", flush=True)
运行结果:
Kitten playing with orange
另外我还需要泼点冷水:
agnes-video-v2.0 是 Agnes AI 的免费视频生成模型,生成视频的时候慢是它的已知特征,不是你的网络或配置问题。
根据社区实测数据:
|--------------------|------------|
| 场景 | 实测耗时 |
| 文生视频 5 秒(1280×768) | 约 2 分 35 秒 |
| 文生视频 5 秒(排队时) | 可能 十几分钟 |
| 图生视频 5 秒 | 十几分钟,且经常排队 |
另外注意几点:
异步流程:调用后不会立刻返回视频,而是先拿到 task_id,需要轮询状态直到 completed,才能获取视频 URL。
URL 临时性:生成的视频存储在 Google Cloud Storage,是临时链接,生成后要立刻下载保存。
排队问题:免费服务高峰期排队长,有时候甚至需要手动下载。
文生图(agnes-image-2.1-flash)相对快,图片模型走的是同步返回,几秒内就能拿到结果。
总结:免费是真的,慢也是真的。适合做批量素材、测试、学习,不建议当生产模型。如果追求速度和质量,还是得 Midjourney + Runway / 可灵 / 即梦这种付费方案。
如果觉得有帮助,欢迎点赞收藏转发。有不同看法欢迎评论区交流,每条都会看。
