sonilo-cli 0.14.3__tar.gz → 0.15.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.
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/PKG-INFO +7 -2
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/README.md +5 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/pyproject.toml +2 -2
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/src/sonilo_cli/__main__.py +13 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/.gitignore +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/LICENSE +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/src/sonilo_cli/__init__.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/src/sonilo_cli/credentials.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/src/sonilo_cli/login.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/__init__.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/conftest.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/test_cli.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/test_context7.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/test_credentials.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/test_login.py +0 -0
- {sonilo_cli-0.14.3 → sonilo_cli-0.15.0}/tests/test_smoke.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: sonilo-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Summary: Command-line interface for the Sonilo API: generate music and sound effects from text or video
|
|
5
5
|
Project-URL: Repository, https://github.com/sonilo-ai/sonilo-python
|
|
6
6
|
Author: Sonilo AI
|
|
@@ -8,7 +8,7 @@ License-Expression: MIT
|
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Keywords: ai,cli,music,sfx,sonilo,text-to-music,video-to-music
|
|
10
10
|
Requires-Python: >=3.9
|
|
11
|
-
Requires-Dist: sonilo<0.
|
|
11
|
+
Requires-Dist: sonilo<0.17,>=0.16.0
|
|
12
12
|
Provides-Extra: dev
|
|
13
13
|
Requires-Dist: pytest>=8; extra == 'dev'
|
|
14
14
|
Requires-Dist: respx>=0.21; extra == 'dev'
|
|
@@ -293,6 +293,11 @@ command that produces no media file — nothing is generated:
|
|
|
293
293
|
tr, vi, id` (`pt_br` is Brazilian Portuguese and `es_419` Latin American
|
|
294
294
|
Spanish; plain `pt` and `es` stay unqualified, as does `ar`).
|
|
295
295
|
- Source videos may be at most 300 seconds long.
|
|
296
|
+
- `--no-lipsync` leaves the picture completely untouched. By default the speaker's mouth is
|
|
297
|
+
re-rendered to match the dubbed speech; with this flag the video comes back at its original
|
|
298
|
+
resolution and frame rate and only the audio is replaced, so the mouths keep moving to the
|
|
299
|
+
original language. Use it for footage with no on-camera speaker, or when preserving the exact
|
|
300
|
+
original picture matters more than matching lip movement.
|
|
296
301
|
- `--output` is a filename template, not a single destination: a dubbing task returns one video
|
|
297
302
|
per language, so `--output clip.mp4` writes `clip.es.mp4`, `clip.fr.mp4`, etc.
|
|
298
303
|
- Billing is per language, and dubbing has **no free trial runs** — see [Free trial](#free-trial)
|
|
@@ -277,6 +277,11 @@ command that produces no media file — nothing is generated:
|
|
|
277
277
|
tr, vi, id` (`pt_br` is Brazilian Portuguese and `es_419` Latin American
|
|
278
278
|
Spanish; plain `pt` and `es` stay unqualified, as does `ar`).
|
|
279
279
|
- Source videos may be at most 300 seconds long.
|
|
280
|
+
- `--no-lipsync` leaves the picture completely untouched. By default the speaker's mouth is
|
|
281
|
+
re-rendered to match the dubbed speech; with this flag the video comes back at its original
|
|
282
|
+
resolution and frame rate and only the audio is replaced, so the mouths keep moving to the
|
|
283
|
+
original language. Use it for footage with no on-camera speaker, or when preserving the exact
|
|
284
|
+
original picture matters more than matching lip movement.
|
|
280
285
|
- `--output` is a filename template, not a single destination: a dubbing task returns one video
|
|
281
286
|
per language, so `--output clip.mp4` writes `clip.es.mp4`, `clip.fr.mp4`, etc.
|
|
282
287
|
- Billing is per language, and dubbing has **no free trial runs** — see [Free trial](#free-trial)
|
|
@@ -4,13 +4,13 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "sonilo-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.15.0"
|
|
8
8
|
description = "Command-line interface for the Sonilo API: generate music and sound effects from text or video"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "MIT"
|
|
11
11
|
requires-python = ">=3.9"
|
|
12
12
|
authors = [{ name = "Sonilo AI" }]
|
|
13
|
-
dependencies = ["sonilo>=0.
|
|
13
|
+
dependencies = ["sonilo>=0.16.0,<0.17"]
|
|
14
14
|
keywords = ["sonilo", "cli", "music", "sfx", "text-to-music", "video-to-music", "ai"]
|
|
15
15
|
|
|
16
16
|
[project.urls]
|
|
@@ -635,6 +635,9 @@ def cmd_dubbing(client: Sonilo, args: argparse.Namespace) -> None:
|
|
|
635
635
|
video=args.video,
|
|
636
636
|
video_url=args.video_url,
|
|
637
637
|
languages=languages,
|
|
638
|
+
# Only sent when the flag is present, so the server keeps owning the
|
|
639
|
+
# default (lip sync on).
|
|
640
|
+
lipsync=False if args.no_lipsync else None,
|
|
638
641
|
timeout=args.timeout,
|
|
639
642
|
)
|
|
640
643
|
if not result.outputs:
|
|
@@ -1010,6 +1013,16 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
1010
1013
|
"es_419 Latin American Spanish; plain pt and es stay "
|
|
1011
1014
|
"unqualified, as does ar.",
|
|
1012
1015
|
)
|
|
1016
|
+
p_dub.add_argument(
|
|
1017
|
+
"--no-lipsync", dest="no_lipsync", action="store_true",
|
|
1018
|
+
help="Leave the picture completely untouched. By default the speaker's "
|
|
1019
|
+
"mouth is re-rendered to match the dubbed speech; with this the "
|
|
1020
|
+
"video comes back at its original resolution and frame rate and "
|
|
1021
|
+
"only the audio is replaced, so the mouths keep moving to the "
|
|
1022
|
+
"original language. Use it for footage with no on-camera speaker, "
|
|
1023
|
+
"or when preserving the exact original picture matters more than "
|
|
1024
|
+
"matching lip movement.",
|
|
1025
|
+
)
|
|
1013
1026
|
p_dub.add_argument(
|
|
1014
1027
|
"--output", default=None,
|
|
1015
1028
|
help="Filename template; one file is written per language with the code "
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|