Metadata-Version: 2.4
Name: mmcheck
Version: 0.2.2
Summary: Check if a model supports multimodal inputs and what modalities it handles
Project-URL: Homepage, https://github.com/nicedouble/mmcheck
Project-URL: Repository, https://github.com/nicedouble/mmcheck
Author-email: Hemanth HM <hemanth.hm@gmail.com>
License-Expression: MIT
Keywords: audio,llm,model-capabilities,multimodal,vision
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Requires-Dist: requests>=2.28
Requires-Dist: rich>=13.0
Description-Content-Type: text/markdown

# mmcheck

Check if a model supports multimodal inputs.

```bash
pip install mmcheck
```

## Quick start

```python
from mmcheck import check

info = check("google/gemma-4-31B-it")
info.multimodal        # True
info.input_modalities  # ['text', 'image', 'video']
info.supports("image") # True
info.supports("audio") # False
```

## CLI

```bash
mmcheck google/gemma-4-31B-it
# Model:      google/gemma-4-31B-it
# Multimodal: YES
# Inputs:     text, image, video
# Outputs:    text

mmcheck meta-llama/Llama-3-8B
# Multimodal: NO

mmcheck --json google/gemma-4-31B-it
mmcheck --offline gemma-4-31B-it
```

## How it works

Three layers, checked in order:

1. **Built-in registry** — 30+ popular models (GPT-4o, Claude, Gemini, Llama, Qwen). Instant, no network.
2. **HuggingFace Hub** — fetches `config.json`, looks for `vision_config`, `audio_encoder`, architecture class names.
3. **vLLM cross-reference** — tags models with vLLM multimodal support status.

| Modality | Detection |
|----------|-----------|
| Image | `vision_config`, `vision_tower`, known VLM architectures |
| Audio | `audio_config`, `audio_encoder`, Whisper, Ultravox |
| Video | `video_config`, LLaVA-Next-Video, MiniCPM-V |

## Gated models

For gated HuggingFace models (401/403), mmcheck falls back to the public API metadata (tags, pipeline_tag). If you want full config inspection:

```bash
export HF_TOKEN=hf_...
mmcheck google/gemma-4-31B-it
```

Or in Python:

```python
info = check("google/gemma-4-27b-it", token="hf_...")
```

## License

MIT
