ibm-granite/granite-speech-4.1-2b 🔢📝🖼️✓❓ → 📝

⭐ Official ▶️ 2.4K runs 📅 Apr 2026 ⚙️ Cog 0.19.2 🔗 GitHub ⚖️ License
speech-to-text speech-translation text-generation

Performance

1.0sTypical run time
~190sCold start (first call)
2.4KTotal runs

About

Granite Speech 4.1 2B is a compact and efficient speech-language model, specifically designed for multilingual automatic speech recognition (ASR) and bidirectional automatic speech translation (AST) for English, French, German, Spanish, Portuguese and Jap

Example Output

Prompt:

"Transcribe the speech with proper punctuation and capitalization."

Output

For Timothy was a spoiled cat, and he allowed no one to interfere. Everybody waited upon him, moving their chairs even, for he was monarch of the hearth. Dinarzade la nuit suivante appela sa soeur quand il en fut temps. "Si vous ne dormez pas, ma soeur," lui dit-elle, "je vous prie en attendant le jour qui paraîtra bientôt de continuer le conte du pêcheur."

Performance Metrics

0.98s Prediction Time
189.65s Total Time
All Input Parameters
{
  "stop": [],
  "audio": [
    "https://replicate.delivery/pbxt/P0OA5HkTXIub9q1K36laUYjwGVuZj0jnllQgon11DFWTFCWu/multilingual_sample.wav"
  ],
  "top_k": 50,
  "top_p": 0.9,
  "prompt": "Transcribe the speech with proper punctuation and capitalization.",
  "stream": false,
  "messages": [],
  "min_tokens": 0,
  "temperature": 0.2,
  "chat_template_kwargs": {},
  "add_generation_prompt": true
}
Input Parameters
seed Type: integer
Random seed. Leave unspecified to randomize the seed.
stop Type: array
A list of sequences to stop generation at. For example, ["<end>","<stop>"] will stop generation at the first instance of "<end>" or "<stop>".
audio Type: array
Completion API Audio input.
top_k Type: integer
The number of highest probability tokens to consider for generating the output. If > 0, only keep the top k tokens with highest probability (top-k filtering).
top_p Type: number
A probability threshold for generating the output. If < 1.0, only keep the top tokens with cumulative probability >= top_p (nucleus filtering). Nucleus filtering is described in Holtzman et al. (http://arxiv.org/abs/1904.09751).
prompt Type: string
Completion API user prompt.
stream Type: boolean
Request streaming response.
messages Type: array
Chat completion API messages.
max_tokens Type: integer
max_tokens is deprecated in favor of the max_completion_tokens field.
min_tokens Type: integerDefault: 0
The minimum number of tokens the model should generate as output.
temperature Type: number
The value used to modulate the next token probabilities.
chat_template Type: string
A template to format the prompt with. If not specified, the chat template provided by the model will be used.
system_prompt Type: string
Completion API system prompt. The chat template provides a good default.
presence_penalty Type: number
Presence penalty
frequency_penalty Type: number
Frequency penalty
repetition_penalty Type: number
Repetition penalty
chat_template_kwargs Type: object
Additional arguments to be passed to the chat template.
add_generation_prompt Type: booleanDefault: true
Add generation prompt. Passed to the chat template. Defaults to True.
max_completion_tokens Type: integer
An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.
Output Schema

Output

Type: array • Items Type: string

Example Execution Logs
INFO 04-28 12:55:08 [predict.py:354] predict() commencing request_id=2
INFO 04-28 12:55:08 [logger.py:63] Received request chatcmpl-2: params: SamplingParams(n=1, presence_penalty=0.0, frequency_penalty=0.0, repetition_penalty=1.0, temperature=0.2, top_p=0.9, top_k=50, min_p=0.0, seed=None, stop=[], stop_token_ids=[], bad_words=[], thinking_token_budget=None, include_stop_str_in_output=False, ignore_eos=False, max_tokens=3825, min_tokens=0, logprobs=None, prompt_logprobs=None, skip_special_tokens=True, spaces_between_special_tokens=True, structured_outputs=None, extra_args=None), lora_request: None.
DEBUG 04-28 12:55:08 [predict.py:475] finish_reason=stop response_text=For Timothy was a spoiled cat, and he allowed no one to interfere. Everybody waited upon him, moving their chairs even, for he was monarch of the hearth. Dinarzade la nuit suivante appela sa soeur quand il en fut temps. "Si vous ne dormez pas, ma soeur," lui dit-elle, "je vous prie en attendant le jour qui paraîtra bientôt de continuer le conte du pêcheur."
INFO 04-28 12:55:08 [predict.py:481] Generation took 0.60s
DEBUG 04-28 12:55:08 [predict.py:484] prompt_tokens=271, completion_tokens=98, total_tokens=369
INFO 04-28 12:55:08 [predict.py:493] predict() completed request_id=2
Version Details
Version ID
25d7a190df066d4623579c05619cafb1eeff766ee0bdce4d8b7c82726ca93e58
Version Created
May 26, 2026
Run on Replicate →