@@ -29,11 +29,13 @@ eval "$(./ov-cli venv)"
2929# 3. Chat terminal
3030./ov-cli chat --model ./Qwen3/2B-ov
3131
32- # 4. Generate (Image / TTS)
33- ./ov-cli generate --model ./FLUX/ov-int4
34- ./ov-cli generate --model ./0.6B-CV-ov --prompt Hello --speaker vivian
32+ # 4. Image Generation
33+ ./ov-cli image --model ./FLUX/ov-int4
3534
36- # 5. API server
35+ # 5. TTS
36+ ./ov-cli tts --model ./0.6B-CV-ov --prompt Hello --speaker vivian
37+
38+ # 6. API server
3739./ov-cli server --model ./Qwen3/2B-ov
3840```
3941
@@ -225,32 +227,17 @@ EOF
225227./ov-cli benchmark --model ./Qwen3.6/35B-A3B-ov --reasoning off
226228```
227229
228- ### ` generate ` — Text-to-Image / TTS
229-
230- Auto-detects model type (Text2Image / TTS CustomVoice / TTS Base).
230+ ### ` image ` — Text-to-Image
231231
232- ** Text-to-Image ** ( via OpenVINO GenAI Text2ImagePipeline, supports interactive/ single):
232+ Text-to-image via OpenVINO GenAI Text2ImagePipeline. Supports interactive and single modes.
233233
234234``` bash
235235# Interactive (multi-turn)
236- ./ov-cli generate --model ./FLUX/ov-int4
236+ ./ov-cli image --model ./FLUX/ov-int4
237237
238238# Single mode (auto-exit)
239- ./ov-cli generate --model ./FLUX/ov-int4 --mode once --prompt " cat" -o cat.png
240- ./ov-cli generate --model ./FLUX/ov-int4 --mode once --prompt " cat" --json
241- ```
242-
243- ** TTS CustomVoice** (preset speakers, no reference audio needed, once mode only):
244-
245- ``` bash
246- ./ov-cli generate --model ./0.6B-CV-ov --prompt " Hello" --speaker vivian
247- ./ov-cli generate --model ./0.6B-CV-ov --prompt " 你好" --speaker Vivian --instruct " gently" -o voice.wav
248- ```
249-
250- ** TTS Base (Voice Clone)** (requires reference audio, once mode only):
251-
252- ``` bash
253- ./ov-cli generate --model ./0.6B-ov --prompt " Hello" --ref-audio ref.mp3
239+ ./ov-cli image --model ./FLUX/ov-int4 --mode once --prompt " cat" -o cat.png
240+ ./ov-cli image --model ./FLUX/ov-int4 --mode once --prompt " cat" --json
254241```
255242
256243** In-chat commands** (interactive mode only, Text2Image):
@@ -266,20 +253,29 @@ Auto-detects model type (Text2Image / TTS CustomVoice / TTS Base).
266253| ` /help ` | Help |
267254| ` /exit ` | Exit |
268255
269- ### ` whisper ` — Speech-to-Text
256+ ### ` asr ` — Speech-to-Text
270257
271- Transcribe audio via OpenVINO GenAI WhisperPipeline. Supports interactive and single modes.
258+ Auto-detects Whisper / Qwen3-ASR. ** Qwen3-ASR recommended** (automatic punctuation, language identification, 52 languages/dialects).
259+
260+ ** Qwen3-ASR** (recommended):
272261
273262``` bash
274263# Interactive
275- ./ov-cli whisper --model ./whisper/ov-large
264+ ./ov-cli asr --model ./Qwen3-ASR-0.6B-ov
265+
266+ # Single mode
267+ ./ov-cli asr --model ./Qwen3-ASR-0.6B-ov --mode once --file speech.mp3
268+ ./ov-cli asr --model ./Qwen3-ASR-0.6B-ov --mode once --file speech.mp3 --json
269+ ```
276270
277- # Single mode (auto-exit after output)
278- ./ov-cli whisper --model ./whisper/ov-large --mode once --file speech.mp3 -o output.txt
279- ./ov-cli whisper --model ./whisper/ov-large --mode once --file speech.mp3 --json # JSON output
271+ ** Whisper** :
272+
273+ ``` bash
274+ ./ov-cli asr --model ./whisper/ov-large
275+ ./ov-cli asr --model ./whisper/ov-large --mode once --file speech.mp3
280276```
281277
282- ** Note: ** Whisper adds punctuation based on audio pauses and intonation .
278+ > Qwen3-ASR adds punctuation based on semantic understanding. Whisper relies on audio pauses. TTS-generated audio may lack punctuation with Whisper .
283279 TTS-generated audio has even pacing without natural pauses, so transcriptions may lack punctuation — this is expected behavior.
284280
285281## External Integration
@@ -291,26 +287,26 @@ ov-cli can be called from other projects via `--mode once` and `--json`. Logs go
291287| Command | once mode | ` --json ` | stdout output |
292288| :--------| :---------:| :--------:| :--------------|
293289| ` chat ` | ` --mode once --prompt TEXT [--file ...] ` | ✅ | reply text / ` {"text":"...","time":n} ` |
294- | ` whisper ` | ` --mode once --file audio.mp3 ` | ✅ | transcription / ` {"text":"...","time":n,"duration":n} ` |
295- | ` generate (img) ` | ` --mode once --prompt "cat" [-o output.png] ` | ✅ | image path / ` {"path":"...","time":n} ` |
296- | ` generate ( tts) ` | ` --prompt TEXT (--mode once optional) ` | ✅ | audio path / ` {"path":"...","time":n,"duration":n} ` |
290+ | ` asr ` | ` --mode once --file audio.mp3 ` | ✅ | transcription / ` {"text":"...","time":n,"duration":n} ` |
291+ | ` image ` | ` --mode once --prompt "cat" [-o output.png] ` | ✅ | image path / ` {"path":"...","time":n} ` |
292+ | ` tts ` | ` --prompt TEXT ` | ✅ | audio path / ` {"path":"...","time":n,"duration":n} ` |
297293
298294### Recommended Usage
299295
300296``` bash
301297# Shell: capture plain text
302- text=$( /path/to/ov-cli whisper -m ./model --mode once -f speech.mp3 2> /dev/null)
298+ text=$( /path/to/ov-cli asr -m ./model --mode once -f speech.mp3 2> /dev/null)
303299
304300# Shell: capture JSON
305- json=$( /path/to/ov-cli whisper -m ./model --mode once -f speech.mp3 --json 2> /dev/null)
301+ json=$( /path/to/ov-cli asr -m ./model --mode once -f speech.mp3 --json 2> /dev/null)
306302```
307303
308304``` python
309305# Python subprocess
310306import subprocess, json
311307
312308result = subprocess.run([
313- " /path/to/ov-cli" , " whisper " ,
309+ " /path/to/ov-cli" , " asr " ,
314310 " --model" , " ./model" ,
315311 " --mode" , " once" ,
316312 " --file" , " speech.mp3" ,
@@ -386,9 +382,21 @@ ov-cli generate --model ./0.6B-CV-ov --prompt "Hello" --speaker vivian
386382ov-cli generate --model ./0.6B-ov --prompt " Hello" --ref-audio ref.mp3
387383```
388384
389- #### ASR — Whisper (Speech-to-Text)
385+ #### ASR (Speech-to-Text)
386+
387+ Two options. ** Qwen3-ASR recommended** (automatic punctuation, language identification).
388+
389+ | Option | Type | Features |
390+ | :------| :----| :---------|
391+ | ** Qwen3-ASR** ⭐ | Custom OV | Semantic punctuation / 52 languages / LID |
392+ | ** Whisper** | GenAI Pipeline | Lightweight, smooth interactive |
393+
394+ ** Qwen3-ASR** conversion:
395+ ``` bash
396+ ov-cli convert --model ./Qwen3-ASR-0.6B --output ./Qwen3-ASR-0.6B-ov
397+ ```
390398
391- Download official pre-converted models:
399+ ** Whisper ** : Download official pre-converted models:
392400- [ HuggingFace Speech-to-Text Collection] ( https://huggingface.co/collections/OpenVINO/speech-to-text )
393401- [ ModelScope Speech-to-Text Collection] ( https://www.modelscope.cn/collections/Speech-to-Text-b9ab5c24c32649 )
394402
0 commit comments