suno-cli 2026.3.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- suno_cli-2026.3.17.0/.env.example +5 -0
- suno_cli-2026.3.17.0/.gitignore +32 -0
- suno_cli-2026.3.17.0/CHANGELOG.md +16 -0
- suno_cli-2026.3.17.0/LICENSE +21 -0
- suno_cli-2026.3.17.0/PKG-INFO +374 -0
- suno_cli-2026.3.17.0/README.md +327 -0
- suno_cli-2026.3.17.0/commands/__init__.py +0 -0
- suno_cli-2026.3.17.0/commands/generate.py +303 -0
- suno_cli-2026.3.17.0/commands/info.py +106 -0
- suno_cli-2026.3.17.0/commands/lyrics.py +113 -0
- suno_cli-2026.3.17.0/commands/media.py +128 -0
- suno_cli-2026.3.17.0/commands/persona.py +77 -0
- suno_cli-2026.3.17.0/commands/task.py +130 -0
- suno_cli-2026.3.17.0/core/__init__.py +0 -0
- suno_cli-2026.3.17.0/core/client.py +143 -0
- suno_cli-2026.3.17.0/core/config.py +48 -0
- suno_cli-2026.3.17.0/core/exceptions.py +32 -0
- suno_cli-2026.3.17.0/core/output.py +160 -0
- suno_cli-2026.3.17.0/main.py +99 -0
- suno_cli-2026.3.17.0/pyproject.toml +122 -0
- suno_cli-2026.3.17.0/tests/__init__.py +0 -0
- suno_cli-2026.3.17.0/tests/conftest.py +145 -0
- suno_cli-2026.3.17.0/tests/test_client.py +162 -0
- suno_cli-2026.3.17.0/tests/test_commands.py +423 -0
- suno_cli-2026.3.17.0/tests/test_config.py +68 -0
- suno_cli-2026.3.17.0/tests/test_integration.py +90 -0
- suno_cli-2026.3.17.0/tests/test_output.py +116 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# Distribution / packaging
|
|
7
|
+
dist/
|
|
8
|
+
build/
|
|
9
|
+
*.egg-info/
|
|
10
|
+
*.egg
|
|
11
|
+
|
|
12
|
+
# Virtual environments
|
|
13
|
+
.venv/
|
|
14
|
+
venv/
|
|
15
|
+
ENV/
|
|
16
|
+
|
|
17
|
+
# Environment variables
|
|
18
|
+
.env
|
|
19
|
+
|
|
20
|
+
# IDE
|
|
21
|
+
.vscode/
|
|
22
|
+
.idea/
|
|
23
|
+
*.swp
|
|
24
|
+
*.swo
|
|
25
|
+
|
|
26
|
+
# Testing
|
|
27
|
+
.coverage
|
|
28
|
+
htmlcov/
|
|
29
|
+
.pytest_cache/
|
|
30
|
+
|
|
31
|
+
# mypy
|
|
32
|
+
.mypy_cache/
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2026.3.17.0] - 2026-03-17
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Initial release
|
|
7
|
+
- Music generation: generate, custom, extend, cover, remaster, concat
|
|
8
|
+
- Lyrics: generate, mashup, optimize-style
|
|
9
|
+
- Media conversion: mp4, wav, midi, timing, vocals
|
|
10
|
+
- Task management: task, tasks, wait (with polling)
|
|
11
|
+
- Persona management and audio upload
|
|
12
|
+
- Info commands: models, actions, lyric-format, config
|
|
13
|
+
- Rich terminal output with tables and panels
|
|
14
|
+
- JSON output mode (`--json` flag)
|
|
15
|
+
- File-based lyrics input (`@lyrics.txt` syntax)
|
|
16
|
+
- Environment variable and `--token` flag authentication
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AceDataCloud
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: suno-cli
|
|
3
|
+
Version: 2026.3.17.0
|
|
4
|
+
Summary: CLI tool for Suno AI Music Generation via AceDataCloud API
|
|
5
|
+
Project-URL: Homepage, https://github.com/AceDataCloud/SunoCli
|
|
6
|
+
Project-URL: Documentation, https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9
|
|
7
|
+
Project-URL: Repository, https://github.com/AceDataCloud/SunoCli
|
|
8
|
+
Project-URL: Issues, https://github.com/AceDataCloud/SunoCli/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/AceDataCloud/SunoCli/blob/main/CHANGELOG.md
|
|
10
|
+
Author-email: AceDataCloud <support@acedata.cloud>
|
|
11
|
+
Maintainer-email: AceDataCloud <support@acedata.cloud>
|
|
12
|
+
License: MIT
|
|
13
|
+
License-File: LICENSE
|
|
14
|
+
Keywords: acedata,ai,audio,cli,command-line,generation,music,suno
|
|
15
|
+
Classifier: Development Status :: 4 - Beta
|
|
16
|
+
Classifier: Environment :: Console
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Requires-Dist: click>=8.1.0
|
|
28
|
+
Requires-Dist: httpx>=0.27.0
|
|
29
|
+
Requires-Dist: pydantic>=2.0.0
|
|
30
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
31
|
+
Requires-Dist: rich>=13.0.0
|
|
32
|
+
Provides-Extra: all
|
|
33
|
+
Requires-Dist: suno-cli[dev,release,test]; extra == 'all'
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: mypy>=1.10.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: ruff>=0.4.0; extra == 'dev'
|
|
38
|
+
Provides-Extra: release
|
|
39
|
+
Requires-Dist: build>=1.2.0; extra == 'release'
|
|
40
|
+
Requires-Dist: twine>=6.1.0; extra == 'release'
|
|
41
|
+
Provides-Extra: test
|
|
42
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'test'
|
|
43
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == 'test'
|
|
44
|
+
Requires-Dist: pytest>=8.0.0; extra == 'test'
|
|
45
|
+
Requires-Dist: respx>=0.21.0; extra == 'test'
|
|
46
|
+
Description-Content-Type: text/markdown
|
|
47
|
+
|
|
48
|
+
# Suno CLI
|
|
49
|
+
|
|
50
|
+
[](https://pypi.org/project/suno-cli/)
|
|
51
|
+
[](https://pypi.org/project/suno-cli/)
|
|
52
|
+
[](https://www.python.org/downloads/)
|
|
53
|
+
[](https://opensource.org/licenses/MIT)
|
|
54
|
+
[](https://github.com/AceDataCloud/SunoCli/actions/workflows/ci.yaml)
|
|
55
|
+
|
|
56
|
+
A command-line tool for AI music generation using [Suno](https://suno.ai/) through the [AceDataCloud API](https://platform.acedata.cloud/).
|
|
57
|
+
|
|
58
|
+
Generate AI music, lyrics, and manage audio projects directly from your terminal — no MCP client required.
|
|
59
|
+
|
|
60
|
+
## Features
|
|
61
|
+
|
|
62
|
+
- **Music Generation** — Generate from prompts, custom lyrics, extend, cover, remaster, concat
|
|
63
|
+
- **Lyrics** — Generate lyrics, mashup, optimize style descriptions
|
|
64
|
+
- **Media Conversion** — Get MP4, WAV, MIDI, timing, extract vocals
|
|
65
|
+
- **Task Management** — Query tasks, batch query, wait with polling
|
|
66
|
+
- **Rich Output** — Beautiful terminal tables and panels via Rich
|
|
67
|
+
- **JSON Mode** — Machine-readable output with `--json` for piping
|
|
68
|
+
- **File Input** — Read lyrics from files with `@filename` syntax
|
|
69
|
+
|
|
70
|
+
## Quick Start
|
|
71
|
+
|
|
72
|
+
### 1. Get API Token
|
|
73
|
+
|
|
74
|
+
Get your API token from [AceDataCloud Platform](https://platform.acedata.cloud/):
|
|
75
|
+
|
|
76
|
+
1. Sign up or log in
|
|
77
|
+
2. Navigate to [Suno Audios API](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9)
|
|
78
|
+
3. Click "Acquire" to get your token
|
|
79
|
+
|
|
80
|
+
### 2. Install
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Install with pip
|
|
84
|
+
pip install suno-cli
|
|
85
|
+
|
|
86
|
+
# Or with uv (recommended)
|
|
87
|
+
uv pip install suno-cli
|
|
88
|
+
|
|
89
|
+
# Or from source
|
|
90
|
+
git clone https://github.com/AceDataCloud/SunoCli.git
|
|
91
|
+
cd SunoCli
|
|
92
|
+
pip install -e .
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 3. Configure
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Set your API token
|
|
99
|
+
export ACEDATACLOUD_API_TOKEN=your_token_here
|
|
100
|
+
|
|
101
|
+
# Or use .env file
|
|
102
|
+
cp .env.example .env
|
|
103
|
+
# Edit .env with your token
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### 4. Use
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Generate music from a prompt
|
|
110
|
+
suno generate "A happy birthday song with acoustic guitar"
|
|
111
|
+
|
|
112
|
+
# Generate with custom lyrics
|
|
113
|
+
suno custom -l "[Verse]\nHello world\n[Chorus]\nLa la la" -t "Hello" -s "pop, upbeat"
|
|
114
|
+
|
|
115
|
+
# Read lyrics from a file
|
|
116
|
+
suno custom -l @lyrics.txt -t "My Song" -s "rock, powerful"
|
|
117
|
+
|
|
118
|
+
# Generate lyrics
|
|
119
|
+
suno lyrics "A love song about the ocean at sunset"
|
|
120
|
+
|
|
121
|
+
# Check task status
|
|
122
|
+
suno task <task-id>
|
|
123
|
+
|
|
124
|
+
# Wait for completion with polling
|
|
125
|
+
suno wait <task-id> --interval 5
|
|
126
|
+
|
|
127
|
+
# Get MP4 video
|
|
128
|
+
suno mp4 <audio-id>
|
|
129
|
+
|
|
130
|
+
# List available models
|
|
131
|
+
suno models
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Commands
|
|
135
|
+
|
|
136
|
+
### Music Generation
|
|
137
|
+
|
|
138
|
+
| Command | Description |
|
|
139
|
+
|---------|-------------|
|
|
140
|
+
| `suno generate <prompt>` | Generate music from a text prompt (Inspiration Mode) |
|
|
141
|
+
| `suno custom` | Generate with custom lyrics, title, and style |
|
|
142
|
+
| `suno extend <audio_id>` | Extend an existing song from a timestamp |
|
|
143
|
+
| `suno cover <audio_id>` | Create a cover/remix version |
|
|
144
|
+
| `suno remaster <audio_id>` | Remaster a song to improve quality |
|
|
145
|
+
| `suno concat <audio_id>` | Merge extended segments into complete audio |
|
|
146
|
+
|
|
147
|
+
### Lyrics
|
|
148
|
+
|
|
149
|
+
| Command | Description |
|
|
150
|
+
|---------|-------------|
|
|
151
|
+
| `suno lyrics <prompt>` | Generate song lyrics from a prompt |
|
|
152
|
+
| `suno mashup-lyrics` | Generate mashup lyrics from two sources |
|
|
153
|
+
| `suno optimize-style <prompt>` | Optimize a style description |
|
|
154
|
+
|
|
155
|
+
### Media Conversion
|
|
156
|
+
|
|
157
|
+
| Command | Description |
|
|
158
|
+
|---------|-------------|
|
|
159
|
+
| `suno mp4 <audio_id>` | Get MP4 video version |
|
|
160
|
+
| `suno wav <audio_id>` | Get lossless WAV format |
|
|
161
|
+
| `suno midi <audio_id>` | Get MIDI data |
|
|
162
|
+
| `suno timing <audio_id>` | Get timing/subtitle data |
|
|
163
|
+
| `suno vocals <audio_id>` | Extract vocal track |
|
|
164
|
+
|
|
165
|
+
### Task Management
|
|
166
|
+
|
|
167
|
+
| Command | Description |
|
|
168
|
+
|---------|-------------|
|
|
169
|
+
| `suno task <task_id>` | Query a single task status |
|
|
170
|
+
| `suno tasks <id1> <id2>...` | Query multiple tasks at once |
|
|
171
|
+
| `suno wait <task_id>` | Wait for task completion with polling |
|
|
172
|
+
|
|
173
|
+
### Utilities
|
|
174
|
+
|
|
175
|
+
| Command | Description |
|
|
176
|
+
|---------|-------------|
|
|
177
|
+
| `suno persona <audio_id>` | Create a saved voice style |
|
|
178
|
+
| `suno upload <audio_url>` | Upload external audio for processing |
|
|
179
|
+
| `suno models` | List available Suno models |
|
|
180
|
+
| `suno actions` | List available API actions |
|
|
181
|
+
| `suno lyric-format` | Show lyrics formatting guide |
|
|
182
|
+
| `suno config` | Show current configuration |
|
|
183
|
+
|
|
184
|
+
## Global Options
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
--token TEXT API token (or set ACEDATACLOUD_API_TOKEN env var)
|
|
188
|
+
--version Show version
|
|
189
|
+
--help Show help message
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Most commands support:
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
--json Output raw JSON (for piping/scripting)
|
|
196
|
+
--model TEXT Suno model version (default: chirp-v4-5)
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
## Scripting & Piping
|
|
200
|
+
|
|
201
|
+
The `--json` flag outputs machine-readable JSON suitable for piping:
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
# Generate and extract task ID
|
|
205
|
+
TASK_ID=$(suno generate "rock song" --json | jq -r '.task_id')
|
|
206
|
+
|
|
207
|
+
# Wait for completion and get audio URL
|
|
208
|
+
suno wait $TASK_ID --json | jq -r '.data[0].audio_url'
|
|
209
|
+
|
|
210
|
+
# Batch generate from a file of prompts
|
|
211
|
+
while IFS= read -r prompt; do
|
|
212
|
+
suno generate "$prompt" --json >> results.jsonl
|
|
213
|
+
done < prompts.txt
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## Available Models
|
|
217
|
+
|
|
218
|
+
| Model | Version | Max Duration | Notes |
|
|
219
|
+
|-------|---------|-------------|-------|
|
|
220
|
+
| `chirp-v5` | V5 | 8 min | Latest, best quality |
|
|
221
|
+
| `chirp-v4-5-plus` | V4.5+ | 8 min | Enhanced quality |
|
|
222
|
+
| `chirp-v4-5` | V4.5 | 4 min | Vocal gender control (default) |
|
|
223
|
+
| `chirp-v4` | V4 | 150s | Stable |
|
|
224
|
+
| `chirp-v3-5` | V3.5 | 120s | Fast |
|
|
225
|
+
| `chirp-v3-0` | V3 | 120s | Legacy |
|
|
226
|
+
|
|
227
|
+
## Configuration
|
|
228
|
+
|
|
229
|
+
### Environment Variables
|
|
230
|
+
|
|
231
|
+
| Variable | Description | Default |
|
|
232
|
+
|----------|-------------|---------|
|
|
233
|
+
| `ACEDATACLOUD_API_TOKEN` | API token from AceDataCloud | *Required* |
|
|
234
|
+
| `ACEDATACLOUD_API_BASE_URL` | API base URL | `https://api.acedata.cloud` |
|
|
235
|
+
| `SUNO_DEFAULT_MODEL` | Default model | `chirp-v4-5` |
|
|
236
|
+
| `SUNO_REQUEST_TIMEOUT` | Timeout in seconds | `1800` |
|
|
237
|
+
|
|
238
|
+
## Development
|
|
239
|
+
|
|
240
|
+
### Setup Development Environment
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# Clone repository
|
|
244
|
+
git clone https://github.com/AceDataCloud/SunoCli.git
|
|
245
|
+
cd SunoCli
|
|
246
|
+
|
|
247
|
+
# Create virtual environment
|
|
248
|
+
python -m venv .venv
|
|
249
|
+
source .venv/bin/activate # or `.venv\Scripts\activate` on Windows
|
|
250
|
+
|
|
251
|
+
# Install with dev dependencies
|
|
252
|
+
pip install -e ".[dev,test]"
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Run Tests
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Run unit tests
|
|
259
|
+
pytest
|
|
260
|
+
|
|
261
|
+
# Run with coverage
|
|
262
|
+
pytest --cov=core --cov=commands
|
|
263
|
+
|
|
264
|
+
# Run integration tests (requires API token)
|
|
265
|
+
pytest tests/test_integration.py -m integration
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Code Quality
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
# Format code
|
|
272
|
+
ruff format .
|
|
273
|
+
|
|
274
|
+
# Lint code
|
|
275
|
+
ruff check .
|
|
276
|
+
|
|
277
|
+
# Type check
|
|
278
|
+
mypy core commands
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Build & Publish
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
# Install build dependencies
|
|
285
|
+
pip install -e ".[release]"
|
|
286
|
+
|
|
287
|
+
# Build package
|
|
288
|
+
python -m build
|
|
289
|
+
|
|
290
|
+
# Upload to PyPI
|
|
291
|
+
twine upload dist/*
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Docker
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
# Pull the image
|
|
298
|
+
docker pull ghcr.io/acedatacloud/suno-cli:latest
|
|
299
|
+
|
|
300
|
+
# Run a command
|
|
301
|
+
docker run --rm -e ACEDATACLOUD_API_TOKEN=your_token \
|
|
302
|
+
ghcr.io/acedatacloud/suno-cli generate "A happy song"
|
|
303
|
+
|
|
304
|
+
# Or use docker-compose
|
|
305
|
+
docker compose run --rm suno-cli generate "A happy song"
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## Project Structure
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
SunoCli/
|
|
312
|
+
├── core/ # Core modules
|
|
313
|
+
│ ├── client.py # HTTP client for Suno API
|
|
314
|
+
│ ├── config.py # Configuration management
|
|
315
|
+
│ ├── exceptions.py # Custom exceptions
|
|
316
|
+
│ └── output.py # Rich terminal formatting
|
|
317
|
+
├── commands/ # CLI command groups
|
|
318
|
+
│ ├── generate.py # Music generation commands
|
|
319
|
+
│ ├── lyrics.py # Lyrics commands
|
|
320
|
+
│ ├── media.py # Media conversion commands
|
|
321
|
+
│ ├── persona.py # Persona & upload commands
|
|
322
|
+
│ ├── task.py # Task management commands
|
|
323
|
+
│ └── info.py # Info & utility commands
|
|
324
|
+
├── tests/ # Test suite
|
|
325
|
+
├── .env.example # Environment template
|
|
326
|
+
├── main.py # CLI entry point
|
|
327
|
+
├── pyproject.toml # Project configuration
|
|
328
|
+
└── README.md
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
## Suno CLI vs MCP Suno
|
|
332
|
+
|
|
333
|
+
| Feature | Suno CLI | MCP Suno |
|
|
334
|
+
|---------|----------|----------|
|
|
335
|
+
| Interface | Terminal commands | MCP protocol |
|
|
336
|
+
| Usage | Direct shell, scripts, CI/CD | Claude, VS Code, MCP clients |
|
|
337
|
+
| Output | Rich tables / JSON | Structured MCP responses |
|
|
338
|
+
| Automation | Shell scripts, piping | AI agent workflows |
|
|
339
|
+
| Install | `pip install suno-cli` | `pip install mcp-suno` |
|
|
340
|
+
|
|
341
|
+
Both tools use the same AceDataCloud API and share the same API token.
|
|
342
|
+
|
|
343
|
+
## API Reference
|
|
344
|
+
|
|
345
|
+
This tool wraps the [AceDataCloud Suno API](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9):
|
|
346
|
+
|
|
347
|
+
- [Suno Audios API](https://platform.acedata.cloud/documents/4da95d9d-7722-4a72-857d-bf6be86036e9) — Music generation
|
|
348
|
+
- [Suno Lyrics API](https://platform.acedata.cloud/documents/514d82dc-f7ab-4638-9f21-8b9275916b08) — Lyrics generation
|
|
349
|
+
- [Suno Tasks API](https://platform.acedata.cloud/documents/b0dd9823-0e01-4c75-af83-5a6e2e05bfed) — Task queries
|
|
350
|
+
- [Suno Persona API](https://platform.acedata.cloud/documents/78bb6c62-6ce0-490f-a7df-e89d80ec0583) — Persona management
|
|
351
|
+
|
|
352
|
+
## Contributing
|
|
353
|
+
|
|
354
|
+
Contributions are welcome! Please:
|
|
355
|
+
|
|
356
|
+
1. Fork the repository
|
|
357
|
+
2. Create a feature branch (`git checkout -b feature/amazing`)
|
|
358
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
359
|
+
4. Push to the branch (`git push origin feature/amazing`)
|
|
360
|
+
5. Open a Pull Request
|
|
361
|
+
|
|
362
|
+
## License
|
|
363
|
+
|
|
364
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
365
|
+
|
|
366
|
+
## Links
|
|
367
|
+
|
|
368
|
+
- [AceDataCloud Platform](https://platform.acedata.cloud/)
|
|
369
|
+
- [MCP Suno](https://github.com/AceDataCloud/MCPSuno) — MCP server version
|
|
370
|
+
- [Suno Official](https://suno.ai/)
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
Made with ❤️ by [AceDataCloud](https://platform.acedata.cloud/)
|