import requests
import time
BASE_URL = "https://pico.5884.cn"
API_KEY = "sk-你的API密钥"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
}
def generate_image(prompt, model="GEM-3.0", size="1024x1024"):
"""提交生图任务"""
resp = requests.post(
f"{BASE_URL}/v1/images/generations",
headers=headers,
json={
"model": model,
"prompt": prompt,
"size": size,
},
)
resp.raise_for_status()
data = resp.json()
print(f"任务已提交: {data['task_id']}")
return data["task_id"]
def poll_result(task_id, timeout=120, interval=3):
"""轮询任务结果"""
start = time.time()
while time.time() - start < timeout:
resp = requests.get(
f"{BASE_URL}/v1/videos/generations/{task_id}",
headers=headers,
)
data = resp.json()
status = data["status"]
if status == "success":
url = data["data"][0]["url"]
print(f"✅ 生成完成: {url}")
return url
elif status == "failed":
print(f"❌ 生成失败: {data.get('error', {}).get('message')}")
return None
else:
progress = data.get("progress", "")
print(f"⏳ {status} {progress}")
time.sleep(interval)
print("⏰ 超时")
return None
if __name__ == "__main__":
task_id = generate_image("一只可爱的卡通猫咪,坐在窗台上看日落")
url = poll_result(task_id)
if url:
img = requests.get(url)
with open("output.png", "wb") as f:
f.write(img.content)
print("图片已保存到 output.png")