快速上手

Spicy API

几步即可把 AI 图片与视频生成功能接入你的网站或应用,随时查看进度,并按积分计费。

接入简单

生成图片与视频

积分计费

流程清晰

curl -X POST "https://spicyai.site/api/ai-studio/execute" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "modelId": "video:sora2-text-to-video-standard",
    "isPublic": true,
    "payload": {
      "model": "video:sora2-text-to-video-standard",
      "input": {
        "prompt": "A cinematic video of a cat walking in the rain"
      }
    }
  }'
快速上手

使用流程

从开通账号到拿到最终图片或视频结果。

1

登录或注册账号

2

在控制台创建 API Key

3

携带 API Key 调用生成接口

4

任务进入队列后查询生成结果

5

读取最近生成记录

6

查询用户信息、积分和会员状态

鉴权

用 API Key 鉴权

登录后创建 API Key,并在每次请求里带上 Authorization 请求头即可。

必需请求头

登录后创建 API Key,并在每次接口请求中携带。

Authorization: Bearer YOUR_API_KEY

示例域名会自动读取 NEXT_PUBLIC_SITE_URL。你只需要把 YOUR_API_KEY 替换为账号中生成的 API Key。

请求示例
curl -X GET "https://spicyai.site/api/auth/user" \
  -H "Authorization: Bearer YOUR_API_KEY"
接口

可用接口

以下都是 Spicy AI Studio 当前在线使用的真实接口。

POST/api/ai-studio/execute

发起一次新的生成任务。请求体包含 modelId、isPublic、payload。

请求头

Authorization: Bearer YOUR_API_KEYContent-Type: application/json

请求参数

参数名类型必填默认值可选值说明
modelIdstring-video:wan-2-7-text-to-video, video:wan-2-7-image-to-video, video:wan-2-7-video-edit, video:wan-2-7-reference-to-video, video:wan-text-to-video, video:wan-image-to-video, video:wan-animate-move, video:wan-animate-replace, video:kling-3-0, video:kling-3-0-motion-control, video:kling-2-6-text-to-video, video:kling-2-6-image-to-video, video:kling-2-6-motion-control, video:grok-imagine-text-to-video, video:grok-imagine-image-to-video, video:grok-imagine-video-upscale, video:grok-imagine-video-extend, image:wan-2-7-image, image:wan-2-7-image-pro, image:grok-imagine-text-to-image, image:grok-imagine-image-to-image, image:qwen2-text-to-image, image:qwen2-image-edit, image:seedream5-0-lite-text-to-image, image:seedream5-0-lite-image-to-image, image:seedream4-5-text-to-image, image:seedream4-5-edit, image:z-image, image:flux-2-pro-text-to-image, image:flux-2-pro-image-to-image, image:flux-2-text-to-image, image:flux-2-image-to-image, image:google-nano-banana-pro, image:google-nano-banana-2, image:gpt-image-2-text-to-image, image:gpt-image-2-image-to-image, image:fal-gpt-image-2你选择的视频模型 ID。
isPublicbooleantrue-是否公开展示这次生成结果。默认 true。
payloadobject--生成时提交的主要输入内容,不同模型的嵌套字段会不同。查看「Dynamic payload fields by model」
请求示例
curl -X POST "https://spicyai.site/api/ai-studio/execute" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "modelId": "video:sora2-text-to-video-standard",
    "isPublic": true,
    "payload": {
      "model": "video:sora2-text-to-video-standard",
      "input": {
        "prompt": "A cinematic video of a cat walking in the rain"
      }
    }
  }'
响应示例
{
  "success": true,
  "data": {
    "modelId": "video:sora2-text-to-video-standard",
    "generationId": "b6a7f5c4-8a7c-4e2b-8cf6-6b8d9b3d8d21",
    "reservedCredits": 20,
    "taskId": "provider-task-id",
    "state": "queued",
    "raw": {},
    "selectedPricing": {}
  }
}
错误示例
{
  "success": false,
  "error": "User not authenticated"
}
GET/api/ai-studio/tasks/{taskId}

查询任务进度。创建任务后拿到 taskId 且 statusSupported=true 时调用。

请求头

Authorization: Bearer YOUR_API_KEY

请求参数

参数名类型必填默认值可选值说明
taskIdstring--创建任务后返回的任务 ID。
请求示例
curl -X GET "https://spicyai.site/api/ai-studio/tasks/provider-task-id" \
  -H "Authorization: Bearer YOUR_API_KEY"
响应示例
{
  "success": true,
  "data": {
    "generationId": "b6a7f5c4-8a7c-4e2b-8cf6-6b8d9b3d8d21",
    "taskId": "provider-task-id",
    "modelId": "video:sora2-text-to-video-standard",
    "state": "running",
    "mediaUrls": [],
    "raw": {},
    "reservedCredits": 20,
    "refundedCredits": 0
  }
}
错误示例
{
  "success": false,
  "error": "Generation record not found"
}
GET/api/ai-studio/video-history?page={page}&limit={limit}&status={status}&q={q}

分页读取视频/图片历史,支持状态筛选和关键词搜索。

请求头

Authorization: Bearer YOUR_API_KEY

请求参数

参数名类型必填默认值可选值说明
pagenumber1-历史列表页码。
limitnumber12-历史列表每页数量(1-50)。
statusstringallall, pending, success, failed历史记录状态筛选。
qstring""-可选关键词,用于搜索历史记录。
请求示例
curl -X GET "https://spicyai.site/api/ai-studio/video-history?page=1&limit=12&status=all" \
  -H "Authorization: Bearer YOUR_API_KEY"
响应示例
{
  "success": true,
  "data": {
    "records": [],
    "total": 0,
    "totalPages": 1,
    "page": 1
  }
}
错误示例
{
  "success": false,
  "error": "Failed to load AI Studio generation history"
}
GET/api/auth/user

读取账号信息、剩余积分和会员状态。

请求头

Authorization: Bearer YOUR_API_KEY

请求参数

无请求参数。

请求示例
curl -X GET "https://spicyai.site/api/auth/user" \
  -H "Authorization: Bearer YOUR_API_KEY"
响应示例
{
  "success": true,
  "data": {
    "user": {
      "id": "user-id",
      "email": "[email protected]",
      "role": "user",
      "name": "Developer",
      "image": null,
      "authType": "apikey"
    },
    "credits": 120,
    "membership": {
      "isVip": false,
      "level": "none",
      "planTitle": null
    }
  }
}
错误示例
{
  "success": false,
  "error": "User not authenticated"
}
Models

可用模型列表

选择最符合你效果预期的模型 ID。

模型系列版本模型 ID
NSFW WanWan 2.7 Text to Videovideo:wan-2-7-text-to-video
NSFW WanWan 2.7 Image to Videovideo:wan-2-7-image-to-video
NSFW WanWan 2.7 Video Editvideo:wan-2-7-video-edit
NSFW WanWan 2.7 Reference to Videovideo:wan-2-7-reference-to-video
NSFW WanWan 2.2 Text to Videovideo:wan-text-to-video
NSFW WanWan 2.2 Image to Videovideo:wan-image-to-video
NSFW WanWan Animate Movevideo:wan-animate-move
NSFW WanWan Animate Replacevideo:wan-animate-replace
NSFW KlingKling 3.0video:kling-3-0
NSFW KlingKling 3.0 Motion Controlvideo:kling-3-0-motion-control
NSFW KlingKling 2.6 Text to Videovideo:kling-2-6-text-to-video
NSFW KlingKling 2.6 Image to Videovideo:kling-2-6-image-to-video
NSFW KlingKling 2.6 Motion Controlvideo:kling-2-6-motion-control
NSFW Grok ImagineGrok Imagine Text to Videovideo:grok-imagine-text-to-video
NSFW Grok ImagineGrok Imagine Image to Videovideo:grok-imagine-image-to-video
NSFW Grok ImagineGrok Imagine Video Upscalevideo:grok-imagine-video-upscale
NSFW Grok ImagineGrok Imagine Video Extendvideo:grok-imagine-video-extend
NSFW Wan ImageWan 2.7 Imageimage:wan-2-7-image
NSFW Wan ImageWan 2.7 Image Proimage:wan-2-7-image-pro
NSFW Grok ImagineGrok Imagine - Text to Imageimage:grok-imagine-text-to-image
NSFW Grok ImagineGrok Imagine - image to imageimage:grok-imagine-image-to-image
NSFW Qwen2Qwen2 - Text To Imageimage:qwen2-text-to-image
NSFW Qwen2Qwen2 - Image Editimage:qwen2-image-edit
NSFW SeedreamSeedream5.0 Lite - Text to Imageimage:seedream5-0-lite-text-to-image
NSFW SeedreamSeedream5.0 Lite - Image to Imageimage:seedream5-0-lite-image-to-image
NSFW SeedreamSeedream4.5 - Text to Imageimage:seedream4-5-text-to-image
NSFW SeedreamSeedream4.5 - Editimage:seedream4-5-edit
NSFW Z-ImageZ-Imageimage:z-image
NSFW Flux-2Flux-2 Pro Text to Imageimage:flux-2-pro-text-to-image
NSFW Flux-2Flux-2 Pro Image to Imageimage:flux-2-pro-image-to-image
NSFW Flux-2Flux-2 Text to Imageimage:flux-2-text-to-image
NSFW Flux-2Flux-2 Image to Imageimage:flux-2-image-to-image
Nano BananaNano Banana Proimage:google-nano-banana-pro
Nano BananaNano Banana 2image:google-nano-banana-2
GPT Image 2Text to Imageimage:gpt-image-2-text-to-image
GPT Image 2Image to Imageimage:gpt-image-2-image-to-image
GPT Image 2Gpt image 2 Special offerimage:fal-gpt-image-2
任务状态

任务进度状态

这些状态用于判断任务是排队中、生成中、已完成还是失败。

queued
running
succeeded
failed
模型字段

按模型查看可填写字段

选择模型后,会显示该模型当前支持的输入字段(来自 /api/ai-studio/models/{modelId})。

选择模型
输入字段说明
当前模型未返回可展示的输入字段说明。
计费

基于积分的 API 计费

生成请求会复用现有 AI Studio 生成流程进行积分预留和结算。

API 使用积分计费。

每次生成会根据所选模型、时长、质量、分辨率和价格行消耗积分。

用户可以在账户中或通过 /api/auth/user 查看剩余积分。

积分不足时无法继续发起生成。

FAQ

AI Studio API 常见问题

覆盖接入、计费和任务进度的高频问题。

如何获取 API Key?

登录后进入 API Keys 控制台创建有效 Key,并按 Authorization: Bearer YOUR_API_KEY 格式使用。

API 请求如何鉴权?

每次请求都在 Authorization 请求头中使用 Bearer 格式携带 API Key。

API 使用如何计费?

生成接口使用账户积分计费,消耗数量取决于模型和选定的价格参数。

如何查询视频生成状态?

当 execute 接口返回 taskId 且 statusSupported 为 true 后,轮询 /api/ai-studio/tasks/{taskId}?modelId={modelId}。

在哪里查看生成历史?

使用 /api/ai-studio/video-history 查看分页生成历史。

积分不足时会怎样?

账户积分不足时,新的生成请求无法继续。

可以用于商业项目吗?

可以接入生产工作流,但需要遵守当前账号套餐和服务条款。

API 支持不同的视频模型吗?

支持。可用 modelId 来自 config/ai-video-studio.ts 中配置的模型。

开始使用 AI Studio API

先创建 API Key,跑通一次生成,再接入任务状态查询。