【分享】0 Token消耗,Agnes AI API 实战--免费多模态模型案例

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 / 可灵 / 即梦这种付费方案。

如果觉得有帮助,欢迎点赞收藏转发。有不同看法欢迎评论区交流,每条都会看。

相关推荐
亦暖筑序4 天前
Java 8老系统旁路接入AI Gateway:不升级JDK也能用AI
java·spring boot·aigc·企业架构·ai gateway
allanGold1 个月前
openclaw skill Free Ride - Unlimited free AI 问题集锦
openclaw·freeride·免费token
阿钱真强道3 个月前
31 Python 聚类:层次聚类怎么理解?AGNES 和 DIANA 有什么区别?
python·聚类·层次聚类·diana·agnes
骚戴5 个月前
2025 n1n.ai 全栈国产大模型接入列表与实测报告
人工智能·大模型·llm·api·ai gateway
骚戴5 个月前
2025 AI 生态全景:AnythingLLM、OpenRouter、LiteLLM 与 n1n.ai 深度对比
人工智能·大模型·llm·api·ai gateway
骚戴5 个月前
2025 Python AI 实战:零基础调用 LLM API 开发指南
人工智能·python·大模型·llm·api·ai gateway
骚戴5 个月前
LLM API 全方位实战指南:从 AI 大模型API选型到高效应用开发(2025年12月)
人工智能·大模型·llm·api·ai gateway
骚戴6 个月前
架构视角:Gemini 3.0 Pro 原生多模态能力的边界与工程落地
人工智能·大模型·llm·api·ai gateway
前端搬砖小助手1 年前
从 Stdio 到 HTTP SSE,在 APIPark 托管 MCP Server
mcp·apipark·ai网关·ai gateway