Repository navigation
Add Seedance by Ace Data Cloud plugin #549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
acedatacloud-dev
wants to merge
6
commits into
cursor:main
Choose a base branch
from
AceDataCloud:codex/seedance-plugin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+381
−0
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
584aa45
feat(third_party): add Seedance plugin
acedatacloud-dev daa8ad3
fix(seedance): declare API token variable
acedatacloud-dev 34d4317
docs: match Cursor 3.24 plugin navigation
acedatacloud-dev 402619f
docs: tag shared Cursor README activation links
acedatacloud-dev 5256bbf
feat: improve service discovery and illustrated Cursor onboarding
acedatacloud-dev 38bbe7b
docs: make unpublished Cursor candidate review reproducible
acedatacloud-dev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| { | ||
| "name": "seedance", | ||
| "displayName": "Seedance by Ace Data Cloud", | ||
| "version": "1.0.1", | ||
| "minClientVersions": { | ||
| "cursor": "3.13.0" | ||
| }, | ||
| "description": "Generate Seedance text-to-video or image-to-video with Ace Data Cloud and retrieve completed videos by task ID.", | ||
| "author": { | ||
| "name": "Ace Data Cloud Dev", | ||
| "email": "[email protected]" | ||
| }, | ||
| "homepage": "https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_manifest_pricing", | ||
| "repository": "https://github.com/AceDataCloud/SeedanceCursor", | ||
| "license": "MIT", | ||
| "logo": "assets/logo.png", | ||
| "keywords": [ | ||
| "seedance", | ||
| "video generation", | ||
| "text to video", | ||
| "image to video", | ||
| "ace data cloud", | ||
| "acedatacloud", | ||
| "mcp" | ||
| ], | ||
| "category": "integrations", | ||
| "tags": [ | ||
| "seedance", | ||
| "video", | ||
| "acedatacloud" | ||
| ], | ||
| "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 Seedance access." | ||
| } | ||
| }, | ||
| "required": [ | ||
| "ACEDATACLOUD_API_TOKEN" | ||
| ] | ||
| }, | ||
| "mcpServers": "./mcp.json" | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| # Changelog | ||
|
|
||
| ## 1.0.1 | ||
|
|
||
| - Clarify the independent service name and Ace Data Cloud publisher relationship in discovery metadata. | ||
| - Add bilingual install/token/setup guidance and sourced credential/official UI reference images; preserve the hosted MCP and same-task workflow. | ||
|
|
||
| ## 1.0.0 | ||
|
|
||
| - Initial Seedance Cursor plugin using the existing Ace Data Cloud hosted MCP. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,88 @@ | ||
| # Seedance by Ace Data Cloud for Cursor | ||
|
|
||
| This independent **Seedance by Ace Data Cloud** integration brings text-to-video, image-to-video and task retrieval into Cursor Agent. It is maintained by Ace Data Cloud, not an official plugin from the model brand or Cursor. The hosted MCP connection avoids running a local server; your service API token is entered once in Configure. | ||
|
|
||
| Generate Seedance videos and retrieve the finished clip. This standalone plugin reuses the [Ace Data Cloud seedance MCP](https://github.com/AceDataCloud/MCPs/tree/main/seedance) 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?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_pricing_en) | ||
|
|
||
| ## 1. Find the independent Seedance plugin | ||
|
|
||
| Open the [Cursor Marketplace](https://cursor.com/marketplace) or **Customize** in Cursor. Search **Seedance** (seedance, video generation, text to video), then look for **Seedance by Ace Data Cloud** and publisher/author **Ace Data Cloud Dev**. Select **Install** and choose the project or user scope. Cursor 3.24 used **Customize → Browse Marketplace → Add**; use the controls in your installed version. Installing this plugin does not require an Ace collection plugin. | ||
|
|
||
| **Publication status:** [the official submission](https://github.com/cursor/plugins/pull/549) is pending review; an available source repository or a passing check does not prove a live Marketplace listing. If the exact listing is absent, do not install a similarly named unrelated plugin. An optional source/local review under `~/.cursor/plugins/local/seedance/` is a manual route, not official distribution. This is a tool integration, not an Ace preset in Cursor's chat-model provider list. | ||
|
|
||
| For an unpublished candidate, use the [pinned local-review procedure](docs/local-review.md) rather than guessing a Marketplace URL. It copies the tracked candidate files, checks for an existing installation, and records the exact commit. Local loading needs a reload and allowed local imports; an external-repository symlink is skipped, and a same-name Marketplace install takes precedence. This procedure does not claim official installation. | ||
|
|
||
| ## 2. Register or sign in and get a service API token | ||
|
|
||
| 1. [Open Ace Data Cloud](https://platform.acedata.cloud/?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_register_signin_en) and register or sign in. Then open [Applications](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_api_key_en). If no General application exists, select **Initialize General Application**. | ||
| 2. Open **General application** or an application enabled for **Seedance**. Confirm service access, balance and [current pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_pricing_en) before any generation. | ||
| 3. Copy an existing API Key with the copy button marked **1** below, or open **Manage Keys** marked **2**, then **Create** for a dedicated Cursor token. | ||
|
|
||
|  | ||
|
|
||
| 4. Name the optional key, for example **Cursor Seedance**. Set expiry and usage/API limits as needed; create it and copy the token. The screenshot's **Dify tutorial** name is a historical example only; use your Cursor-specific name. If Allowed APIs is enabled, allow the actions needed here: `/seedance/videos`, `/seedance/tasks`. | ||
|
|
||
|  | ||
|
|
||
| These are real Ace Applications screenshots reused from the [Suno Dify tutorial](https://github.com/AceDataCloud/SunoDify/blob/8d3d03570e73324220f111f7fe343da0792a8071/README.md), checked on **2026-10-18**; original capture date is not recorded. Key, application ID and balance are obscured. They show Ace credential management, not a Dify step required for Cursor. | ||
|
|
||
| Copy only the service token string: no `Bearer ` prefix, quotation marks or redacted screenshot characters. This is not a platform management token. Never put a token in prompts, source, screenshots or exported examples. | ||
|
|
||
| ## 3. Paste the token in Cursor Configure | ||
|
|
||
| Open **Customize → Plugins → Seedance by Ace Data Cloud → Configure** (older versions may show **Seedance**). Paste the token in **Ace Data Cloud API token**, choose **Save**, wait for completion, then reopen Configure to confirm a masked value. Cursor substitutes `ACEDATACLOUD_API_TOKEN`; the plugin adds `Bearer ` and connects to its hosted HTTP MCP. No Python or Node server needs to be started. Reconnect if tools have not loaded. | ||
|
|
||
| The Configure path and variable behavior follow the [official Cursor plugin reference](https://cursor.com/docs/reference/plugins#variables), checked **2026-10-18**. A current Ace-specific Configure screenshot is still pending; the official screenshots below illustrate the subsequent tool approval/result UI, not this token field. | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "seedance": { | ||
| "type": "http", | ||
| "url": "https://seedance.mcp.acedata.cloud/mcp", | ||
| "headers": { | ||
| "Authorization": "Bearer ${ACEDATACLOUD_API_TOKEN}" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## 4. Run the first example | ||
|
|
||
| Open Cursor Agent and paste the [first-run prompt](examples/first-run.md). It asks for `seedance_generate_video`, model `doubao-seedance-2-0-mini-260615` and duration 4 seconds, resolution 480p, ratio 16:9, generate_audio false. The sample prompt is `A teal paper cube slowly rotates on a cream studio background. Static camera, no text.`. Verify live model access and price before running. | ||
|
|
||
| Submit with `seedance_generate_video` once. Save the returned `task_id` and use `seedance_get_task` with that same ID until terminal. Pending is not a completed video; open the returned result URL on success. Never regenerate merely to poll. | ||
|
|
||
| Open the returned video 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. | ||
|
|
||
| ## 5. Confirm one tool call and inspect the result | ||
|
|
||
| For a free first connection check, open Agent and ask **“List this plugin's tools without generating anything.”** Then use `seedance_list_models` to inspect available models. Confirm model access and current price before explicitly approving a new generation. Keep generation retries off; if a request times out, inspect the existing task and usage before deciding whether to pay again. | ||
|
|
||
| The following are **unaltered official Cursor screenshots**, downloaded/checked **2026-10-17**. The original example queries PostgreSQL, not Ace; the official page does not state its client version or capture date. They illustrate where to inspect the tool name/arguments and click **Run tool**, then inspect a returned result. They do not prove this plugin has been installed or run. | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
| After an approved generation, query `seedance_get_task` with **`task_id` set to the original task ID**. For example: “Only call `seedance_get_task` with `task_id=<my_task_id>`; do not generate again.” Check completion and open your actual returned media URL. An accepted/pending task, a green tool indicator or an example link is not a finished, playable result. Check the corresponding single generation record in Ace Usage/Billing; Cursor/model auxiliary charges are separate. | ||
|
|
||
| Screenshot sources, checksums and reuse boundaries: [image provenance](assets/tutorial/SOURCES.json). | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| | Symptom | Action | | ||
| | --- | --- | | ||
| | Plugin or tools are missing | Check the Seedance 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/SeedanceCursor) · [Report a problem](https://github.com/AceDataCloud/SeedanceCursor/issues) · [email protected]. The logo reuses an existing Ace Data Cloud integration asset. This tool plugin does not register a Cursor chat-model provider. | ||
|
|
||
| [Register / sign in](https://platform.acedata.cloud/?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_register_signin_en) · [Applications / API token](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_api_key_en) · [Current Seedance pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=seedance_cursor_shared_readme_pricing_en) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| { | ||
| "service": "Seedance", | ||
| "sources": [ | ||
| { | ||
| "file": "get-api-key-en.png", | ||
| "type": "real_ace_console_screenshot", | ||
| "source_url": "https://raw.githubusercontent.com/AceDataCloud/SunoDify/8d3d03570e73324220f111f7fe343da0792a8071/_assets/tutorial/get-api-key-en.png", | ||
| "official_page_url": "https://github.com/AceDataCloud/SunoDify/blob/8d3d03570e73324220f111f7fe343da0792a8071/README.md", | ||
| "checked_at": "2026-10-18", | ||
| "original_capture_date": "not recorded", | ||
| "edit_date": null, | ||
| "limits": "Original token/ID/balance obscured; Dify tutorial key name is an example, use Cursor-specific name.", | ||
| "sha256": "b63787f2bd15af82fef9ab61c99e11c454355ac86e91f7f94559386b795069b7" | ||
| }, | ||
| { | ||
| "file": "create-api-key-en.png", | ||
| "type": "real_ace_console_screenshot", | ||
| "source_url": "https://raw.githubusercontent.com/AceDataCloud/SunoDify/8d3d03570e73324220f111f7fe343da0792a8071/_assets/tutorial/create-api-key-en.png", | ||
| "official_page_url": "https://github.com/AceDataCloud/SunoDify/blob/8d3d03570e73324220f111f7fe343da0792a8071/README.md", | ||
| "checked_at": "2026-10-18", | ||
| "original_capture_date": "not recorded", | ||
| "edit_date": null, | ||
| "limits": "Original token/ID/balance obscured; Dify tutorial key name is an example, use Cursor-specific name.", | ||
| "sha256": "5411ffe75d8a8efa6806a78fc68fce6a20735225d8e9818c94bbc238da4f4590" | ||
| }, | ||
| { | ||
| "file": "tool-confirm.png", | ||
| "type": "official_screenshot", | ||
| "source_url": "https://cursor.com/docs-static/images/context/mcp/tool-confirm.png", | ||
| "official_page_url": "https://cursor.com/docs/mcp", | ||
| "checked_at": "2026-10-18", | ||
| "original_capture_date": "not recorded", | ||
| "edit_date": null, | ||
| "limits": "PostgreSQL official reference, not Ace execution.", | ||
| "sha256": "0404c2a6e15a83817cf7dd08b177097c835316345e4af629e411ecc369ec7f09" | ||
| }, | ||
| { | ||
| "file": "tool-call.png", | ||
| "type": "official_screenshot", | ||
| "source_url": "https://cursor.com/docs-static/images/context/mcp/tool-call.png", | ||
| "official_page_url": "https://cursor.com/docs/mcp", | ||
| "checked_at": "2026-10-18", | ||
| "original_capture_date": "not recorded", | ||
| "edit_date": null, | ||
| "limits": "PostgreSQL official reference, not Ace execution.", | ||
| "sha256": "af88bda0de0929b73a955883b0b79ee394ee2f94d96e18329b0fa6db636529e7" | ||
| } | ||
| ], | ||
| "credential_values_present": false, | ||
| "current_configure_screenshot": "pending native UI capture, not substituted with a fake screenshot" | ||
| } |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.