# OpenAI API 接口文档

该模型适配于 OpenAI 端侧接口标准

Base Url： https://maas-openapi.wanjiedata.com/api/v1

获取 [API KEY](https://www.wjark.com/center/api-key)：https://www.wjark.com/center/api-key

- [OpenAI 端侧接口标准适配模型一览表](https://docs.wjark.com/maas/UserGuide/Usage/OpenAI.html)：https://docs.wjark.com/maas/UserGuide/Usage/OpenAI.html

**说明：使用 GPT 系列模型时，以下字段要么不设置，要么严格按照以下要求设置，如**
```shell
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "'gpt-5.5'",
    "messages": [{"role": "user", "content": "请用一句话介绍自己"}],
    "stream": false,
    "temperature": 1,
    "top_p": 1,
    "top_n": 1,
    "presence_penalty": 0,
    "frequency_penalty": 0
}'
```

## 基础文本对话

```shell
POST /v1/chat/completions
```
![测试](https://videos.tpkcur.xyz/videos/images/gpt-image-2/202608141038368239417075HPuxxXl/0.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20260814%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20260814T024015Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&x-id=GetObject&X-Amz-Signature=6f7a13eab157f388e540deb550df11caeaaa6c62a371a5604e29dfdd4cd40890)

**注：请求 hunyuan-vision-1.5-instruct、hunyuan-t1-vision-20250916 模型时，字段 seed 必须为正整数**

hunyuan 模型请求示例：

```shell [shell]
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "'$hunyuan_MODEL'",
    "messages": [{"role": "user", "content": "请用一句话介绍自己"}],
    "stream": false,
    "seed": 1
}'
```

**非流式请求示例**：

```shell [shell]
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "'$MODEL'",
    "messages": [{"role": "user", "content": "请用一句话介绍自己"}],
    "stream": false
}'
```

```python [python]
import requests
url = "https://maas-openapi.wanjiedata.com/api/v1/chat/completions"
headers = {
    "Authorization": "Bearer {}".format("API_KEY"),  # 请将 API_KEY 替换为你的实际密钥
    "Content-Type": "application/json"
}
data = {
    "model": "MODEL",  # 请将 MODEL 替换为OpenAI 端侧接口标准适配模型
    "messages": [{"role": "user", "content": "请用一句话介绍自己"}],
    "stream": False
}
response = requests.post(url, headers=headers, json=data)
print(response.text)
```

```javascript [javascript]
fetch('https://maas-openapi.wanjiedata.com/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer 你的APIKey',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: ' OpenAI 接口标准适用模型',
    messages: [{ role: 'user', content: '请用一句话介绍自己' }],
    stream: false
  })
})
  .then(res => res.json())
  .then(data => {
    const reply = data.choices?.[0]?.message?.content || '';
    console.log('回复内容:', reply);
    console.log(data);
  })
  .catch(console.error);

```

**非流式响应示例**

```shell [shell]
{
    "id": "chatcmpl-Cct0tR2gzMsixFQns4Z0s3LbmEfek",
    "object": "chat.completion",
    "created": 1763383971,
    "model": "GPT-4.1",
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "我是由 OpenAI 开发的智能助手，能够帮助你解答问题、提供信息和支持各种文本写作需求。",
                "tool_calls": null
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 27,
        "total_tokens": 40
    },
    "system_fingerprint": "fp_f99638a8d7"
}
```

```python [python]
{
  "id":"chatcmpl-Ccj1HgXyB5HQb6AT4kxA2Gv9iQkwB","object":"chat.completion",
  "created":1763345555,"model":"GPT-4.1",
  "choices":[{
    "index":0,
    "message":{
      "role":"assistant","content":"我是 ChatGPT，一款由 OpenAI 开发的智能对话 AI 助手，很高兴为你提供帮助！","tool_calls":null
      },
      "finish_reason":"stop"}
      ],
      "usage":{"prompt_tokens":13,"completion_tokens":24,"total_tokens":37},
      "system_fingerprint":"fp_f99638a8d7"}
```

```javascript [javascript]
回复内容: 我是ChatGPT，一款由OpenAI开发的智能对话助手，能够帮助你解答问题、提供建议和创作内容。
{
  id: 'chatcmpl-CckB5i7otsyx3qxWJiEZdGYAM3iVW',
  object: 'chat.completion',
  created: 1763350007,
  model: 'GPT-4.1',
  choices: [ { index: 0, message: [Object], finish_reason: 'stop' } ],
  usage: { prompt_tokens: 13, completion_tokens: 30, total_tokens: 43 },
  system_fingerprint: 'fp_f99638a8d7'
}
```

**流式请求示例**

**注：qwq-plus 和 qwq-32b 模型只能使用流式请求，即 stream 字段必须设置为 true**

```shell [shell]
# 授权模型名称：在授权模型列表中模型名称复制名称获取。
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header "Authorization: Bearer $API_KEY" \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "'$MODEL'",
    "messages": [{"role": "user", "content": "请用一句话介绍自己"}],
    "stream": true
}'
```

```python [python]
import requests

url = "https://maas-openapi.wanjiedata.com/api/v1/chat/completions"

headers = {
    "Authorization": "Bearer $API_KEY",
    "Content-Type": "application/json"
}

data = {
    "model": "$MODEL",
    "messages": [
        {"role": "user", "content": "请用一句话介绍自己"}
    ],
    "stream": True
}

response = requests.post(url, headers=headers, json=data)
print(response.text)

```

```javascript [javascript]
fetch('https://maas-openapi.wanjiedata.com/api/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: '$MODEL',
    messages: [{ role: 'user', content: '请用一句话介绍自己' }],
    stream: true
  })
})
  .then(res => res.body)
  .then(body => {
    const reader = body.getReader();
    const decoder = new TextDecoder();
    function read() {
      reader.read().then(({ done, value }) => {
        if (done) return;
        console.log(decoder.decode(value));
        read();
      });
    }
    read();
  })
  .catch(console.error);

```

**流式响应示例**
```shell [shell]
{
    "id": "chatcmpl-CdAoolTjqXY1Ip5sMFPN4buGPgW1V",
    "object": "chat.completion.chunk",
    "created": 1763452414,
    "model": "GPT-4.1",
    "system_fingerprint": "fp_f99638a8d7",
    "choices": [],
    "usage": {
        "prompt_tokens": 13,
        "completion_tokens": 30,
        "total_tokens": 43,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "audio_tokens": 0
        },
        "completion_tokens_details": {
            "reasoning_tokens": 0,
            "audio_tokens": 0,
            "accepted_prediction_tokens": 0,
            "rejected_prediction_tokens": 0
        }
    }
}
```

```python [python]
id: 0
data: {"id":"chatcmpl-CdBkqaNlBzKQS31mZAMEBduz1WuVO","object":"chat.completion.chunk","created":1763456012,"model":"GPT-4.1","system_fingerprint":"fp_433e8c8649","choices":[{"index":0,"delta":{"role":"assistant","content":null,"reasoning_content":"","refusal":null,"tool_calls":null},"logprobs":null,"finish_reason":null}],"usage":null}

id: 1
data: {"id":"chatcmpl-CdBkqaNlBzKQS31mZAMEBduz1WuVO","object":"chat.completion.chunk","created":1763456012,"model":"GPT-4.1","system_fingerprint":"fp_433e8c8649","choices":[{"index":0,"delta":{"role":"assistant","content":"ææ¯","reasoning_content":"","refusal":null,"tool_calls":null},"logprobs":null,"finish_reason":null}],"usage":null}
...
...
id: 26
data: {"id":"chatcmpl-CdBkqaNlBzKQS31mZAMEBduz1WuVO","object":"chat.completion.chunk","created":1763456012,"model":"GPT-4.1","system_fingerprint":"fp_433e8c8649","choices":[],"usage":{"prompt_tokens":13,"completion_tokens":24,"total_tokens":37,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}}

id: 27
data: [DONE]
```

```javascript [javascript]
id: 0
data: {"id":"chatcmpl-CdBmDOXRAJjS3yNOwWWKdFPseydfV","object":"chat.completion.chunk","created":1763456097,"model":"GPT-4.1","system_fingerprint":"fp_f99638a8d7","choices":[{"index":0,"delta":{"role":"assistant","content":null,"reasoning_content":"","refusal":null,"tool_calls":null},"logprobs":null,"finish_reason":null}],"usage":null}

id: 1
data: {"id":"chatcmpl-CdBmDOXRAJjS3yNOwWWKdFPseydfV","object":"chat.completion.chunk","created":1763456097,"model":"GPT-4.1","system_fingerprint":"fp_f99638a8d7","choices":[{"index":0,"delta":{"role":"assistant","content":"我是","reasoning_content":"","refusal":null,"tool_calls":null},"logprobs":null,"finish_reason":null}],"usage":null}
...
...
id: 27
data: {"id":"chatcmpl-CdBmDOXRAJjS3yNOwWWKdFPseydfV","object":"chat.completion.chunk","created":1763456097,"model":"GPT-4.1","system_fingerprint":"fp_f99638a8d7","choices":[],"usage":{"prompt_tokens":13,"completion_tokens":26,"total_tokens":39,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}}

id: 28
data: [DONE]
```

## 文生视频接口

```shell
POST /v1/chat/completions
```

```shell [shell]
curl --location 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "model": "$MODEL",
    "messages": [
        {
            "role": "user",
            "content": "武汉文旅    "
        }
    ],
    "stream": true
}'
```

```python [python]
import requests
API_KEY = "<你的 API KEY>"
MODEL = "sora-2"
url = "https://maas-openapi.wanjiedata.com/api/v1/chat/completions"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
payload = {
    "model": MODEL,
    "messages": [
        {
            "role": "user",
            "content": "武汉文旅视频"
        }
    ],
    "stream": True
}
response = requests.post(url, headers=headers, json=payload, stream=True) 
if response.status_code == 200:
    for line in response.iter_lines(decode_unicode=True):
        if line:
            print("收到分块：", line)
else:
    print("请求失败:", response.status_code)
    print(response.text)
```

```javascript [javascript]
import axios from 'axios';

const apiKey = '<你的 API KEY>';
const model = '<你的授权文生视频模型名称>';

const url = 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions';

const headers = {
  Authorization: `Bearer ${apiKey}`,
  'Content-Type': 'application/json'
};

const data = {
  model,
  messages: [
    { role: 'user', content: '武汉文旅视频' }
  ],
  stream: true
};

axios.post(url, data, { headers })
  .then(res => console.log(res.data))
  .catch(err => console.error(err.response ? err.response.data : err.message));
```

**响应示例**

```shell [shell]
{
    "id": "",
    "object": "chat.completion.chunk",
    "created": 0,
    "model": "sora-2",
    "choices": [
        {
            "index": 0,
            "delta": {
                "role": "assistant"
            },
            "finish_reason": null
        }
    ]
}
```

```python [python]
收到分块： data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"content":"```json\n{\n    \"prompt\": \"武汉文旅视频\",\n    \"mode\": \"横屏模式\"\n}\n```\n\n"},"finish_reason":null}]}
收到分块： data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"content":"\u003e ⌛️ 任务正在队列中，请耐心等待...\n\n"},"finish_reason":null}]]}
收到分块： data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"content":"\u003e ✅ 视频生成成功，[点击这里](https://static.aiclound.vip/sora/3b69194c-f7f0-40f8-b13b-b6008f73570f.mp4) 查看视频~~~\n\n"},"finish_reason":null}]}
收到分块： data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":14,"completion_tokens":240,"total_tokens":254}}
收到分块： data: [DONE]
```

```javascript [javascript]
data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"content":"```json\n{\n    \"prompt\": \"武汉文旅视频\",\n    \"mode\": \"横屏模式\"\n}\n```\n\n"},"finish_reason":null}]}

data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{"content":"\u003e ✅ 视频生成成功，[点击这里](https://static.aiclound.vip/sora/f794fa3f-0b7c-4540-93b7-27476d35a571.mp4) 查看视频~~~\n\n"},"finish_reason":null}]}

data: {"id":"","object":"chat.completion.chunk","created":0,"model":"sora-2","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"usage":{"prompt_tokens":14,"completion_tokens":276,"total_tokens":290}}

data: [DONE]

```

## 错误编码说明

见[错误编码说明](https://platform.openai.com/docs/guides/error-codes)

## 图生视频接口

**1. 图片转 URL（生成url支持公网访问）**

**请求示例**

```shell [shell]
curl --location 'https://maas-openapi.wanjiedata.com/api/file/v1/uploadFile' \
--header 'Authorization: 你的key' \
--form 'maasFile=@"postman-cloud:///1f0c5bd8-53ca-43c0-bbde-19562bb591bb"'
```

<mark>使用时需要在 body 层配置 maasFile ，Text：输入文本；File：上传本地图片</mark>

**响应示例**

```shell [shell]
{
    "success": true,
    "message": "",
    "code": 200,
    "result": {
        "url": "粘贴你的图片 URL",
        "fileName": "xxx.jpg"
    },
    "timestamp": 1763711398638
}
```

<mark>注意：上传对应的图片文件，目前仅仅 “jpg，png，jpeg”三种格式生成视频，生成的图片 URL 有效期 24h</mark>

**2. 图片 URL 生成视频**

**请求示例**

```shell [shell]
curl --location 'https://maas-openapi.wanjiedata.com/api/v1/chat/completions' \
--header 'Authorization: 您的key' \
--header 'accept: text/event-stream' \
--header 'Content-Type: application/json' \
--data '{
    "model": "sora-2",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "这里写你的要求"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "上传图片的url"
                    }
                }
            ]
        }
    ],
    "stream": true
}'
```

**响应示例**

```shell [shell]
{
    "id": "foaicmpl-03580ff5-5ca0-421e-9d15-a908e14aac47",
    "object": "chat.completion.chunk",
    "created": 1764750479,
    "model": "sora-2",
    "choices": [
        {
            "index": 0,
            "delta": {
                "content": 
                ...
                "> 🏃 进度：98.7%\n\n"
                "> ✅ 视频生成成功，[点击这里](https://4o-image-plus.oss-cn-hongkong.aliyuncs.com/sora/aee7c29b-8346-4b95-8977-0e34da3c633d.mp4) 查看视频~~~\n\n"
            },
            "finish_reason": null
        }
    ]
}
```

**其他文件请求格式如下：**

```python [python]
1. 图片转 URL 

import requests

url = "https://maas-openapi.wanjiedata.com/api/file/v1/uploadFile"

# 替换为你的实际API key
api_key = "你的key"

headers = {
    "Authorization": api_key
}

# 方式1：上传本地文件
files = {
    'maasFile': ('xxx.jpg', open('path/to/your/file.jpg', 'rb'), 'image/jpeg')
}

# 方式2：如果你要上传的文件在内存中，可以这样：
# files = {
#     'maasFile': ('xxx.jpg', file_content, 'image/jpeg')
# }

response = requests.post(url, headers=headers, files=files)

# 关闭文件
if 'files' in locals():
    for file_tuple in files.values():
        if hasattr(file_tuple[1], 'close'):
            file_tuple[1].close()

print(response.text)


2. 图片 URL 生成视频

import requests
import json

url = "https://maas-openapi.wanjiedata.com/api/v1/chat/completions"

# 替换为你的实际API key
api_key = "您的key"

headers = {
    "Authorization": api_key,
    "accept": "text/event-stream",
    "Content-Type": "application/json"
}

# 替换为实际上传图片的URL
image_url = "上传图片的url"

data = {
    "model": "sora-2",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "这里写你的要求"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": image_url
                    }
                }
            ]
        }
    ],
    "stream": True
}

# 流式处理响应
with requests.post(url, headers=headers, json=data, stream=True) as response:
    response.raise_for_status()  # 检查HTTP错误
    
    for line in response.iter_lines():
        if line:
            decoded_line = line.decode('utf-8')
            # 处理SSE格式的数据
            if decoded_line.startswith('data: '):
                if decoded_line == 'data: [DONE]':
                    print("流式传输完成")
                    break
                else:
                    try:
                        # 移除 'data: ' 前缀并解析JSON
                        json_data = json.loads(decoded_line[6:])
                        print(json.dumps(json_data, indent=2, ensure_ascii=False))
                    except json.JSONDecodeError:
                        print(f"无法解析的JSON: {decoded_line}")
            else:
                print(f"原始数据: {decoded_line}")

```

```javascript [javascript]
1. 图片转 URL

const fs = require('fs');
const axios = require('axios');
const FormData = require('form-data');

async function uploadFile() {
    try {
        const form = new FormData();
        form.append('maasFile', fs.createReadStream('你的文件所在路径，格式为C:/Users/1764750392698_download.png'));
        
        const response = await axios.post(
            'https://maas-openapi.wanjiedata.com/api/file/v1/uploadFile',
            form,
            {
                headers: {
                    'Authorization': '你的 API Key',
                    ...form.getHeaders()
                }
            }
        );
        
        // 假设响应数据中包含url字段
        if (response.data && response.data.url) {
            console.log(response.data.url);
        } else {
            console.log('上传成功，但未找到URL:', JSON.stringify(response.data));
        }
        
    } catch (error) {
        if (error.response) {
            console.error('上传失败:', error.response.data);
        } else {
            console.error('上传失败:', error.message);
        }
    }
}

uploadFile();


2. 图片 URL 生成视频

const axios = require('axios');

async function main() {
    try {
        console.log('开始生成视频...');
        
        const response = await axios.post(
            'https://maas-openapi.wanjiedata.com/api/v1/chat/completions',
            {
                "model": "sora-2",
                "messages": [
                    {
                        "role": "user",
                        "content": [
                            {"type": "text", "text": "这里写你的要求"},
                            {"type": "image_url", "image_url": {"url": "粘贴你的图片 URL"}}
                        ]
                    }
                ],
                "stream": true
            },
            {
                headers: {
                    'Authorization': '你的 API Key',
                    'accept': 'text/event-stream',
                    'Content-Type': 'application/json'
                },
                responseType: 'stream'
            }
        );
        
        console.log('连接成功，正在接收流数据...');
        
        // 处理流数据
        response.data.on('data', (chunk) => {
            const data = chunk.toString();
            // 解析SSE数据
            if (data.startsWith('data: ')) {
                const jsonData = data.replace('data: ', '');
                if (jsonData.trim() !== '[DONE]') {
                    try {
                        const parsed = JSON.parse(jsonData);
                        if (parsed.choices && parsed.choices[0]) {
                            const content = parsed.choices[0].delta?.content;
                            if (content) {
                                process.stdout.write(content);
                            }
                        }
                    } catch (e) {
                        console.log('原始数据:', jsonData);
                    }
                }
            }
        });
        
        response.data.on('end', () => {
            console.log('\n视频生成完成！');
        });
        
        response.data.on('error', (error) => {
            console.error('流错误:', error);
        });
        
    } catch (error) {
        console.error('请求错误:', error.message);
        if (error.response) {
            console.error('响应状态:', error.response.status);
            console.error('响应数据:', error.response.data);
        }
    }
}

main();

```

## Open AI 文生图接口

```shell
POST /v1/images/generations
```

```shell [shell]
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/images/generations' \
--header "Authorization: Bearer $API_KEY"  \
--header 'Content-Type: application/json' \
--data-raw '{
  "model": "'$MODEL'",
  "prompt": "graphic of a Harley Davidson bike",
  "n": 1,
  "size": "1024x1024",
  "responseFormat": "url",
  "quality": "standard"
}'
```

```python [python]
import requests
API_KEY = "<你的 API KEY>"
MODEL = "<你的授权文生图模型名称>"
url = "https://maas-openapi.wanjiedata.com/api/v1/images/generations"
headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}
payload = {
    "model": MODEL,
    "prompt": "graphic of a Harley Davidson bike",
    "n": 1,
    "size": "1024x1024",
    "responseFormat": "url",
    "quality": "standard"
}
response = requests.post(url, headers=headers, json=payload)
if response.status_code == 200:
    result = response.json()
    print(result) 
else:
    print("请求失败:", response.status_code)
    print(response.text)
```

```javascript [javascript]
import axios from 'axios';

const apiKey = '<你的 API KEY>'; 
const model = '<你的授权文生图模型名称>'; 
const url = 'https://maas-openapi.wanjiedata.com/api/v1/images/generations';

async function generateImage() {
  const headers = {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json'
  };
  const data = {
    model,
    prompt: 'graphic of a Harley Davidson bike',
    n: 1,
    size: '1024x1024',
    responseFormat: 'url'
  };

  try {
    const res = await axios.post(url, data, { headers });
    console.log(res.data.data[0].url); 
  } catch (err) {
    console.error('请求失败:', err.message);
  }
}

generateImage();
```

```csharp [csharp]
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class P {
    static async Task Main() {
        var c = new HttpClient();
        c.DefaultRequestHeaders.Add("Authorization", "Bearer <API_KEY>");
        var d = new StringContent(@"{
            ""model"":""<MODEL>"",
            ""prompt"":""graphic of a Harley Davidson bike"",
            ""n"":1,
            ""size"":""1024x1024"",
            ""responseFormat"":""url"",
            ""quality"":""standard"",
            ""style"":""vivid""
        }", Encoding.UTF8, "application/json");
        var r = await c.PostAsync("https://maas-openapi.wanjiedata.com/api/v1/images/generations", d);
        System.Console.WriteLine(await r.Content.ReadAsStringAsync());
    }
}

```

**响应示例**

```shell [shell]
{
    "created": 1762221608,
    "data": [
        {
            "url": "https://rgw.wanjiedata.com/maas-public-bucket/2025/11/04/c3fe6bdd3a601f90c4d1e33e961e064f.jpg"
        }
    ],
    "usage": {
        "input_tokens_details": {}
    }
}
```

```python [python]
{
    'created': 1762220795, 
    'data': [{'url': 'https://rgw.wanjiedata.com/maas-public-bucket/2025/11/04/a920b1331c7c5676624e38cbc10d8b43.jpg'}],
    'usage': {'input_tokens_details': {}
    }
}
```

```javascript [javascript]
https://rgw.wanjiedata.com/maas-public-bucket/2025/11/04/0d4e5bc27fe7b76a1544a36d75f4c1da.jpg
```

```csharp [csharp]
{"created":1762414008,"data":[{"url":"https://rgw.wanjiedata.com/maas-public-bucket/2025/11/06/6c6eaaa374eb4be4a629b3adff530412.jpg"}],"usage":{"input_tokens_details":{}}}
```

**注意：如果使用 gpt 模型生成图片，如 gpt-image-2-pool、gpt-image-2 等模型则返回的是 base 64编码，需要自行转成图片**

```shell
{
    "created": 1777428796,
    "data": [
        {
            "b64_json": $base64编码
        }
    ],
    "usage": {
        "total_tokens": 772,
        "input_tokens": 7,
        "output_tokens": 765,
        "input_tokens_details": {}
    }
}
```

**文生图接口参数说明见** [OpenAI API Create image](https://platform.openai.com/docs/api-reference/images/create)

## Open AI 图片编辑

```shell
POST /v1/images/edits
```

```shell [shell]
curl --location --request POST 'https://maas-openapi.wanjiedata.com/api/v1/images/edits' \
--header 'Authorization: $APIKEY' \
--form 'model="gpt-image-2-pool"' \
--form 'prompt="$你的图片修改提示词"' \
--form 'image=@"$你的图片文件目录"'  //支持多张图片，将这行按需求复制几行即可
```

```python [python]
import requests
import json
import os

def image_edit(
    api_key: str,
    prompt: str,
    image_paths: list,
    model: str = "gpt-image-2-pool"
) -> dict:
    """
    图片编辑接口
    
    :param api_key:      API认证Key
    :param prompt:       图片编辑提示词
    :param image_paths:  图片文件路径列表（支持多张）
    :param model:        使用的模型
    :return:             API响应结果
    """
    url = "https://maas-openapi.wanjiedata.com/api/v1/images/edits"

    headers = {
        "Authorization": api_key
    }

    data = {
        'model': model,
        'prompt': prompt
    }

    # 构建多张图片的files列表
    files = []
    file_handles = []  # 用于最后统一关闭文件

    try:
        for image_path in image_paths:
            if not os.path.exists(image_path):
                print(f"⚠️  文件不存在: {image_path}")
                continue

            file_name = os.path.basename(image_path)

            # 根据后缀判断MIME类型
            ext = file_name.lower().split('.')[-1]
            mime_map = {
                'jpg':  'image/jpeg',
                'jpeg': 'image/jpeg',
                'png':  'image/png',
                'gif':  'image/gif',
                'webp': 'image/webp'
            }
            mime_type = mime_map.get(ext, 'image/jpeg')

            f = open(image_path, 'rb')
            file_handles.append(f)
            files.append(('image', (file_name, f, mime_type)))
            print(f"📎 已添加图片: {file_name} ({mime_type})")

        if not files:
            print("❌ 没有有效的图片文件，请检查路径")
            return None

        print(f"\n🚀 开始请求，共上传 {len(files)} 张图片...")
        response = requests.post(
            url,
            headers=headers,
            files=files,
            data=data,
            timeout=120  # 图片处理时间较长，设置较大超时
        )
        response.raise_for_status()

        return response.json()

    except requests.exceptions.Timeout:
        print("❌ 请求超时，请重试")
        return None
    except requests.exceptions.ConnectionError:
        print("❌ 网络连接错误，请检查网络")
        return None
    except requests.exceptions.HTTPError as e:
        print(f"❌ HTTP错误: {e.response.status_code} - {e.response.text}")
        return None
    except requests.exceptions.RequestException as e:
        print(f"❌ 请求异常: {e}")
        return None

    finally:
        # 确保所有文件句柄都被关闭
        for f in file_handles:
            f.close()
        print("📁 文件句柄已关闭")


if __name__ == "__main__":
    # ===== 配置参数 =====
    API_KEY = "$APIKEY"          # 替换为你的实际API Key
    PROMPT  = "$你的图片修改提示词"

    # 图片路径列表，支持多张，按需添加
    IMAGE_PATHS = [
        "path/to/image1.jpg",       # 第1张图片
        "path/to/image2.png",       # 第2张图片
        "path/to/image3.jpg",       # 第3张图片（按需增减）
    ]

    # 调用函数
    result = image_edit(
        api_key=API_KEY,
        prompt=PROMPT,
        image_paths=IMAGE_PATHS
    )

    if result:
        print("\n✅ 请求成功！")
        print(json.dumps(result, indent=2, ensure_ascii=False))
```

```javascript [javascript]
import axios from 'axios';
import FormData from 'form-data';
import fs from 'fs';

async function main() {
    try {
        const form = new FormData();
        form.append('model', 'gpt-image-2-pool');
        form.append('prompt', '$你的图片修改提示词');
        
        // 添加图片，多张图片就复制几行
        form.append('image', fs.createReadStream('./图片1.jpg'));
        form.append('image', fs.createReadStream('./图片2.jpg'));
        form.append('image', fs.createReadStream('./图片3.jpg'));

        const response = await axios.post(
            'https://maas-openapi.wanjiedata.com/api/v1/images/edits',
            form,
            {
                headers: {
                    ...form.getHeaders(),
                    'Authorization': 'Bearer $APIKEY'
                }
            }
        );

        console.log('结果:', JSON.stringify(response.data, null, 2));

    } catch (error) {
        console.error('错误:', error.message);
        if (error.response) {
            console.error('响应状态:', error.response.status);
            console.error('响应数据:', error.response.data);
        }
    }
}

main();
```

```csharp [csharp]
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

// ===== 配置区域 =====
string apiKey = "$APIKEY";
string prompt = "$你的图片修改提示词";
string model = "gpt-image-2-pool";

// 图片文件路径（支持多张，继续添加即可）
string[] imagePaths = new[]
{
    @"D:\images\image1.jpg",
    @"D:\images\image2.jpg",
    // @"D:\images\image3.jpg",  // 按需添加
};
// ====================

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue(apiKey); // 注意：原curl没有Bearer，直接用key

using var formData = new MultipartFormDataContent();

// 添加 model 字段
formData.Add(new StringContent(model), "model");

// 添加 prompt 字段
formData.Add(new StringContent(prompt), "prompt");

// 添加图片文件（支持多张）
foreach (var imagePath in imagePaths)
{
    if (!System.IO.File.Exists(imagePath))
    {
        Console.WriteLine($"文件不存在: {imagePath}");
        return;
    }

    var imageBytes = await System.IO.File.ReadAllBytesAsync(imagePath);
    var imageContent = new ByteArrayContent(imageBytes);
    
    // 根据文件扩展名设置 Content-Type
    string ext = System.IO.Path.GetExtension(imagePath).ToLower();
    string mimeType = ext switch
    {
        ".jpg" or ".jpeg" => "image/jpeg",
        ".png"            => "image/png",
        ".webp"           => "image/webp",
        _                 => "application/octet-stream"
    };
    imageContent.Headers.ContentType = new MediaTypeHeaderValue(mimeType);

    string fileName = System.IO.Path.GetFileName(imagePath);
    formData.Add(imageContent, "image", fileName);
}

Console.WriteLine("正在发送请求...");

try
{
    HttpResponseMessage response = await httpClient.PostAsync(
        "https://maas-openapi.wanjiedata.com/api/v1/images/edits",
        formData
    );

    string responseBody = await response.Content.ReadAsStringAsync();

    Console.WriteLine($"状态码: {(int)response.StatusCode} {response.StatusCode}");
    Console.WriteLine($"响应内容:\n{responseBody}");
}
catch (HttpRequestException ex)
{
    Console.WriteLine($"请求失败: {ex.Message}");
}
```

**响应示例**

```shell [shell]
{
    "created": 1777432660,
    "background": "",
    "data": [
        {
            "b64_json": $base 64编码,
            "revised_prompt": "",
            "url": ""
        }
    ],
    "output_format": "",
    "quality": "",
    "size": "",
    "usage": {
        "input_tokens": 1111,
        "input_tokens_details": {
            "image_tokens": 1105,
            "text_tokens": 6
        },
        "output_tokens": 1105,
        "total_tokens": 2216
    }
}
```

**图片修改接口参数说明见** [OpenAI API edit image](https://developers.openai.com/api/reference/resources/images/methods/edit)

## Open AI 图片分析

```shell
POST /v1/responses
```

```shell [shell]
curl --location 'https://maas-openapi.wanjiedata.com/api/v1/responses' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $API_KEY' \
--data '{
    "model": "$模型名称",
    "input": [
      {
        "role": "user",
        "content": [
          {"type": "input_text", "text": "这是什么图片?"},
          {
            "type": "input_image",
            "image_url": "图片 URL"
          }
        ]
      }
    ]
  }'
```

```python [python]
import requests
import json

url = "https://maas-openapi.wanjiedata.com/api/v1/responses"

# 替换为你的实际API Key
api_key = "你的API_KEY"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}"
}

# 替换为实际的图片URL
image_url = "图片 URL"

data = {
    "model": "GPT-4o",
    "input": [
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "这是什么图片?"
                },
                {
                    "type": "input_image",
                    "image_url": image_url
                }
            ]
        }
    ]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
```

```javascript [javascript]
import axios from 'axios';

async function main() {
    try {
        const response = await axios.post(
            'https://maas-openapi.wanjiedata.com/api/v1/responses',
            {
                "model": "GPT-4o",
                "input": [
                    {
                        "role": "user",
                        "content": [
                            {"type": "input_text", "text": "这是什么图片?"},
                            {
                                "type": "input_image",
                                "image_url": "你的图片 URL"
                            }
                        ]
                    }
                ]
            },
            {
                headers: {
                    'Content-Type': 'application/json',
                    'Authorization': 'Bearer 你的 KEY'
                }
            }
        );

        console.log('识别结果:', JSON.stringify(response.data, null, 2));

    } catch (error) {
        console.error('错误:', error.message);
        if (error.response) {
            console.error('响应状态:', error.response.status);
            console.error('响应数据:', error.response.data);
        }
    }
}

main();
```

```csharp [csharp]
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

// ===== 配置区域 =====
string apiKey = "YOUR_API_KEY";
string imageUrl = "图片 URL";
string question = "这是什么图片?";
// ====================

var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", apiKey);

var requestBody = new
{
    model = "GPT-4o",
    input = new[]
    {
        new
        {
            role = "user",
            content = new object[]
            {
                new { type = "input_text",  text = question },
                new { type = "input_image", image_url = imageUrl }
            }
        }
    }
};

string jsonBody = JsonSerializer.Serialize(requestBody);
var content = new StringContent(jsonBody, Encoding.UTF8, "application/json");

Console.WriteLine("正在发送请求...");

try
{
    HttpResponseMessage response = await httpClient.PostAsync(
        "https://maas-openapi.wanjiedata.com/api/v1/responses",
        content
    );

    string responseBody = await response.Content.ReadAsStringAsync();

    Console.WriteLine($"状态码: {(int)response.StatusCode} {response.StatusCode}");
    Console.WriteLine($"响应内容:\n{responseBody}");
}
catch (HttpRequestException ex)
{
    Console.WriteLine($"请求失败: {ex.Message}");
}
```

**响应示例**

```shell [shell]
{
    "id": "resp_08fd292f202a4f970069a6a11852788197be7d3d76b63dd7f8",
    "created_at": 0,
    "error": {
        "code": "",
        "message": ""
    },
    "incomplete_details": {
        "reason": ""
    },
    "instructions": {
        "OfString": "",
        "OfInputItemList": null
    },
    "metadata": {},
    "model": "GPT-4o",
    "object": "response",
    "output": [
        {
            "id": "msg_08fd292f202a4f970069a6a11c6558819796088bc6d67d7bfd",
            "content": [
                {
                    "annotations": [],
                    "text": "这是一张充满幻想色彩的艺术插图。画面中，一个庞大的宇宙形象，占据了整个背景，看起来像是星云和星球构成的巨大面孔。这个形象将手伸向地球，给人一种神秘而强大的感觉，似乎在操控或守护着星球。这种风格常用于科幻或奇幻题材的作品中。",
                    "type": "output_text",
                    "logprobs": [],
                    "refusal": ""
                }
            ],
            "role": "assistant",
            "status": "completed",
            "type": "message",
            "queries": null,
            "results": null,
            "arguments": "",
            "call_id": "",
            "name": "",
            "action": {
                "query": "",
                "type": "",
                "sources": null,
                "url": "",
                "pattern": "",
                "button": "",
                "x": 0,
                "y": 0,
                "path": null,
                "keys": null,
                "scroll_x": 0,
                "scroll_y": 0,
                "text": "",
                "command": null,
                "env": null,
                "timeout_ms": 0,
                "user": "",
                "working_directory": "",
                "commands": null,
                "max_output_length": 0
            },
            "pending_safety_checks": null,
            "summary": null,
            "encrypted_content": "",
            "created_by": "",
            "result": "",
            "code": "",
            "container_id": "",
            "outputs": null,
            "max_output_length": 0,
            "output": {
                "OfResponseFunctionShellToolCallOutputOutputArray": null,
                "OfString": ""
            },
            "operation": {
                "diff": "",
                "path": "",
                "type": ""
            },
            "server_label": "",
            "approval_request_id": "",
            "error": "",
            "tools": null,
            "input": ""
        }
    ],
    "parallel_tool_calls": false,
    "temperature": 1,
    "tool_choice": {
        "OfToolChoiceMode": "",
        "mode": "",
        "tools": null,
        "type": "",
        "name": "",
        "server_label": ""
    },
    "tools": [],
    "top_p": 0,
    "background": false,
    "conversation": {
        "id": ""
    },
    "max_output_tokens": 0,
    "max_tool_calls": 0,
    "previous_response_id": "",
    "prompt": {
        "id": "",
        "variables": null,
        "version": ""
    },
    "prompt_cache_key": "",
    "prompt_cache_retention": "",
    "reasoning": {
        "effort": "",
        "generate_summary": "",
        "summary": ""
    },
    "safety_identifier": "",
    "service_tier": "",
    "status": "completed",
    "text": {
        "format": {
            "type": "text",
            "name": "",
            "schema": null,
            "description": "",
            "strict": false
        },
        "verbosity": "medium"
    },
    "top_logprobs": 0,
    "truncation": "disabled",
    "usage": {
        "input_tokens": 1116,
        "input_tokens_details": {
            "cached_tokens": 0
        },
        "output_tokens": 95,
        "output_tokens_details": {
            "reasoning_tokens": 0
        },
        "total_tokens": 1211
    },
    "user": ""
}
```

```python [python]
{'id': 'resp_04e9d735e71880180069a6a07a24c08193ae0b2f7d8d505723', 'created_at': 0, 'error': {'code': '', 'message': ''}, 'incomplete_details': {'reason': ''}, 'instructions': {'OfString': '', 'OfInputItemList': None}, 'metadata': {}, 'model': 'GPT-4o', 'object': 'response', 'output': [{'id': 'msg_04e9d735e71880180069a6a07e292881939b937b406c9640fe', 'content': [{'annotations': [], 'text': '这是一幅幻想风格的图像，可能出自科幻或奇幻主题作品。背景是宇宙，有许多星球和漂浮的陨石。画面中有一个巨大的、神秘的生物，它有着闪烁的眼睛和伸展的手掌，似乎在操控地球或类似星球。这种艺术风格常用于游戏、电影或插画中。本图片可能与一种称为“宇宙魔神”的角色有关。', 'type': 'output_text', 'logprobs': [], 'refusal': ''}], 'role': 'assistant', 'status': 'completed', 'type': 'message', 'queries': None, 'results': None, 'arguments': '', 'call_id': '', 'name': '', 'action': {'query': '', 'type': '', 'sources': None, 'url': '', 'pattern': '', 'button': '', 'x': 0, 'y': 0, 'path': None, 'keys': None, 'scroll_x': 0, 'scroll_y': 0, 'text': '', 'command': None, 'env': None, 'timeout_ms': 0, 'user': '', 'working_directory': '', 'commands': None, 'max_output_length': 0}, 'pending_safety_checks': None, 'summary': None, 'encrypted_content': '', 'created_by': '', 'result': '', 'code': '', 'container_id': '', 'outputs': None, 'max_output_length': 0, 'output': {'OfResponseFunctionShellToolCallOutputOutputArray': None, 'OfString': ''}, 'operation': {'diff': '', 'path': '', 'type': ''}, 'server_label': '', 'approval_request_id': '', 'error': '', 'tools': None, 'input': ''}], 'parallel_tool_calls': False, 'temperature': 1, 'tool_choice': {'OfToolChoiceMode': '', 'mode': '', 'tools': None, 'type': '', 'name': '', 'server_label': ''}, 'tools': [], 'top_p': 0, 'background': False, 'conversation': {'id': ''}, 'max_output_tokens': 0, 'max_tool_calls': 0, 'previous_response_id': '', 'prompt': {'id': '', 'variables': None, 'version': ''}, 'prompt_cache_key': '', 'prompt_cache_retention': '', 'reasoning': {'effort': '', 'generate_summary': '', 'summary': ''}, 'safety_identifier': '', 'service_tier': '', 'status': 'completed', 'text': {'format': {'type': 'text', 'name': '', 'schema': None, 'description': '', 'strict': False}, 'verbosity': 'medium'}, 'top_logprobs': 0, 'truncation': 'disabled', 'usage': {'input_tokens': 1116, 'input_tokens_details': {'cached_tokens': 0}, 'output_tokens': 111, 'output_tokens_details': {'reasoning_tokens': 0}, 'total_tokens': 1227}, 'user': ''}
```

```javascript [javascript]
识别结果: {
    "id": "resp_0a852221b7e442750069a6a2a0f80c8190be9d6fa2d2ca9049",
        "created_at": 0,
        "error": {
        "code": "",
            "message": ""
    },
    "incomplete_details": {
        "reason": ""
    },
    "instructions": {
        "OfString": "",
            "OfInputItemList": null
    },
    "metadata": {},
    "model": "GPT-4o",
        "object": "response",
        "output": [
        {
            "id": "msg_0a852221b7e442750069a6a2a61ea0819083da09c822bad94f",
            "content": [
                {
                    "annotations": [],
                    "text": "这是一幅充满幻想色彩的宇宙艺术插画，表现了一个超自然的生物或宇宙之神的形象。这个生物由星云、星空构成，背景中还有行星和小行星。它的双手发出光芒，似乎在操控或俯视地 球，营造出一种神秘且震撼的气氛。这通常出现在科幻或奇幻主题的游戏、电影或艺术作品中。",
                    "type": "output_text",
                    "logprobs": [],
                    "refusal": ""
                }
            ],
            "role": "assistant",
            "status": "completed",
            "type": "message",
            "queries": null,
            "results": null,
            "arguments": "",
            "call_id": "",
            "name": "",
            "action": {
                "query": "",
                "type": "",
                "sources": null,
                "url": "",
                "pattern": "",
                "button": "",
                "x": 0,
                "y": 0,
                "path": null,
                "keys": null,
                "scroll_x": 0,
                "scroll_y": 0,
                "text": "",
                "command": null,
                "env": null,
                "timeout_ms": 0,
                "user": "",
                "working_directory": "",
                "commands": null,
                "max_output_length": 0
            },
            "pending_safety_checks": null,
            "summary": null,
            "encrypted_content": "",
            "created_by": "",
            "result": "",
            "code": "",
            "container_id": "",
            "outputs": null,
            "max_output_length": 0,
            "output": {
                "OfResponseFunctionShellToolCallOutputOutputArray": null,
                "OfString": ""
            },
            "operation": {
                "diff": "",
                "path": "",
                "type": ""
            },
            "server_label": "",
            "approval_request_id": "",
            "error": "",
            "tools": null,
            "input": ""
        }
    ],
        "parallel_tool_calls": false,
        "temperature": 1,
        "tool_choice": {
        "OfToolChoiceMode": "",
            "mode": "",
            "tools": null,
            "type": "",
            "name": "",
            "server_label": ""
    },
    "tools": [],
        "top_p": 0,
        "background": false,
        "conversation": {
        "id": ""
    },
    "max_output_tokens": 0,
        "max_tool_calls": 0,
        "previous_response_id": "",
        "prompt": {
        "id": "",
            "variables": null,
            "version": ""
    },
    "prompt_cache_key": "",
        "prompt_cache_retention": "",
        "reasoning": {
        "effort": "",
            "generate_summary": "",
            "summary": ""
    },
    "safety_identifier": "",
        "service_tier": "",
        "status": "completed",
        "text": {
        "format": {
            "type": "text",
                "name": "",
                "schema": null,
                "description": "",
                "strict": false
        },
        "verbosity": "medium"
    },
    "top_logprobs": 0,
        "truncation": "disabled",
        "usage": {
        "input_tokens": 1116,
            "input_tokens_details": {
            "cached_tokens": 0
        },
        "output_tokens": 112,
            "output_tokens_details": {
            "reasoning_tokens": 0
        },
        "total_tokens": 1228
    },
    "user": ""
}
```

```csharp [csharp]
正在发送请求...
状态码: 200 OK
响应内容:
{"id":"resp_0ea9f656a9ae30470069a6aff8d7608190a27c6e718b4c029f","created_at":0,"error":{"code":"","message":""},"incomplete_details":{"reason":""},"instructions":{"OfString":"","OfInputItemList":null},"metadata":{},"model":"GPT-4o","object":"response","output":[{"id":"msg_0ea9f656a9ae30470069a6affd35308190ad45d082a6f58aaf","content":[{"annotations":[],"text":"这张图片是《英雄联盟》的角色\"巴德\"的星界游神皮肤。图中表现了一个充满神秘和宇宙元素的场景，巴德作为星界的守护者，周围环绕着星星和行星，手中散发着光芒。这幅画作展示了这位角色的宇宙主题和超自然的特质。","type":"output_text","logprobs":[],"refusal":""}],"role":"assistant","status":"completed","type":"message","queries":null,"results":null,"arguments":"","call_id":"","name":"","action":{"query":"","type":"","sources":null,"url":"","pattern":"","button":"","x":0,"y":0,"path":null,"keys":null,"scroll_x":0,"scroll_y":0,"text":"","command":null,"env":null,"timeout_ms":0,"user":"","working_directory":"","commands":null,"max_output_length":0},"pending_safety_checks":null,"summary":null,"encrypted_content":"","created_by":"","result":"","code":"","container_id":"","outputs":null,"max_output_length":0,"output":{"OfResponseFunctionShellToolCallOutputOutputArray":null,"OfString":""},"operation":{"diff":"","path":"","type":""},"server_label":"","approval_request_id":"","error":"","tools":null,"input":""}],"parallel_tool_calls":false,"temperature":1,"tool_choice":{"OfToolChoiceMode":"","mode":"","tools":null,"type":"","name":"","server_label":""},"tools":[],"top_p":0,"background":false,"conversation":{"id":""},"max_output_tokens":0,"max_tool_calls":0,"previous_response_id":"","prompt":{"id":"","variables":null,"version":""},"prompt_cache_key":"","prompt_cache_retention":"","reasoning":{"effort":"","generate_summary":"","summary":""},"safety_identifier":"","service_tier":"","status":"completed","text":{"format":{"type":"text","name":"","schema":null,"description":"","strict":false},"verbosity":"medium"},"top_logprobs":0,"truncation":"disabled","usage":{"input_tokens":1116,"input_tokens_details":{"cached_tokens":0},"output_tokens":90,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":1206},"user":""}
```

[sora-2-pro-openai 请求调用方式](https://docs.wjark.com/maas/scenarios/USEGPTmodel/sorapro.html)

# OpenAI 接口标准适用模型配置相关文档参考

[在 Cherry Studio 中配置 OpenAI 接口标准适用模型](https://docs.wjark.com/maas/scenarios/USEGPTmodel/GPTCherryStudio.html)

[Deep Research Web UI 配置 OpenAI 接口标准适用模型教程](https://docs.wjark.com/maas/scenarios/USEGPTmodel/GPTDeepResearchWebUI.html)

[OpenAI API 接口 Java 版本](https://docs.wjark.com/maas/scenarios/USEGPTmodel/OpenAI_Java.html)