OpenAI¶
1. 概述¶
业界第一大语言模型。根据文字提示生成图片。
2. 请求说明¶
- 请求方法:
POST -
请求地址:
https://gateway.serevixai.ai/v1/images/generations
3. 请求参数¶
3.1 Header 参数¶
| 参数名称 | 类型 | 必填 | 说明 | 示例值 |
|---|---|---|---|---|
Content-Type |
string | 是 | 设置请求头类型,必须为 application/json |
application/json |
Accept |
string | 是 | 设置响应类型,建议统一为 application/json |
application/json |
Authorization |
string | 是 | 身份验证所需的 API_KEY,格式 Bearer $YOUR_API_KEY |
Bearer $YOUR_API_KEY |
3.2 Body 参数 (application/json)¶
| 参数名称 | 类型 | 必填 | 说明 | 示例(默认值) |
|---|---|---|---|---|
| model | string | 是 | 要使用的模型 ID。详见模型列表列出的可用版本,如 gpt-image-1.5。 | gpt-image-1.5 |
| prompt | string | 是 | 一段描述所需图像的文字gpt-image 描述最大长度为 32000 字符。 | A cute baby sea otter |
| n | number | 否 | 生成图像的数量,必须在 1 到 10 之间。gpt-image-1.5 仅支持 n=1。 | 1 |
| size | string | 否 | 生成图像的尺寸。gpt-image-1.5支持1024x1024、1792x1024、1024x1792,gpt-image-1支持1024x1024、1536x1024、1024x1536。 | 1024x1024 |
| quality | string | 否 | 生成图像的质量选项。gpt-image支持high 、medium 、low。 | high |
4. 请求示例¶
POST /v1/images/generations
Content-Type: application/json
Accept: application/json
Authorization: Bearer $YOUR_API_KEY
{
"model": "gpt-image-1",
"prompt": "A cute baby sea otter",
"n": 1,
"size": "1024x1024"
}
curl https://gateway.serevixai.ai/v1/images/generations \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d "{
\"model\": \"gpt-image-1\",
\"prompt\": \"A cute baby sea otter\",
\"n\": 1,
\"size\": \"1024x1024\"
}"
package main
import (
"context"
"encoding/base64"
"fmt"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
apiKey := "sk-123456789012345678901234567890123456789012345678"
exampleFilePath := "example.png"
client := openai.NewClient(
option.WithAPIKey(apiKey),
option.WithBaseURL("https://gateway.serevixai.ai/v1"),
)
resp, err := client.Images.Generate(
context.Background(),
openai.ImageGenerateParams{
Model: "gpt-image-1",
Prompt: "A cute baby sea otter",
Size: "1024x1024",
},
)
if err != nil {
fmt.Println("error:", err)
return
}
if len(resp.Data) == 0 || resp.Data[0].B64JSON == "" {
fmt.Println("error: empty b64_json")
return
}
imageData, err := base64.StdEncoding.DecodeString(resp.Data[0].B64JSON)
if err != nil {
fmt.Println("error:", err)
return
}
if err := os.WriteFile(exampleFilePath, imageData, 0644); err != nil {
fmt.Println("error:", err)
return
}
fmt.Println("success to write to file", exampleFilePath)
}
#!/usr/bin/env python3
import base64
from openai import OpenAI
def main():
api_key = "sk-123456789012345678901234567890123456789012345678"
example_file_path = "example.png"
client = OpenAI(
api_key=api_key,
base_url="https://gateway.serevixai.ai/v1"
)
response = client.images.generate(
model="gpt-image-1",
prompt="A cute baby sea otter",
size="1024x1024",
)
if not response.data or not response.data[0].b64_json:
print("error: empty b64_json")
return
image_data = base64.b64decode(response.data[0].b64_json)
with open(example_file_path, "wb") as f:
f.write(image_data)
print("success to write to file", example_file_path)
if __name__ == "__main__":
main()
5. 响应示例¶
{
"created": 1589478378,
"data": [
{
"b64_json": "..."
},
{
"b64_json": "..."
}
]
}