producer-cli 2026.10.12.2__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.
- producer_cli-2026.10.12.2/.env.example +5 -0
- producer_cli-2026.10.12.2/CHANGELOG.md +24 -0
- producer_cli-2026.10.12.2/LICENSE +21 -0
- producer_cli-2026.10.12.2/PKG-INFO +142 -0
- producer_cli-2026.10.12.2/README.md +96 -0
- producer_cli-2026.10.12.2/producer_cli/__init__.py +1 -0
- producer_cli-2026.10.12.2/producer_cli/__main__.py +5 -0
- producer_cli-2026.10.12.2/producer_cli/commands/__init__.py +1 -0
- producer_cli-2026.10.12.2/producer_cli/commands/audio.py +597 -0
- producer_cli-2026.10.12.2/producer_cli/commands/info.py +58 -0
- producer_cli-2026.10.12.2/producer_cli/commands/lyrics.py +38 -0
- producer_cli-2026.10.12.2/producer_cli/commands/media.py +101 -0
- producer_cli-2026.10.12.2/producer_cli/commands/task.py +142 -0
- producer_cli-2026.10.12.2/producer_cli/core/__init__.py +1 -0
- producer_cli-2026.10.12.2/producer_cli/core/client.py +123 -0
- producer_cli-2026.10.12.2/producer_cli/core/config.py +42 -0
- producer_cli-2026.10.12.2/producer_cli/core/exceptions.py +37 -0
- producer_cli-2026.10.12.2/producer_cli/core/output.py +224 -0
- producer_cli-2026.10.12.2/producer_cli/main.py +99 -0
- producer_cli-2026.10.12.2/pyproject.toml +119 -0
- producer_cli-2026.10.12.2/tests/__init__.py +0 -0
- producer_cli-2026.10.12.2/tests/conftest.py +102 -0
- producer_cli-2026.10.12.2/tests/test_client.py +164 -0
- producer_cli-2026.10.12.2/tests/test_commands.py +426 -0
- producer_cli-2026.10.12.2/tests/test_config.py +56 -0
- producer_cli-2026.10.12.2/tests/test_integration.py +37 -0
- producer_cli-2026.10.12.2/tests/test_output.py +179 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Calendar Versioning](https://calver.org/) (YYYY.MM.DD.BUILD).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-07-24
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Initial release
|
|
12
|
+
- Music generation from text prompts
|
|
13
|
+
- Cover, extend, and variation of existing tracks
|
|
14
|
+
- Vocal and instrumental swap
|
|
15
|
+
- Section replacement
|
|
16
|
+
- Stem extraction
|
|
17
|
+
- Lyrics generation
|
|
18
|
+
- Audio upload from URL
|
|
19
|
+
- Video generation from audio
|
|
20
|
+
- WAV conversion
|
|
21
|
+
- Task management with polling
|
|
22
|
+
- Rich terminal output with tables and panels
|
|
23
|
+
- JSON output mode (`--json` flag)
|
|
24
|
+
- Multiple model support (FUZZ-2.0 Pro, FUZZ-2.0, FUZZ-2.0 Raw, etc.)
|
|
@@ -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,142 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: producer-cli
|
|
3
|
+
Version: 2026.10.12.2
|
|
4
|
+
Summary: CLI tool for Producer AI Music Generation via AceDataCloud API
|
|
5
|
+
Project-URL: Homepage, https://github.com/AceDataCloud/ProducerCli
|
|
6
|
+
Project-URL: Repository, https://github.com/AceDataCloud/ProducerCli
|
|
7
|
+
Project-URL: Issues, https://github.com/AceDataCloud/ProducerCli/issues
|
|
8
|
+
Project-URL: Changelog, https://github.com/AceDataCloud/ProducerCli/blob/main/CHANGELOG.md
|
|
9
|
+
Author-email: AceDataCloud <support@acedata.cloud>
|
|
10
|
+
Maintainer-email: AceDataCloud <support@acedata.cloud>
|
|
11
|
+
License: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: acedata,ai,audio,cli,command-line,generation,music,producer
|
|
14
|
+
Classifier: Development Status :: 4 - Beta
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
+
Classifier: Operating System :: OS Independent
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Topic :: Multimedia :: Sound/Audio
|
|
24
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
25
|
+
Requires-Python: >=3.10
|
|
26
|
+
Requires-Dist: click>=8.1.0
|
|
27
|
+
Requires-Dist: httpx>=0.27.0
|
|
28
|
+
Requires-Dist: pydantic>=2.0.0
|
|
29
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
30
|
+
Requires-Dist: rich>=13.0.0
|
|
31
|
+
Provides-Extra: all
|
|
32
|
+
Requires-Dist: producer-cli[dev,release,test]; extra == 'all'
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: mypy>=1.10.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: ruff>=0.4.0; extra == 'dev'
|
|
37
|
+
Provides-Extra: release
|
|
38
|
+
Requires-Dist: build>=1.2.0; extra == 'release'
|
|
39
|
+
Requires-Dist: twine>=6.1.0; extra == 'release'
|
|
40
|
+
Provides-Extra: test
|
|
41
|
+
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'test'
|
|
42
|
+
Requires-Dist: pytest-cov>=5.0.0; extra == 'test'
|
|
43
|
+
Requires-Dist: pytest>=8.0.0; extra == 'test'
|
|
44
|
+
Requires-Dist: respx>=0.21.0; extra == 'test'
|
|
45
|
+
Description-Content-Type: text/markdown
|
|
46
|
+
|
|
47
|
+
# Producer CLI
|
|
48
|
+
|
|
49
|
+
A command-line tool for AI music generation using the Producer service via AceDataCloud API.
|
|
50
|
+
|
|
51
|
+
## Get your Ace Data Cloud API key
|
|
52
|
+
|
|
53
|
+
1. Open [Ace Data Cloud → Applications](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=producer_cli_readme_api_key). Sign in, or register an account first.
|
|
54
|
+
2. Find **General application**. If it has not been created, choose **Initialize General Application**. A general key can use the services available to your account; a dedicated application's key is limited to its service. Check the required service/model access and [current pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=producer_cli_readme_pricing).
|
|
55
|
+
3. Copy the **API Key** from the application card, or open **Keys / Manage Keys → Create** to create a separate key for this integration. Give it a recognizable name so you can revoke or rotate it independently.
|
|
56
|
+
4. When creating a key, review **Expiration Time**, **Set Usage Limitation**, and **Allowed APIs**. Enable only the restrictions you need, allow the operations you will call, then click **Create** and copy the token from the key list. Task lookup does not grant permission to submit a generation. Confirm the application's balance can cover your first request; any trial allowance is whatever your account currently displays.
|
|
57
|
+
5. Copy only the token value, without quotation marks, spaces, or `Bearer `. An API Key / API Token field expects this raw value; only a manually configured HTTP `Authorization` header needs the `Bearer ` prefix. A `platform-...` account-management token cannot replace a generation API key.
|
|
58
|
+
|
|
59
|
+

|
|
60
|
+
|
|
61
|
+

|
|
62
|
+
|
|
63
|
+
Save the key in the client's credential store or the environment variable shown below. Never put it in a prompt, shared workflow, screenshot, or Git commit. If authentication fails, check the full copied value, application/service access, expiration, usage limit, and balance before creating another key.
|
|
64
|
+
|
|
65
|
+
## Installation
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pip install producer-cli
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Usage
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Set your API token
|
|
75
|
+
export ACEDATACLOUD_API_TOKEN=your_token
|
|
76
|
+
|
|
77
|
+
# Generate a music track
|
|
78
|
+
producer generate "A happy upbeat pop song about summer"
|
|
79
|
+
|
|
80
|
+
# Generate with a specific model
|
|
81
|
+
producer generate "Dark metal with heavy guitar riffs" -m "FUZZ-2.0 Pro"
|
|
82
|
+
|
|
83
|
+
# Generate an instrumental track
|
|
84
|
+
producer generate "Epic orchestral battle theme" --instrumental
|
|
85
|
+
|
|
86
|
+
# Generate lyrics
|
|
87
|
+
producer lyrics "A love song about the ocean at sunset"
|
|
88
|
+
|
|
89
|
+
# Create a cover of an existing track
|
|
90
|
+
producer cover abc123-def456
|
|
91
|
+
|
|
92
|
+
# Extend an existing track
|
|
93
|
+
producer extend abc123-def456 --continue-at 30.5
|
|
94
|
+
|
|
95
|
+
# Generate a variation
|
|
96
|
+
producer variation abc123-def456
|
|
97
|
+
|
|
98
|
+
# Swap vocals
|
|
99
|
+
producer swap-vocals abc123-def456
|
|
100
|
+
|
|
101
|
+
# Swap instrumentals
|
|
102
|
+
producer swap-instrumentals abc123-def456
|
|
103
|
+
|
|
104
|
+
# Replace a section
|
|
105
|
+
producer replace-section abc123 --replace-section-start 10 --replace-section-end 30
|
|
106
|
+
|
|
107
|
+
# Extract stems
|
|
108
|
+
producer stems abc123-def456
|
|
109
|
+
|
|
110
|
+
# Upload audio from URL
|
|
111
|
+
producer upload https://example.com/my-audio.mp3
|
|
112
|
+
|
|
113
|
+
# Generate video from audio
|
|
114
|
+
producer video abc123-def456
|
|
115
|
+
|
|
116
|
+
# Get WAV format
|
|
117
|
+
producer wav abc123-def456
|
|
118
|
+
|
|
119
|
+
# Check task status
|
|
120
|
+
producer task abc123-def456
|
|
121
|
+
|
|
122
|
+
# Wait for task completion
|
|
123
|
+
producer wait abc123-def456
|
|
124
|
+
|
|
125
|
+
# List available models
|
|
126
|
+
producer models
|
|
127
|
+
|
|
128
|
+
# Show configuration
|
|
129
|
+
producer config
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Authentication
|
|
133
|
+
|
|
134
|
+
Set your API token via the `ACEDATACLOUD_API_TOKEN` environment variable or use the `--token` option:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
producer --token your_token generate "A happy song"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## License
|
|
141
|
+
|
|
142
|
+
MIT
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Producer CLI
|
|
2
|
+
|
|
3
|
+
A command-line tool for AI music generation using the Producer service via AceDataCloud API.
|
|
4
|
+
|
|
5
|
+
## Get your Ace Data Cloud API key
|
|
6
|
+
|
|
7
|
+
1. Open [Ace Data Cloud → Applications](https://platform.acedata.cloud/console/applications?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=producer_cli_readme_api_key). Sign in, or register an account first.
|
|
8
|
+
2. Find **General application**. If it has not been created, choose **Initialize General Application**. A general key can use the services available to your account; a dedicated application's key is limited to its service. Check the required service/model access and [current pricing](https://platform.acedata.cloud/models?utm_source=opensource&utm_medium=referral&utm_campaign=evergreen&utm_content=producer_cli_readme_pricing).
|
|
9
|
+
3. Copy the **API Key** from the application card, or open **Keys / Manage Keys → Create** to create a separate key for this integration. Give it a recognizable name so you can revoke or rotate it independently.
|
|
10
|
+
4. When creating a key, review **Expiration Time**, **Set Usage Limitation**, and **Allowed APIs**. Enable only the restrictions you need, allow the operations you will call, then click **Create** and copy the token from the key list. Task lookup does not grant permission to submit a generation. Confirm the application's balance can cover your first request; any trial allowance is whatever your account currently displays.
|
|
11
|
+
5. Copy only the token value, without quotation marks, spaces, or `Bearer `. An API Key / API Token field expects this raw value; only a manually configured HTTP `Authorization` header needs the `Bearer ` prefix. A `platform-...` account-management token cannot replace a generation API key.
|
|
12
|
+
|
|
13
|
+

|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
Save the key in the client's credential store or the environment variable shown below. Never put it in a prompt, shared workflow, screenshot, or Git commit. If authentication fails, check the full copied value, application/service access, expiration, usage limit, and balance before creating another key.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install producer-cli
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Set your API token
|
|
29
|
+
export ACEDATACLOUD_API_TOKEN=your_token
|
|
30
|
+
|
|
31
|
+
# Generate a music track
|
|
32
|
+
producer generate "A happy upbeat pop song about summer"
|
|
33
|
+
|
|
34
|
+
# Generate with a specific model
|
|
35
|
+
producer generate "Dark metal with heavy guitar riffs" -m "FUZZ-2.0 Pro"
|
|
36
|
+
|
|
37
|
+
# Generate an instrumental track
|
|
38
|
+
producer generate "Epic orchestral battle theme" --instrumental
|
|
39
|
+
|
|
40
|
+
# Generate lyrics
|
|
41
|
+
producer lyrics "A love song about the ocean at sunset"
|
|
42
|
+
|
|
43
|
+
# Create a cover of an existing track
|
|
44
|
+
producer cover abc123-def456
|
|
45
|
+
|
|
46
|
+
# Extend an existing track
|
|
47
|
+
producer extend abc123-def456 --continue-at 30.5
|
|
48
|
+
|
|
49
|
+
# Generate a variation
|
|
50
|
+
producer variation abc123-def456
|
|
51
|
+
|
|
52
|
+
# Swap vocals
|
|
53
|
+
producer swap-vocals abc123-def456
|
|
54
|
+
|
|
55
|
+
# Swap instrumentals
|
|
56
|
+
producer swap-instrumentals abc123-def456
|
|
57
|
+
|
|
58
|
+
# Replace a section
|
|
59
|
+
producer replace-section abc123 --replace-section-start 10 --replace-section-end 30
|
|
60
|
+
|
|
61
|
+
# Extract stems
|
|
62
|
+
producer stems abc123-def456
|
|
63
|
+
|
|
64
|
+
# Upload audio from URL
|
|
65
|
+
producer upload https://example.com/my-audio.mp3
|
|
66
|
+
|
|
67
|
+
# Generate video from audio
|
|
68
|
+
producer video abc123-def456
|
|
69
|
+
|
|
70
|
+
# Get WAV format
|
|
71
|
+
producer wav abc123-def456
|
|
72
|
+
|
|
73
|
+
# Check task status
|
|
74
|
+
producer task abc123-def456
|
|
75
|
+
|
|
76
|
+
# Wait for task completion
|
|
77
|
+
producer wait abc123-def456
|
|
78
|
+
|
|
79
|
+
# List available models
|
|
80
|
+
producer models
|
|
81
|
+
|
|
82
|
+
# Show configuration
|
|
83
|
+
producer config
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Authentication
|
|
87
|
+
|
|
88
|
+
Set your API token via the `ACEDATACLOUD_API_TOKEN` environment variable or use the `--token` option:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
producer --token your_token generate "A happy song"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Producer CLI - AI Music Generation via AceDataCloud API."""
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Producer CLI command modules."""
|