From ace5ddb4efeafd53311c67818f6f6e9f5f541ff3 Mon Sep 17 00:00:00 2001 From: Ace Data Cloud Dev Date: Sun, 11 Oct 2026 22:50:59 +0800 Subject: [PATCH 1/4] feat(third_party): add GPT Image plugin --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + .../gpt-image/.cursor-plugin/plugin.json | 31 ++++++++++ third_party/gpt-image/CHANGELOG.md | 5 ++ third_party/gpt-image/LICENSE | 21 +++++++ third_party/gpt-image/README.md | 58 ++++++++++++++++++ third_party/gpt-image/assets/logo.png | Bin 0 -> 16801 bytes third_party/gpt-image/examples/first-run.md | 5 ++ third_party/gpt-image/mcp.json | 11 ++++ .../gpt-image/readme/README_zh_Hans.md | 44 +++++++++++++ .../gpt-image/skills/gpt-image/SKILL.md | 14 +++++ 11 files changed, 195 insertions(+) create mode 100644 third_party/gpt-image/.cursor-plugin/plugin.json create mode 100644 third_party/gpt-image/CHANGELOG.md create mode 100644 third_party/gpt-image/LICENSE create mode 100644 third_party/gpt-image/README.md create mode 100644 third_party/gpt-image/assets/logo.png create mode 100644 third_party/gpt-image/examples/first-run.md create mode 100644 third_party/gpt-image/mcp.json create mode 100644 third_party/gpt-image/readme/README_zh_Hans.md create mode 100644 third_party/gpt-image/skills/gpt-image/SKILL.md diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index b8b863993..23922f63b 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -528,6 +528,11 @@ "source": "third_party/square", "description": "Work with payments, orders, catalog, customers, and invoices." }, + { + "name": "gpt-image", + "source": "third_party/gpt-image", + "description": "Generate GPT Image pictures and retrieve the finished image." + }, { "name": "tailscale", "source": "third_party/tailscale", diff --git a/README.md b/README.md index b42a64469..fdf85be3f 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `workday` | [Workday](third_party/workday/) | Cursor | Integrations | Look up workers, organizations, time off, payroll, and recruiting data in Workday. | | `whatsapp-business` | [WhatsApp Business](third_party/whatsapp-business/) | Cursor | Integrations | Send messages and manage templates, contacts, and phone numbers in WhatsApp Business. | | `square` | [Square](third_party/square/) | Cursor | Integrations | Work with payments, orders, catalog, customers, and invoices. | +| `gpt-image` | [GPT Image](third_party/gpt-image/) | Ace Data Cloud Dev | Integrations | Generate GPT Image pictures and retrieve the finished image. | | `tailscale` | [Tailscale](third_party/tailscale/) | Cursor | Integrations | Let Grok Bot reach MCP servers on your private Tailscale network. Sign in to Tailscale to connect your tailnet; Grok Bot joins it as one tagged device and only reaches the hosts you grant to tag:grokbot. | | `highlevel` | [HighLevel](third_party/highlevel/) | Cursor | Integrations | Work with contacts, conversations, opportunities, calendars, and payments. | | `finary` | [Finary](third_party/finary/) | Cursor | Integrations | Read your net worth, accounts, holdings, spending, and budgets. | diff --git a/third_party/gpt-image/.cursor-plugin/plugin.json b/third_party/gpt-image/.cursor-plugin/plugin.json new file mode 100644 index 000000000..3b7873893 --- /dev/null +++ b/third_party/gpt-image/.cursor-plugin/plugin.json @@ -0,0 +1,31 @@ +{ + "name": "gpt-image", + "displayName": "GPT Image", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Generate GPT Image pictures and retrieve the finished image.", + "author": { + "name": "Ace Data Cloud Dev", + "email": "dev@acedata.cloud" + }, + "homepage": "https://platform.acedata.cloud/models", + "repository": "https://github.com/AceDataCloud/GPTImageCursor", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "gpt-image", + "gpt image", + "image", + "acedatacloud", + "mcp" + ], + "category": "integrations", + "tags": [ + "gpt-image", + "image", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/gpt-image/CHANGELOG.md b/third_party/gpt-image/CHANGELOG.md new file mode 100644 index 000000000..59a65aa64 --- /dev/null +++ b/third_party/gpt-image/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## 1.0.0 + +- Initial GPT Image Cursor plugin using the existing Ace Data Cloud hosted MCP. diff --git a/third_party/gpt-image/LICENSE b/third_party/gpt-image/LICENSE new file mode 100644 index 000000000..64bb5cfce --- /dev/null +++ b/third_party/gpt-image/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Ace Data Cloud + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/gpt-image/README.md b/third_party/gpt-image/README.md new file mode 100644 index 000000000..c3e7f86d9 --- /dev/null +++ b/third_party/gpt-image/README.md @@ -0,0 +1,58 @@ +# GPT Image for Cursor + +Generate GPT Image pictures and retrieve the finished image. This standalone plugin reuses the [Ace Data Cloud openai MCP](https://github.com/AceDataCloud/MCPs/tree/main/openai) and includes a focused Agent skill. Available tools and limits come from the live MCP schema. + +[简体中文教程](readme/README_zh_Hans.md) · [Copyable first-run prompt](examples/first-run.md) · [Current pricing](https://platform.acedata.cloud/models) + +## 1. Search and install + +In Cursor 3.13 or later, open **Cursor Settings → Plugins**, search for **GPT Image**, confirm **Ace Data Cloud Dev** and the service logo, then click **Install**. You can also use `/add-plugin gpt-image` in chat. If the official listing is not live, review this source under `~/.cursor/plugins/local/gpt-image/`; local installation does not prove Marketplace publication. + +## 2. Get a service API key + +1. Sign in at [Ace Data Cloud Applications](https://platform.acedata.cloud/console/applications). +2. Open **General application** or a service-specific application. Copy an existing API key, or use **Manage Keys → Create** for a separate Cursor key. +3. Confirm GPT Image access, [current price](https://platform.acedata.cloud/models), and balance. If **Allowed APIs** restrictions are enabled, include /openai/images/generations, /openai/tasks. + +Use a service API key, not a platform management token. Do not put it in chat or source files. + +## 3. Configure the plugin + +Under **Dashboard → Plugins → Configure**, select **GPT Image** and set `ACEDATACLOUD_API_TOKEN` to the key string. Paste only the key; the plugin adds `Bearer `. Reconnect the MCP server if tools are missing. The hosted endpoint needs no local Python installation. + +```json +{ + "mcpServers": { + "openai": { + "type": "http", + "url": "https://openai.mcp.acedata.cloud/mcp", + "headers": { + "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}" + } + } + } +} +``` + +The shared openai MCP also offers other tools. Restrict the key to GPT Image APIs if this installation should be limited to GPT Image. + +## 4. Run the first example + +Open Cursor Agent and paste the [first-run prompt](examples/first-run.md). It asks for `openai_generate_image`, model `gpt-image-2` and size 1024x1024, quality low, n 1, async true. The sample prompt is `A single blue paper sphere on a cream background, studio photograph, no text.`. Verify live model access and price before running. + +Submit with `openai_generate_image` once. Save the returned `task_id` and use `openai_get_task` with that same ID until terminal. Pending is not a completed image; open the returned result URL on success. Never regenerate merely to poll. + +Open the returned image and inspect it. In **Ace Data Cloud → Usage/Billing**, match this call to its deducted Credits record. The plugin is free; API calls follow current service pricing. + +## Troubleshooting + +| Symptom | Action | +| --- | --- | +| Plugin or tools are missing | Check the GPT Image listing, configure the key, and reconnect MCP. | +| 401 or 403 | Check key validity, service access, balance, and Allowed APIs; do not include `Bearer ` in the configured value. | +| Invalid model or argument | Use the live tool schema and a model this account can access. | +| Pending task | Query the original task ID; do not regenerate to poll. | +| 429, timeout, or 5xx | Inspect the original task and usage history before another paid submission. | +| Result URL will not open | Confirm a terminal success and use the URL returned by that call. | + +[Source](https://github.com/AceDataCloud/GPTImageCursor) · [Report a problem](https://github.com/AceDataCloud/GPTImageCursor/issues) · dev@acedata.cloud. The logo reuses an existing Ace Data Cloud integration asset. This tool plugin does not register a Cursor chat-model provider. diff --git a/third_party/gpt-image/assets/logo.png b/third_party/gpt-image/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3e05d8c0ddfe460c9b15fdd0872ac55c797d1f79 GIT binary patch literal 16801 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 Use the openai MCP tool openai_generate_image for one image request. I checked the current Ace Data Cloud price and balance. Use model gpt-image-2 if this account offers it. Set size 1024x1024, quality low, n 1, async true. Set prompt to A single blue paper sphere on a cream background, studio photograph, no text.. Submit at most once, keep the task ID, query it using openai_get_task until terminal, and open the completed result. If pending, report the ID so I can resume without a second generation. diff --git a/third_party/gpt-image/mcp.json b/third_party/gpt-image/mcp.json new file mode 100644 index 000000000..0af9ae6cb --- /dev/null +++ b/third_party/gpt-image/mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "openai": { + "type": "http", + "url": "https://openai.mcp.acedata.cloud/mcp", + "headers": { + "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}" + } + } + } +} diff --git a/third_party/gpt-image/readme/README_zh_Hans.md b/third_party/gpt-image/readme/README_zh_Hans.md new file mode 100644 index 000000000..d85da3c66 --- /dev/null +++ b/third_party/gpt-image/readme/README_zh_Hans.md @@ -0,0 +1,44 @@ +# Cursor GPT Image 插件 + +Generate GPT Image pictures and retrieve the finished image. 插件复用 [Ace Data Cloud openai MCP](https://github.com/AceDataCloud/MCPs/tree/main/openai),并提供专用 Agent skill。实际工具参数和限制以在线 MCP schema 为准。 + +[English guide](../README.md) · [可复制的首跑提示词](../examples/first-run.md) · [当前价格](https://platform.acedata.cloud/models) + +## 1. 搜索安装 + +在 Cursor 3.13 或更新版本打开 **Cursor Settings → Plugins**,搜索 **GPT Image**,确认作者 **Ace Data Cloud Dev** 和服务图标后点击 **Install**。也可在聊天中输入 `/add-plugin gpt-image`。若官方条目尚未出现,可在 `~/.cursor/plugins/local/gpt-image/` 本地审查;本地安装不代表 Marketplace 已上架。 + +## 2. 获取服务 API Key + +1. 登录 [Ace Data Cloud 应用管理](https://platform.acedata.cloud/console/applications)。 +2. 打开 **General application** 或服务专用应用,复制已有 Key;也可通过 **Manage Keys → Create** 新建 Cursor 专用 Key。 +3. 确认 GPT Image 权限、[当前价格](https://platform.acedata.cloud/models)和余额。若启用了 **Allowed APIs**,允许 /openai/images/generations, /openai/tasks。 + +使用服务 API Key,不要用平台管理 token,也不要放在聊天或仓库文件中。 + +## 3. 配置插件 + +在 **Dashboard → Plugins → Configure** 选择 **GPT Image**,将 Key 原文填入 `ACEDATACLOUD_API_TOKEN`。插件会自行添加 `Bearer `,连接 `https://openai.mcp.acedata.cloud/mcp`;无需安装本地 Python 服务。工具未出现时重新连接 MCP。 + +The shared openai MCP also offers other tools. Restrict the key to GPT Image APIs if this installation should be limited to GPT Image. + +## 4. 首次调用 + +在 Cursor Agent 中复制[首跑提示词](../examples/first-run.md)。它使用 `openai_generate_image`,模型 `gpt-image-2`,参数为 size 1024x1024, quality low, n 1, async true,prompt 为 `A single blue paper sphere on a cream background, studio photograph, no text.`。执行前核对当前模型权限和价格;字段变化时以在线工具 schema 为准。 + +只用 `openai_generate_image` 提交一次,保存返回的 `task_id`,随后用同一 ID 调用 `openai_get_task` 直到终态。pending 不代表已完成;成功后打开结果地址。不要为轮询重新生成。 + +打开返回的image结果并检查。在 **Ace Data Cloud → Usage/Billing** 核对本次调用对应的 Credits 扣费;插件免费,API 按当前服务价格计费。 + +## 排障 + +| 现象 | 处理 | +| --- | --- | +| 找不到插件或工具 | 核对 GPT Image 条目、配置 Key 并重连 MCP。 | +| 401 或 403 | 检查 Key、服务权限、余额和 Allowed APIs;配置值不要带 `Bearer `。 | +| 模型或参数错误 | 以在线 MCP schema 和账户可用模型为准。 | +| 任务 pending | 沿原 task ID 查询,不要为轮询重新生成。 | +| 429、超时或 5xx | 先检查原任务和用量记录,再决定是否再次付费提交。 | +| 结果无法打开 | 确认终态成功,打开该次调用返回的地址。 | + +[源码](https://github.com/AceDataCloud/GPTImageCursor) · [问题反馈](https://github.com/AceDataCloud/GPTImageCursor/issues) · dev@acedata.cloud。图标复用 Ace Data Cloud 现有集成资源。本插件提供工具,不注册 Cursor 聊天模型 Provider。 diff --git a/third_party/gpt-image/skills/gpt-image/SKILL.md b/third_party/gpt-image/skills/gpt-image/SKILL.md new file mode 100644 index 000000000..2bf469190 --- /dev/null +++ b/third_party/gpt-image/skills/gpt-image/SKILL.md @@ -0,0 +1,14 @@ +--- +name: gpt-image +description: Use GPT Image through the Ace Data Cloud MCP server in Cursor. Use for GPT Image image work or an existing task query. +--- + +# GPT Image in Cursor + +This skill adapts the [existing Ace Data Cloud skill](https://github.com/AceDataCloud/Skills/tree/main/skills/gpt-image-2). The live MCP schema is the source of truth for arguments and models. + +1. Check [current price, balance, and service access](https://platform.acedata.cloud/models) before a paid call. +2. Submit with `openai_generate_image` once. Save the returned `task_id` and use `openai_get_task` with that same ID until terminal. Pending is not a completed image; open the returned result URL on success. Never regenerate merely to poll. +3. Return the result, task ID if present, and any service error. Keep the API token out of chat and files. + +Configure `ACEDATACLOUD_API_TOKEN` under **Dashboard → Plugins → Configure**. See the [first-run guide](../../README.md). From 005578918ed23adbb0e18aee80256dd64bed8056 Mon Sep 17 00:00:00 2001 From: Ace Data Cloud Dev Date: Sun, 11 Oct 2026 23:18:36 +0800 Subject: [PATCH 2/4] fix(gpt-image): declare API token variable --- third_party/gpt-image/.cursor-plugin/plugin.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/third_party/gpt-image/.cursor-plugin/plugin.json b/third_party/gpt-image/.cursor-plugin/plugin.json index 3b7873893..c508361bb 100644 --- a/third_party/gpt-image/.cursor-plugin/plugin.json +++ b/third_party/gpt-image/.cursor-plugin/plugin.json @@ -27,5 +27,18 @@ "image", "mcp" ], + "variables": { + "type": "object", + "properties": { + "ACEDATACLOUD_API_TOKEN": { + "type": "string", + "title": "Ace Data Cloud API token", + "description": "Service API key from https://platform.acedata.cloud/console/applications with GPT Image access." + } + }, + "required": [ + "ACEDATACLOUD_API_TOKEN" + ] + }, "mcpServers": "./mcp.json" } From 34a3c33e410151e9f40d41fb586905d106c4f48b Mon Sep 17 00:00:00 2001 From: Ace Data Cloud Dev Date: Mon, 12 Oct 2026 00:58:15 +0800 Subject: [PATCH 3/4] docs: match Cursor 3.24 plugin navigation --- third_party/gpt-image/README.md | 4 ++-- third_party/gpt-image/readme/README_zh_Hans.md | 4 ++-- third_party/gpt-image/skills/gpt-image/SKILL.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/third_party/gpt-image/README.md b/third_party/gpt-image/README.md index c3e7f86d9..6a46a1a05 100644 --- a/third_party/gpt-image/README.md +++ b/third_party/gpt-image/README.md @@ -6,7 +6,7 @@ Generate GPT Image pictures and retrieve the finished image. This standalone plu ## 1. Search and install -In Cursor 3.13 or later, open **Cursor Settings → Plugins**, search for **GPT Image**, confirm **Ace Data Cloud Dev** and the service logo, then click **Install**. You can also use `/add-plugin gpt-image` in chat. If the official listing is not live, review this source under `~/.cursor/plugins/local/gpt-image/`; local installation does not prove Marketplace publication. +In Cursor 3.24, open **Customize → Browse Marketplace**, search for **GPT Image**, confirm **Ace Data Cloud Dev** and the service logo, then click **Add**. Older releases may put Plugins under Settings. You can also use `/add-plugin gpt-image` in chat. If the official listing is not live, review this source under `~/.cursor/plugins/local/gpt-image/`; local installation does not prove Marketplace publication. ## 2. Get a service API key @@ -18,7 +18,7 @@ Use a service API key, not a platform management token. Do not put it in chat or ## 3. Configure the plugin -Under **Dashboard → Plugins → Configure**, select **GPT Image** and set `ACEDATACLOUD_API_TOKEN` to the key string. Paste only the key; the plugin adds `Bearer `. Reconnect the MCP server if tools are missing. The hosted endpoint needs no local Python installation. +Open **Customize → Plugins → GPT Image → Configure**, paste the key string into **Ace Data Cloud API token**, and click **Save**. Cursor uses it as `ACEDATACLOUD_API_TOKEN`; the plugin adds `Bearer `. Reconnect the MCP server if tools are missing. The hosted endpoint needs no local Python installation. ```json { diff --git a/third_party/gpt-image/readme/README_zh_Hans.md b/third_party/gpt-image/readme/README_zh_Hans.md index d85da3c66..0960f3481 100644 --- a/third_party/gpt-image/readme/README_zh_Hans.md +++ b/third_party/gpt-image/readme/README_zh_Hans.md @@ -6,7 +6,7 @@ Generate GPT Image pictures and retrieve the finished image. 插件复用 [Ace D ## 1. 搜索安装 -在 Cursor 3.13 或更新版本打开 **Cursor Settings → Plugins**,搜索 **GPT Image**,确认作者 **Ace Data Cloud Dev** 和服务图标后点击 **Install**。也可在聊天中输入 `/add-plugin gpt-image`。若官方条目尚未出现,可在 `~/.cursor/plugins/local/gpt-image/` 本地审查;本地安装不代表 Marketplace 已上架。 +在 Cursor 3.24 打开 **Customize → Browse Marketplace**,搜索 **GPT Image**,确认作者 **Ace Data Cloud Dev** 和服务图标后点击 **Add**。较早版本可能在 Settings 中提供 Plugins 入口。也可在聊天中输入 `/add-plugin gpt-image`。若官方条目尚未出现,可在 `~/.cursor/plugins/local/gpt-image/` 本地审查;本地安装不代表 Marketplace 已上架。 ## 2. 获取服务 API Key @@ -18,7 +18,7 @@ Generate GPT Image pictures and retrieve the finished image. 插件复用 [Ace D ## 3. 配置插件 -在 **Dashboard → Plugins → Configure** 选择 **GPT Image**,将 Key 原文填入 `ACEDATACLOUD_API_TOKEN`。插件会自行添加 `Bearer `,连接 `https://openai.mcp.acedata.cloud/mcp`;无需安装本地 Python 服务。工具未出现时重新连接 MCP。 +打开 **Customize → Plugins → GPT Image → Configure**,将 Key 原文填入 **Ace Data Cloud API token** 并点击 **Save**。Cursor 将其用于 `ACEDATACLOUD_API_TOKEN`;插件会自行添加 `Bearer `,连接 `https://openai.mcp.acedata.cloud/mcp`;无需安装本地 Python 服务。工具未出现时重新连接 MCP。 The shared openai MCP also offers other tools. Restrict the key to GPT Image APIs if this installation should be limited to GPT Image. diff --git a/third_party/gpt-image/skills/gpt-image/SKILL.md b/third_party/gpt-image/skills/gpt-image/SKILL.md index 2bf469190..fc7b96f6f 100644 --- a/third_party/gpt-image/skills/gpt-image/SKILL.md +++ b/third_party/gpt-image/skills/gpt-image/SKILL.md @@ -11,4 +11,4 @@ This skill adapts the [existing Ace Data Cloud skill](https://github.com/AceData 2. Submit with `openai_generate_image` once. Save the returned `task_id` and use `openai_get_task` with that same ID until terminal. Pending is not a completed image; open the returned result URL on success. Never regenerate merely to poll. 3. Return the result, task ID if present, and any service error. Keep the API token out of chat and files. -Configure `ACEDATACLOUD_API_TOKEN` under **Dashboard → Plugins → Configure**. See the [first-run guide](../../README.md). +Configure `ACEDATACLOUD_API_TOKEN` in **Customize → Plugins → GPT Image → Configure**. See the [first-run guide](../../README.md). From b663042dda990cadaf54163093eaac26873ea37d Mon Sep 17 00:00:00 2001 From: Ace Data Cloud Dev Date: Mon, 12 Oct 2026 05:26:25 +0000 Subject: [PATCH 4/4] docs: tag shared Cursor README activation links --- third_party/gpt-image/README.md | 6 +++--- third_party/gpt-image/readme/README_zh_Hans.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/third_party/gpt-image/README.md b/third_party/gpt-image/README.md index 6a46a1a05..7f4c375e7 100644 --- a/third_party/gpt-image/README.md +++ b/third_party/gpt-image/README.md @@ -2,7 +2,7 @@ Generate GPT Image pictures and retrieve the finished image. This standalone plugin reuses the [Ace Data Cloud openai MCP](https://github.com/AceDataCloud/MCPs/tree/main/openai) and includes a focused Agent skill. Available tools and limits come from the live MCP schema. -[简体中文教程](readme/README_zh_Hans.md) · [Copyable first-run prompt](examples/first-run.md) · [Current pricing](https://platform.acedata.cloud/models) +[简体中文教程](readme/README_zh_Hans.md) · [Copyable first-run prompt](examples/first-run.md) · [Current pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_pricing_en) ## 1. Search and install @@ -10,9 +10,9 @@ In Cursor 3.24, open **Customize → Browse Marketplace**, search for **GPT Imag ## 2. Get a service API key -1. Sign in at [Ace Data Cloud Applications](https://platform.acedata.cloud/console/applications). +1. Sign in at [Ace Data Cloud Applications](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_api_key_en). 2. Open **General application** or a service-specific application. Copy an existing API key, or use **Manage Keys → Create** for a separate Cursor key. -3. Confirm GPT Image access, [current price](https://platform.acedata.cloud/models), and balance. If **Allowed APIs** restrictions are enabled, include /openai/images/generations, /openai/tasks. +3. Confirm GPT Image access, [current price](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_pricing_en), and balance. If **Allowed APIs** restrictions are enabled, include /openai/images/generations, /openai/tasks. Use a service API key, not a platform management token. Do not put it in chat or source files. diff --git a/third_party/gpt-image/readme/README_zh_Hans.md b/third_party/gpt-image/readme/README_zh_Hans.md index 0960f3481..8cb19dade 100644 --- a/third_party/gpt-image/readme/README_zh_Hans.md +++ b/third_party/gpt-image/readme/README_zh_Hans.md @@ -2,7 +2,7 @@ Generate GPT Image pictures and retrieve the finished image. 插件复用 [Ace Data Cloud openai MCP](https://github.com/AceDataCloud/MCPs/tree/main/openai),并提供专用 Agent skill。实际工具参数和限制以在线 MCP schema 为准。 -[English guide](../README.md) · [可复制的首跑提示词](../examples/first-run.md) · [当前价格](https://platform.acedata.cloud/models) +[English guide](../README.md) · [可复制的首跑提示词](../examples/first-run.md) · [当前价格](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_pricing_zh_hans) ## 1. 搜索安装 @@ -10,9 +10,9 @@ Generate GPT Image pictures and retrieve the finished image. 插件复用 [Ace D ## 2. 获取服务 API Key -1. 登录 [Ace Data Cloud 应用管理](https://platform.acedata.cloud/console/applications)。 +1. 登录 [Ace Data Cloud 应用管理](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_api_key_zh_hans)。 2. 打开 **General application** 或服务专用应用,复制已有 Key;也可通过 **Manage Keys → Create** 新建 Cursor 专用 Key。 -3. 确认 GPT Image 权限、[当前价格](https://platform.acedata.cloud/models)和余额。若启用了 **Allowed APIs**,允许 /openai/images/generations, /openai/tasks。 +3. 确认 GPT Image 权限、[当前价格](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=gpt_image_cursor_shared_readme_pricing_zh_hans)和余额。若启用了 **Allowed APIs**,允许 /openai/images/generations, /openai/tasks。 使用服务 API Key,不要用平台管理 token,也不要放在聊天或仓库文件中。