Documentation Index
Fetch the complete documentation index at: https://docs.sinancode.com/llms.txt
Use this file to discover all available pages before exploring further.
第一步:获取 API Key
访问 API Keys 管理页面 创建您的 API 密钥。
- 登录您的 SinanCode 账户
- 进入 Dashboard → API Keys
- 点击「创建新密钥」
- 保存生成的 API Key(请妥善保管,仅显示一次)
第二步:发起 API 请求
所有 API 请求需要在 HTTP Header 中包含认证信息:
Authorization: Bearer YOUR_API_KEY
基础请求示例
以下是一个使用 Imagen4 生成图片的完整示例:
curl -X POST https://api.sinancode.com/v1/generate/k/imagen4 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a beautiful sunset over the mountains",
"aspect_ratio": "16:9",
"num_images": 1
}'
响应示例:
{
"task_id": "01234567-89ab-cdef-0123-456789abcdef"
}
第三步:查询任务状态
由于 AI 模型生成需要时间,大多数 API 采用异步方式。使用返回的 task_id 查询任务状态:
curl -X GET https://api.sinancode.com/v1/tasks/01234567-89ab-cdef-0123-456789abcdef \
-H "Authorization: Bearer YOUR_API_KEY"
响应示例:
{
"id": "01234567-89ab-cdef-0123-456789abcdef",
"status": "completed",
"result": [
"https://storage.example.com/generated-image.jpg"
]
}
任务状态说明
pending - 任务排队中
processing - 正在生成
completed - 生成完成
failed - 生成失败
常用模型快速参考
图片生成模型
Imagen 4
- 端点:
POST /generate/k/imagen4
- 特点: Google 最新图片生成模型,质量优秀
- 参数:
prompt, aspect_ratio, num_images, seed
Midjourney
- 端点:
POST /generate/k/midjourney-txt2img
- 特点: 艺术风格强,适合创意设计
- 参数:
prompt, aspectRatio, version, stylization
Flux Kontext
- 端点:
POST /generate/k/flux-kontext
- 特点: 支持中文提示词,自动翻译
- 参数:
prompt, aspect_ratio, model, enable_translation
视频生成模型
Sora 2
- 端点:
POST /generate/k/sora2-text-to-video
- 特点: OpenAI 视频生成模型
- 参数:
prompt, aspect_ratio, n_frames
Veo 3
- 端点:
POST /generate/k/veo3-text-to-video
- 特点: Google 视频生成模型,支持图生视频
- 参数:
prompt, aspectRatio, model
完整代码示例
Python 示例
import requests
import time
API_KEY = "your_api_key_here"
BASE_URL = "https://api.sinancode.com/v1"
# 创建任务
response = requests.post(
f"{BASE_URL}/generate/k/imagen4",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"prompt": "a futuristic cityscape at sunset",
"aspect_ratio": "16:9",
"num_images": 1
}
)
task_id = response.json()["task_id"]
print(f"任务创建成功,ID: {task_id}")
# 轮询任务状态
while True:
status_response = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
task = status_response.json()
status = task["status"]
print(f"任务状态: {status}")
if status == "completed":
print(f"生成完成!图片地址: {task['result'][0]}")
break
elif status == "failed":
print(f"生成失败: {task.get('error_msg', 'Unknown error')}")
break
time.sleep(2) # 等待 2 秒后重试
JavaScript/TypeScript 示例
const API_KEY = "your_api_key_here";
const BASE_URL = "https://api.sinancode.com/v1";
async function generateImage() {
// 创建任务
const createResponse = await fetch(`${BASE_URL}/generate/k/imagen4`, {
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
prompt: "a serene mountain landscape",
aspect_ratio: "16:9",
num_images: 1
})
});
const { task_id } = await createResponse.json();
console.log(`任务创建成功,ID: ${task_id}`);
// 轮询任务状态
while (true) {
const statusResponse = await fetch(`${BASE_URL}/tasks/${task_id}`, {
headers: { "Authorization": `Bearer ${API_KEY}` }
});
const task = await statusResponse.json();
console.log(`任务状态: ${task.status}`);
if (task.status === "completed") {
console.log(`生成完成!图片地址: ${task.result[0]}`);
break;
} else if (task.status === "failed") {
console.log(`生成失败: ${task.error_msg}`);
break;
}
await new Promise(resolve => setTimeout(resolve, 2000)); // 等待 2 秒
}
}
generateImage();
下一步
常见问题
如何选择合适的模型?
- 追求质量: Imagen 4 Ultra, Midjourney v7
- 追求速度: Imagen 4 Fast, Nano Banana
- 中文提示词: Flux Kontext, 通义万相
- 视频生成: Sora 2 Pro, Veo 3
请求限制是什么?
每个 API Key 都有速率限制,具体限制取决于您的订阅计划。超出限制时会返回 429 Too Many Requests 错误。
需要帮助?访问 sinancode.com 联系我们的技术支持团队。