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.
Files changed (27) hide show
  1. producer_cli-2026.10.12.2/.env.example +5 -0
  2. producer_cli-2026.10.12.2/CHANGELOG.md +24 -0
  3. producer_cli-2026.10.12.2/LICENSE +21 -0
  4. producer_cli-2026.10.12.2/PKG-INFO +142 -0
  5. producer_cli-2026.10.12.2/README.md +96 -0
  6. producer_cli-2026.10.12.2/producer_cli/__init__.py +1 -0
  7. producer_cli-2026.10.12.2/producer_cli/__main__.py +5 -0
  8. producer_cli-2026.10.12.2/producer_cli/commands/__init__.py +1 -0
  9. producer_cli-2026.10.12.2/producer_cli/commands/audio.py +597 -0
  10. producer_cli-2026.10.12.2/producer_cli/commands/info.py +58 -0
  11. producer_cli-2026.10.12.2/producer_cli/commands/lyrics.py +38 -0
  12. producer_cli-2026.10.12.2/producer_cli/commands/media.py +101 -0
  13. producer_cli-2026.10.12.2/producer_cli/commands/task.py +142 -0
  14. producer_cli-2026.10.12.2/producer_cli/core/__init__.py +1 -0
  15. producer_cli-2026.10.12.2/producer_cli/core/client.py +123 -0
  16. producer_cli-2026.10.12.2/producer_cli/core/config.py +42 -0
  17. producer_cli-2026.10.12.2/producer_cli/core/exceptions.py +37 -0
  18. producer_cli-2026.10.12.2/producer_cli/core/output.py +224 -0
  19. producer_cli-2026.10.12.2/producer_cli/main.py +99 -0
  20. producer_cli-2026.10.12.2/pyproject.toml +119 -0
  21. producer_cli-2026.10.12.2/tests/__init__.py +0 -0
  22. producer_cli-2026.10.12.2/tests/conftest.py +102 -0
  23. producer_cli-2026.10.12.2/tests/test_client.py +164 -0
  24. producer_cli-2026.10.12.2/tests/test_commands.py +426 -0
  25. producer_cli-2026.10.12.2/tests/test_config.py +56 -0
  26. producer_cli-2026.10.12.2/tests/test_integration.py +37 -0
  27. producer_cli-2026.10.12.2/tests/test_output.py +179 -0
@@ -0,0 +1,5 @@
1
+ # Producer CLI Environment
2
+ ACEDATACLOUD_API_TOKEN=your_api_token_here
3
+ # ACEDATACLOUD_API_BASE_URL=https://api.acedata.cloud
4
+ # PRODUCER_DEFAULT_MODEL=FUZZ-2.0
5
+ # PRODUCER_REQUEST_TIMEOUT=1800
@@ -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
+ ![Copy an application API key or open Manage Keys](https://raw.githubusercontent.com/AceDataCloud/NanoBananaDify/2522b2f57210597af2db866445319334a1677a23/_assets/tutorial/get-api-key-en.png)
60
+
61
+ ![Create a separately named key with optional restrictions](https://raw.githubusercontent.com/AceDataCloud/NanoBananaDify/2522b2f57210597af2db866445319334a1677a23/_assets/tutorial/create-api-key-en.png)
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
+ ![Copy an application API key or open Manage Keys](https://raw.githubusercontent.com/AceDataCloud/NanoBananaDify/2522b2f57210597af2db866445319334a1677a23/_assets/tutorial/get-api-key-en.png)
14
+
15
+ ![Create a separately named key with optional restrictions](https://raw.githubusercontent.com/AceDataCloud/NanoBananaDify/2522b2f57210597af2db866445319334a1677a23/_assets/tutorial/create-api-key-en.png)
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,5 @@
1
+ """Allow running as python -m producer_cli."""
2
+
3
+ from producer_cli.main import cli
4
+
5
+ cli()
@@ -0,0 +1 @@
1
+ """Producer CLI command modules."""