Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,9 @@ Async-only; use `submit()` plus
`client.dubbing` dubs one video into one or more target languages in a single
async call. Pass exactly one of `video` / `video_url` (`video_url` must be
**https**), plus optional `languages` — it defaults server-side to
`["zh_cn", "es", "fr"]`; supported codes are `en, zh_cn, ja, ko, pt, es, de,
fr, it, ru`. The optional `ducking` boolean (default off, free) ducks the
`["zh_cn", "es", "fr"]`; supported codes are `en, zh_cn, ja, ko, pt, pt_br,
es, es_419, de, fr, it, ru, th` (`pt_br` is Brazilian Portuguese and `es_419`
Latin American Spanish; plain `pt` and `es` stay unqualified). The optional `ducking` boolean (default off, free) ducks the
background music/effects bed under the dubbed voice while it speaks; when off
the bed is kept at a constant level. (Every endpoint's `ducking` defaults off,
so this one is no exception.) Source videos may be
Expand Down
2 changes: 1 addition & 1 deletion context7.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"Self-serve accounts start with free runs per endpoint (2 each for text-to-music, text-to-sfx, audio-ducking, video-analysis; 1 each for other video endpoints; none for dubbing), then bill normally. A first call succeeding is not proof billing works.",
"Before a paid call, read client.account.services().get(\"trial\", {}) and degrade gracefully when a service's remaining is 0: that call raises TrialExhaustedError (402 trial_exhausted), which no retry fixes \u2014 ask for a payment method. trial may be absent.",
"client.audio_ducking ducks an EXISTING music bed under an EXISTING voice track; nothing is generated. One of voice/voice_url, one of music/music_url. Voice may be audio or video (video returns a .mp4); music must be audio. Result: output_url, no stems.",
"client.dubbing dubs one video into several languages in a single async call. languages is a list of codes (en, zh_cn, ja, ko, pt, es, de, fr, it, ru); omit it for the default [\"zh_cn\", \"es\", \"fr\"]. You are billed per language, with no free trial runs.",
"client.dubbing dubs one video into several languages in one async call. languages is a list of codes (en, zh_cn, ja, ko, pt, pt_br, es, es_419, de, fr, it, ru, th); omit for the default [\"zh_cn\", \"es\", \"fr\"]. Billed per language; no free trial runs.",
"A DubbingResult has no audio/video/output_url. Its results live in result.outputs, a map of language code to dubbed .mp4 URL: use result.save(lang, path) or result.save_all(dir). dubbing's video_url must be https.",
"client.video_analysis returns a creative BRIEF, not media: the method is analyze() (not generate()) and VideoAnalysisResult has no save(). Read result.segments (start/end/label/prompt) and result.variations[i].prompt.",
"Pass a video_analysis variation's prompt straight to video_to_music / video_to_sfx / video_to_sound as their prompt. It takes one of video/video_url plus optional prompt and variants_num (1-5, billed per brief); max 360s, 10s billing floor."
Expand Down
4 changes: 3 additions & 1 deletion sonilo-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,9 @@ command that produces no media file — nothing is generated:
# writes dubbed.es.mp4 and dubbed.fr.mp4

- `--languages` is comma-separated; omit it to use the server default `zh_cn,es,fr`. Supported
codes: `en, zh_cn, ja, ko, pt, es, de, fr, it, ru`.
codes: `en, zh_cn, ja, ko, pt, pt_br, es, es_419, de, fr, it, ru, th`
(`pt_br` is Brazilian Portuguese and `es_419` Latin American Spanish; plain
`pt` and `es` stay unqualified).
- Source videos may be at most 300 seconds long.
- `--output` is a filename template, not a single destination: a dubbing task returns one video
per language, so `--output clip.mp4` writes `clip.es.mp4`, `clip.fr.mp4`, etc.
Expand Down
4 changes: 3 additions & 1 deletion sonilo-cli/src/sonilo_cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,9 @@ def build_parser() -> argparse.ArgumentParser:
p_dub.add_argument(
"--languages", default=None,
help="Comma-separated target languages. Default: zh_cn,es,fr. "
"Supported: en, zh_cn, ja, ko, pt, es, de, fr, it, ru",
"Supported: en, zh_cn, ja, ko, pt, pt_br, es, es_419, de, fr, "
"it, ru, th. pt_br is Brazilian Portuguese and es_419 Latin "
"American Spanish; plain pt and es stay unqualified.",
)
p_dub.add_argument(
"--output", default=None,
Expand Down
Loading