Skip to content

Python SDK

SeeAny Python SDK,完全兼容 OpenAI 接口规范

安装

bash
pip install seeany

快速开始

python
from seeany import SeeAny

client = SeeAny(
    api_key="sk-xxxxx",                          # 您的 API Key
    base_url="https://api.seeany.com/v1"         # 可选,默认即为此值
)

图片生成

多模型对比出图

python
result = client.images.generate(
    model=["seedance4.5", "nano-banana-pro", "gpt-image-2"],
    prompt="一只戴着赛博朋克风格墨镜的橘猫,背景是霓虹灯闪烁的未来城市街道",
    size="1024x1024",
    n=1
)

for item in result.results:
    print(f"{item.model}: {item.data[0].url}")
    print(f"费用: ¥{item.usage.cost}")

单模型出图

python
result = client.images.generate(
    model="seedance4.5",
    prompt="极简白色背景上的一瓶高级香水,水珠特写,自然光影",
    size="2048x2048"
)

print(f"图片URL: {result.results[0].data[0].url}")

电商套图

python
result = client.images.ecommerce.generate(
    image=open("./product.jpg", "rb"),
    platform="amazon",       # amazon / taobao / tmall
    package="full",          # full / main_only / scene_only
    style="minimal"          # minimal / lifestyle / luxury
)

for img in result.images:
    print(f"{img.description}: {img.url}")
print(f"总费用: ¥{result.total_cost.amount}")

AI 模特试穿

python
# 使用预置模特
result = client.images.tryon.generate(
    garment_image=open("./dress.jpg", "rb"),
    model_id="female_model_01",
    prompt="自然站姿,商场背景",
    size="1024x1792"
)

# 使用自定义模特图
result = client.images.tryon.generate(
    garment_image=open("./dress.jpg", "rb"),
    model_image=open("./model.jpg", "rb"),
    size="1024x1792"
)

print(f"试穿效果图: {result.data[0].url}")

图像处理

python
# 背景替换
result = client.images.edits(
    image=open("./product.jpg", "rb"),
    prompt="将背景替换为海边沙滩日落场景",
    model="nano-banana-pro"
)

# 局部修改(需要 mask)
result = client.images.edits(
    image=open("./product.jpg", "rb"),
    mask=open("./mask.png", "rb"),
    prompt="将衣服颜色改为红色"
)

print(f"编辑结果: {result.data[0].url}")

视频生成

文生视频

python
import time

# 提交任务
task = client.videos.generate(
    model="kling-v3",
    prompt="白色运动鞋在旋转展示台上缓慢旋转,studio灯光",
    duration=5,
    resolution="720p",
    audio=False,
    webhook_url="https://your-app.com/webhook"   # 可选:Webhook 回调
)

print(f"任务已提交: {task.id}")

# 轮询等待结果
while True:
    status = client.tasks.get(task.id)
    if status.status == "completed":
        print(f"视频URL: {status.video_url}")
        break
    elif status.status == "failed":
        print(f"生成失败: {status.error.message}")
        break
    time.sleep(10)

图生视频

python
task = client.videos.image_to_video(
    image=open("./product.png", "rb"),
    model="seedance-2.0",
    prompt="镜头缓慢推进,产品微微旋转展示",
    duration=5,
    motion_strength=0.5
)

print(f"任务已提交: {task.id}")

使用 SDK 等待任务

python
# SDK 内置等待方法
result = client.tasks.wait(task.id, timeout=300, interval=10)
print(f"视频URL: {result.video_url}")

查询余额

python
balance = client.account.get_balance()
print(f"可用余额: ¥{balance.amount}")
print(f"本月消费: ¥{balance.used_this_month}")

错误处理

python
from seeany import SeeAny, SeeAnyError

client = SeeAny(api_key="sk-xxxxx")

try:
    result = client.images.generate(
        model="seedance4.5",
        prompt="一只可爱的猫"
    )
except SeeAnyError as e:
    print(f"错误代码: {e.code}")
    print(f"错误信息: {e.message}")
    print(f"请求ID: {e.request_id}")       # 用于客服排查
    print(f"HTTP状态码: {e.status_code}")

配置选项

python
client = SeeAny(
    api_key="sk-xxxxx",
    base_url="https://api.seeany.com/v1",    # API 基础地址
    timeout=60,                               # 请求超时(秒)
    max_retries=3,                            # 最大重试次数
)

使用 OpenAI SDK 兼容

SeeAny 完全兼容 OpenAI 接口,可直接使用 OpenAI SDK:

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-xxxxx",
    base_url="https://api.seeany.com/v1"
)

response = client.images.generate(
    model="seedance4.5",
    prompt="一只可爱的橘猫",
    size="1024x1024"
)

print(response.data[0].url)

提示

  • SDK 自动处理分页和重试
  • 建议使用环境变量管理 API Key
  • 详细源码和示例请访问 GitHub

SeeAny 开放平台