acrcloud-cli/
├── acrcloud_cli/ # Main package
│ ├── __init__.py # Package initialization
│ ├── __main__.py # Entry point for python -m acrcloud_cli
│ ├── main.py # CLI main entry point with command groups
│ ├── api.py # ACRCloud API client
│ ├── config.py # Configuration management
│ ├── utils.py # Utility functions
│ └── commands/ # Command modules
│ ├── __init__.py
│ ├── billing.py # Billing & Pricing commands
│ ├── buckets.py # Bucket management commands
│ ├── channels.py # Channel management commands
│ ├── config_cmd.py # Configuration commands
│ ├── files.py # File management commands
│ ├── projects.py # Project management commands
│ ├── filescan.py # File Scanning commands
│ ├── bm_cs_projects.py # BM Projects commands (Custom Streams)
│ ├── bm_bd_projects.py # BM Projects commands (Database)
│ └── ucf_projects.py # User Custom Content (UCF) Projects commands
├── docs/ # Documentation
│ └── billing_doc.md # Billing API reference
├── tests/ # Test suite
│ ├── __init__.py
│ └── test_config.py # Configuration tests
├── examples/ # Usage examples
│ └── basic_usage.sh # Basic usage examples
├── pyproject.toml # Project configuration (PEP 517/518)
├── Makefile # Build automation
├── README.md # Documentation
├── LICENSE # MIT License
└── .gitignore # Git ignore rules
- main.py: CLI entry point, command group registration, authentication handling
- api.py: ACRCloud API client with methods for all API endpoints
- config.py: Configuration management (load/save config files)
- utils.py: Helper functions for output formatting and validation
- billing.py: Commands for billing, invoices, and pricing queries
- buckets.py: Commands for bucket CRUD operations
- files.py: Commands for file upload, download, and management
- channels.py: Commands for live channel management
- projects.py: Commands for recognition project management
- config_cmd.py: Commands for CLI configuration
- List buckets
- Get bucket
- Create bucket
- Update bucket
- Delete bucket
- List files
- Get file
- Upload file (audio, fingerprint, URL, ACRID)
- Update file
- Delete file
- Batch delete files
- Move files between buckets
- Dump files information
- List channels
- Get channel
- Create channel
- Update channel
- Delete channel
- List projects
- Get project
- Create project
- Update project
- Delete project
- Get project bucket status
- Get project statistics
- List FS containers
- Get FS container
- Create FS container
- Update FS container
- Delete FS container
- List FS files
- Get FS file
- Upload FS file
- Delete FS files
- Rescan FS files
- List BM CS projects
- Get BM CS project
- Create BM CS project
- Update BM CS project
- Delete BM CS project
- Set result callback URL
- List BM streams
- Add BM stream
- Update BM stream
- Delete BM streams
- Pause BM streams
- Restart BM streams
- Get current bill
- Get next bill date
- List invoices
- Download invoice PDF
- Get prices