简体中文
几分钟内开始使用 4o Image API 生成高质量的AI图像
https://api.kie.ai
Authorization: Bearer YOUR_API_KEY
curl -X POST "https://api.kie.ai/api/v1/gpt4o-image/generate" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "一幅宁静的山景,日落时湖泊倒映着橙色天空,风格写实", "size": "1:1", "nVariants": 1 }'
curl -X GET "https://api.kie.ai/api/v1/gpt4o-image/record-info?taskId=YOUR_TASK_ID" \ -H "Authorization: Bearer YOUR_API_KEY"
{ "code": 200, "msg": "success", "data": { "taskId": "task_4o_abc123" } }
{ "code": 200, "msg": "success", "data": { "taskId": "task_4o_abc123", "status": "SUCCESS", "response": { "result_urls": [ "https://example.com/generated-image.png" ] } } }
{ "prompt": "一只可爱的橙色小猫坐在彩虹上,卡通风格,明亮的色彩", "size": "1:1", "nVariants": 2, "isEnhance": false }
{ "filesUrl": ["https://example.com/original-image.jpg"], "maskUrl": "https://example.com/mask-image.png", "prompt": "将天空替换成星空夜景", "size": "3:2" }
{ "filesUrl": ["https://example.com/base-image.jpg"], "prompt": "保持主要元素,改变为水彩画风格", "size": "2:3", "nVariants": 4 }
1:1
3:2
2:3
.jpg
.jpeg
.png
.webp
.jfif
class FourOImageAPI { constructor(apiKey) { this.apiKey = apiKey; this.baseUrl = 'https://api.kie.ai/api/v1/gpt4o-image'; } async generateImage(options) { const response = await fetch(`${this.baseUrl}/generate`, { method: 'POST', headers: { 'Authorization': `Bearer ${this.apiKey}`, 'Content-Type': 'application/json' }, body: JSON.stringify(options) }); const result = await response.json(); if (result.code !== 200) { throw new Error(`生成失败: ${result.msg}`); } return result.data.taskId; } async waitForCompletion(taskId, maxWaitTime = 300000) { // 最长等待5分钟 const startTime = Date.now(); while (Date.now() - startTime < maxWaitTime) { const status = await this.getTaskStatus(taskId); if (status.status === 'SUCCESS') { return status.response; } else if (status.status === 'CREATE_TASK_FAILED' || status.status === 'GENERATE_FAILED') { throw new Error(`生成失败: ${status.status}`); } // 等待10秒后再次检查 await new Promise(resolve => setTimeout(resolve, 10000)); } throw new Error('生成超时'); } async getTaskStatus(taskId) { const response = await fetch(`${this.baseUrl}/record-info?taskId=${taskId}`, { headers: { 'Authorization': `Bearer ${this.apiKey}` } }); const result = await response.json(); return result.data; } async getDownloadUrl(imageUrl) { const response = await fetch(`${this.baseUrl}/download-url`, { method: 'POST', headers: { 'Authorization': `Bearer ${this.apiKey}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ imageUrl }) }); const result = await response.json(); return result.data.downloadUrl; } } // 使用示例 async function main() { const api = new FourOImageAPI('YOUR_API_KEY'); try { // 文本转图像生成 console.log('开始生成图像...'); const taskId = await api.generateImage({ prompt: '一个未来主义的城市景观,有飞行汽车和霓虹灯,赛博朋克风格', size: '16:9', nVariants: 2, isEnhance: true, enableFallback: true }); // 等待完成 console.log(`任务ID: ${taskId}。等待完成...`); const result = await api.waitForCompletion(taskId); console.log('图像生成成功!'); result.result_urls.forEach((url, index) => { console.log(`图像 ${index + 1}: ${url}`); }); // 获取下载URL const downloadUrl = await api.getDownloadUrl(result.result_urls[0]); console.log('下载URL:', downloadUrl); // 图像编辑示例 console.log('\n开始图像编辑...'); const editTaskId = await api.generateImage({ filesUrl: [result.result_urls[0]], prompt: '在天空中添加美丽的彩虹', size: '3:2' }); const editResult = await api.waitForCompletion(editTaskId); console.log('图像编辑成功!'); console.log('编辑后图像:', editResult.result_urls[0]); } catch (error) { console.error('错误:', error.message); } } main();
const editTaskId = await api.generateImage({ filesUrl: ['https://example.com/original.jpg'], maskUrl: 'https://example.com/mask.png', prompt: '将蒙版区域替换为美丽的花园', size: '3:2' });
const taskId = await api.generateImage({ prompt: '艺术概念设计', size: '1:1', enableFallback: true, fallbackModel: 'FLUX_MAX' // 或 'GPT_IMAGE_1' });
const taskId = await api.generateImage({ prompt: '数字艺术作品', size: '1:1', callBackUrl: 'https://your-server.com/4o-callback' }); // 您的回调端点将接收: app.post('/4o-callback', (req, res) => { const { code, data } = req.body; if (code === 200) { console.log('图像准备就绪:', data.info.result_urls); } else { console.log('生成失败:', req.body.msg); } res.status(200).json({ status: 'received' }); });
提示词优化
图像质量
性能优化
错误处理