Skip to content

Catalog audit: attachment flag contradicts modalities.input in 289 flagged entries (279 unique files) #5792

Description

@jarvislee90s-dot

While investigating why vision-capable models get image-blocked in
OpenCode (via the models.dev catalog), we scanned the whole catalog for
entries where attachment contradicts modalities.input — the invariant
the sync runners themselves apply ("attachment is derived from non-text
input modalities", see ovhcloud/chutes notes in sync.md).

Result: 289 flagged entries across 7,878 TOML files — 279 unique
underlying files (10 flagged paths are symlink mirrors of an
already-counted file). Largest clusters: helicone 49, poe 43, vercel 25,
alibaba-cn 20, alibaba 19, amazon-bedrock 10, siliconflow-cn 9, azure 9,
zenmux 8.

Two of them (moonshotai/kimi-k2.5, opencode/grok-code) are fixed in a
companion PR referencing this issue — that fix also clears the
moonshotai-cn symlink mirror of kimi-k2.5, leaving 286 flagged rows
(277 unique).

The downstream cost is real and already reported on the consumer side:
OpenCode users hit this data error as "vision model cannot see images"
symptoms (anomalyco/opencode#23427, #22673, #40894, #36020). Single-model
modality reports in this repo (#5712, #479) were accepted and fixed —
this issue is the systematic version of those.

Three semantic questions we'd like maintainer guidance on before
batch-fixing the rest:

  1. Audio-only models (whisper/voxtral/ASR: input ["audio"] or
    ["text","audio"]): should attachment follow the modality-derivation
    convention (true), or the "file attachments" semantics (false)? 33
    entries (input == ["audio"] or ["text","audio"] among the contradictory
    rows; 28 provider + 5 lab).
  2. Gateway providers (amazon-bedrock, azure, io-net, …): does the
    transport genuinely reject images (flag intentionally false), or are
    these the same omissions as the lab entries? Needs per-provider doc
    checks.
  3. Generated entries (vercel, via packages/core/script/generate-*.ts):
    hand edits get overwritten by the generator — fix the generator, the
    upstream source, or the entries?

Happy to work through these provider-by-provider in small PRs, per the
"prefer small, provider-specific PRs" guidance — just need the semantics
settled first.

Reproduction

pip3 install tomli
python3 - <<'EOF'
import glob, os, sys
try:
    import tomli as toml
except ImportError:
    sys.exit("pip3 install tomli first")

files = sorted(set(glob.glob('models/*/*.toml') + glob.glob('providers/*/models/**/*.toml', recursive=True)))
rows, broken, total = [], 0, len(files)
for f in files:
    p = os.path.realpath(f)
    if not os.path.exists(p):
        broken += 1
        continue
    try:
        d = toml.load(open(p, 'rb'))
    except Exception as e:
        rows.append((f, 'PARSE-ERR', str(e)))
        continue
    att = d.get('attachment')
    if att is None:
        continue
    mod = d.get('modalities', {}).get('input')
    if mod is None:
        continue
    if att != any(m != 'text' for m in mod):
        rows.append((f, att, mod))

from collections import Counter
prov = Counter(r[0].split('/')[1] if r[0].startswith('providers/') else '(lab)' for r in rows)
print(f"**Scope:** {total} TOML files scanned ({broken} unresolvable symlinks excluded), **{len(rows)} contradictions found.**\n")
print("| Provider | Count |\n|---|---|")
for k, v in prov.most_common():
    print(f"| {k} | {v} |")
print("\n<details>\n<summary>Full list (289 expected)</summary>\n")
print("| Entry | attachment | modalities.input |\n|---|---|---|")
for f, att, mod in rows:
    if att == 'PARSE-ERR':
        print(f"| {f} | parse error | {mod} |")
    else:
        print(f"| {f} | {att} | {mod} |")
print("\n</details>")
EOF

Notes:

  • 32 unresolvable symlink paths are skipped.
  • Symlink mirrors are counted as separate rows (hence 289 rows vs 279
    unique underlying files).

Flagged entries

Provider Count
helicone 49
poe 43
vercel 25
alibaba-cn 20
alibaba 19
(lab) 17
amazon-bedrock 10
azure 9
siliconflow-cn 9
azure-cognitive-services 8
zenmux 8
frogbot 6
llama 5
aki-io 4
io-net 4
vivgrid 4
google-vertex 3
mistral 3
opencode-go 3
opencode 3
scaleway 3
alibaba-coding-plan-cn 2
alibaba-coding-plan 2
evroc 2
greenpt 2
groq 2
llmgateway-providers 2
lucidquery 2
meganova 2
nearai 2
nvidia 2
siliconflow 2
togetherai 2
xpersona 2
abacus 1
gitlab 1
kimi-for-coding 1
moonshotai-cn 1
moonshotai 1
openai 1
stepfun-ai 1
stepfun 1
Full list (289 rows)
Entry attachment modalities.input
models/alibaba/qwen-omni-turbo.toml False ['text', 'image', 'audio', 'video']
models/alibaba/qwen-vl-max.toml False ['text', 'image']
models/alibaba/qwen-vl-plus.toml False ['text', 'image']
models/alibaba/qwen2-5-vl-72b-instruct.toml False ['text', 'image']
models/alibaba/qwen3-vl-plus.toml False ['text', 'image']
models/alibaba/qwen3.5-plus.toml False ['text', 'image', 'video']
models/deepseek/deepseek-chat.toml True ['text']
models/deepseek/deepseek-reasoner.toml True ['text']
models/google/gemini-3.5-live-translate-preview.toml False ['audio']
models/google/gemini-3.5-transcribe-live.toml False ['audio']
models/meta/llama-3.3-70b-instruct.toml True ['text']
models/mistral/mistral-small-2506.toml False ['text', 'image']
models/openai/gpt-4.toml True ['text']
models/openai/gpt-5-codex.toml False ['text', 'image']
models/openai/gpt-realtime-whisper.toml False ['audio']
models/openai/whisper-large-v3-turbo.toml False ['audio']
models/openai/whisper-large-v3.toml False ['audio']
providers/abacus/models/kimi-k2.5.toml False ['text', 'image', 'video']
providers/aki-io/models/kimi-k2.7-code-1100b.toml False ['text', 'image']
providers/aki-io/models/mistral4-119b.toml False ['text', 'image']
providers/aki-io/models/qwen3.6-35b.toml False ['text', 'image']
providers/aki-io/models/qwen3.8-27b.toml False ['text', 'image']
providers/alibaba-cn/models/kimi-k2.5.toml False ['text', 'image', 'video']
providers/alibaba-cn/models/kimi/kimi-k2.5.toml False ['text', 'image', 'video']
providers/alibaba-cn/models/qvq-max.toml False ['text', 'image']
providers/alibaba-cn/models/qwen-omni-turbo-realtime.toml False ['text', 'image', 'audio']
providers/alibaba-cn/models/qwen-omni-turbo.toml False ['text', 'image', 'audio', 'video']
providers/alibaba-cn/models/qwen-vl-max.toml False ['text', 'image']
providers/alibaba-cn/models/qwen-vl-ocr.toml False ['text', 'image']
providers/alibaba-cn/models/qwen-vl-plus.toml False ['text', 'image']
providers/alibaba-cn/models/qwen2-5-omni-7b.toml False ['text', 'image', 'audio', 'video']
providers/alibaba-cn/models/qwen2-5-vl-72b-instruct.toml False ['text', 'image']
providers/alibaba-cn/models/qwen2-5-vl-7b-instruct.toml False ['text', 'image']
providers/alibaba-cn/models/qwen3-asr-flash.toml False ['audio']
providers/alibaba-cn/models/qwen3-omni-flash-realtime.toml False ['text', 'image', 'audio']
providers/alibaba-cn/models/qwen3-omni-flash.toml False ['text', 'image', 'audio', 'video']
providers/alibaba-cn/models/qwen3-vl-235b-a22b.toml False ['text', 'image']
providers/alibaba-cn/models/qwen3-vl-30b-a3b.toml False ['text', 'image']
providers/alibaba-cn/models/qwen3-vl-plus.toml False ['text', 'image']
providers/alibaba-cn/models/qwen3.5-397b-a17b.toml False ['text', 'image', 'video']
providers/alibaba-cn/models/qwen3.5-plus.toml False ['text', 'image', 'video']
providers/alibaba-cn/models/qwen3.6-plus.toml False ['text', 'image', 'video']
providers/alibaba-coding-plan-cn/models/qwen3.5-plus.toml False ['text', 'image']
providers/alibaba-coding-plan-cn/models/qwen3.6-plus.toml False ['text', 'image', 'video']
providers/alibaba-coding-plan/models/qwen3.5-plus.toml False ['text', 'image', 'video']
providers/alibaba-coding-plan/models/qwen3.6-plus.toml False ['text', 'image', 'video']
providers/alibaba/models/qvq-max.toml False ['text', 'image']
providers/alibaba/models/qwen-omni-turbo-realtime.toml False ['text', 'image', 'audio']
providers/alibaba/models/qwen-omni-turbo.toml False ['text', 'image', 'audio', 'video']
providers/alibaba/models/qwen-vl-max.toml False ['text', 'image']
providers/alibaba/models/qwen-vl-ocr.toml False ['text', 'image']
providers/alibaba/models/qwen-vl-plus.toml False ['text', 'image']
providers/alibaba/models/qwen2-5-omni-7b.toml False ['text', 'image', 'audio', 'video']
providers/alibaba/models/qwen2-5-vl-72b-instruct.toml False ['text', 'image']
providers/alibaba/models/qwen2-5-vl-7b-instruct.toml False ['text', 'image']
providers/alibaba/models/qwen3-asr-flash.toml False ['audio']
providers/alibaba/models/qwen3-livetranslate-flash-realtime.toml False ['text', 'image', 'audio', 'video']
providers/alibaba/models/qwen3-omni-flash-realtime.toml False ['text', 'image', 'audio', 'video']
providers/alibaba/models/qwen3-omni-flash.toml False ['text', 'image', 'audio', 'video']
providers/alibaba/models/qwen3-vl-235b-a22b.toml False ['text', 'image']
providers/alibaba/models/qwen3-vl-30b-a3b.toml False ['text', 'image']
providers/alibaba/models/qwen3-vl-plus.toml False ['text', 'image']
providers/alibaba/models/qwen3.5-plus.toml False ['text', 'image', 'video']
providers/alibaba/models/qwen3.6-plus.toml False ['text', 'image', 'video']
providers/alibaba/models/qwen3.7-plus.toml False ['text', 'image', 'video']
providers/amazon-bedrock/models/amazon.nova-2-lite-v1:0.toml False ['text', 'image', 'video']
providers/amazon-bedrock/models/google.gemma-3-12b-it.toml False ['text', 'image']
providers/amazon-bedrock/models/google.gemma-3-4b-it.toml False ['text', 'image']
providers/amazon-bedrock/models/mistral.magistral-small-2509.toml False ['text', 'image']
providers/amazon-bedrock/models/mistral.ministral-3-3b-instruct.toml False ['text', 'image']
providers/amazon-bedrock/models/mistral.mistral-large-3-675b-instruct.toml False ['text', 'image']
providers/amazon-bedrock/models/mistral.pixtral-large-2502-v1:0.toml False ['text', 'image']
providers/amazon-bedrock/models/mistral.voxtral-mini-3b-2507.toml False ['audio', 'text']
providers/amazon-bedrock/models/moonshotai.kimi-k2.5.toml False ['text', 'image']
providers/amazon-bedrock/models/nvidia.nemotron-nano-12b-v2.toml False ['text', 'image']
providers/azure-cognitive-services/models/codex-mini.toml True ['text']
providers/azure-cognitive-services/models/gpt-5-codex.toml False ['text', 'image']
providers/azure-cognitive-services/models/gpt-5.1-codex-mini.toml False ['text', 'image']
providers/azure-cognitive-services/models/gpt-5.1-codex.toml False ['text', 'image', 'audio']
providers/azure-cognitive-services/models/gpt-5.2-codex.toml False ['text', 'image']
providers/azure-cognitive-services/models/gpt-5.3-codex.toml False ['text', 'image']
providers/azure-cognitive-services/models/kimi-k2.6.toml False ['text', 'image']
providers/azure-cognitive-services/models/o1.toml False ['text', 'image']
providers/azure/models/codex-mini.toml True ['text']
providers/azure/models/gpt-5-codex.toml False ['text', 'image']
providers/azure/models/gpt-5.1-codex-mini.toml False ['text', 'image']
providers/azure/models/gpt-5.1-codex.toml False ['text', 'image', 'audio']
providers/azure/models/gpt-5.2-codex.toml False ['text', 'image']
providers/azure/models/gpt-5.3-codex.toml False ['text', 'image']
providers/azure/models/kimi-k2.5.toml False ['text', 'image']
providers/azure/models/kimi-k2.6.toml False ['text', 'image']
providers/azure/models/o1.toml False ['text', 'image']
providers/evroc/models/KBLab/kb-whisper-large.toml False ['audio']
providers/evroc/models/mistralai/Voxtral-Small-24B-2507.toml False ['audio', 'text']
providers/frogbot/models/deepseek-v4-pro.toml True ['text']
providers/frogbot/models/kimi-k2-6.toml False ['text', 'image']
providers/frogbot/models/kimi-k2.5.toml False ['text', 'image']
providers/frogbot/models/minimax-m2-5.toml True ['text']
providers/frogbot/models/minimax-m2-7.toml True ['text']
providers/frogbot/models/zai-glm-5-1.toml True ['text']
providers/gitlab/models/duo-chat-gpt-5-codex.toml False ['text', 'image']
providers/google-vertex/models/deepseek-ai/deepseek-v3.1-maas.toml False ['text', 'pdf']
providers/google-vertex/models/deepseek-ai/deepseek-v3.2-maas.toml False ['text', 'pdf']
providers/google-vertex/models/zai-org/glm-4.7-maas.toml False ['text', 'pdf']
providers/greenpt/models/green-s-pro.toml False ['audio']
providers/greenpt/models/green-s.toml False ['audio']
providers/groq/models/whisper-large-v3-turbo.toml False ['audio']
providers/groq/models/whisper-large-v3.toml False ['audio']
providers/helicone/models/chatgpt-4o-latest.toml False ['text', 'image']
providers/helicone/models/claude-3-haiku-20240307.toml False ['text', 'image']
providers/helicone/models/claude-3.5-haiku.toml False ['text', 'image']
providers/helicone/models/claude-3.5-sonnet-v2.toml False ['text', 'image']
providers/helicone/models/claude-3.7-sonnet.toml False ['text', 'image']
providers/helicone/models/claude-4.5-haiku.toml False ['text', 'image']
providers/helicone/models/claude-4.5-opus.toml False ['text', 'image']
providers/helicone/models/claude-4.5-sonnet.toml False ['text', 'image']
providers/helicone/models/claude-haiku-4-5-20251001.toml False ['text', 'image']
providers/helicone/models/claude-opus-4-1-20250805.toml False ['text', 'image']
providers/helicone/models/claude-opus-4-1.toml False ['text', 'image']
providers/helicone/models/claude-opus-4.toml False ['text', 'image']
providers/helicone/models/claude-sonnet-4-5-20250929.toml False ['text', 'image']
providers/helicone/models/claude-sonnet-4.toml False ['text', 'image']
providers/helicone/models/gemini-2.5-flash-lite.toml False ['text', 'image']
providers/helicone/models/gemini-2.5-flash.toml False ['text', 'image']
providers/helicone/models/gemini-2.5-pro.toml False ['text', 'image']
providers/helicone/models/gemini-3-pro-preview.toml False ['text', 'image', 'audio', 'video']
providers/helicone/models/gemma-3-12b-it.toml False ['text', 'image']
providers/helicone/models/gpt-4.1-mini-2025-04-14.toml False ['text', 'image']
providers/helicone/models/gpt-4.1-mini.toml False ['text', 'image']
providers/helicone/models/gpt-4.1-nano.toml False ['text', 'image']
providers/helicone/models/gpt-4.1.toml False ['text', 'image']
providers/helicone/models/gpt-4o-mini.toml False ['text', 'image']
providers/helicone/models/gpt-4o.toml False ['text', 'image']
providers/helicone/models/gpt-5-chat-latest.toml False ['text', 'image']
providers/helicone/models/gpt-5-mini.toml False ['text', 'image']
providers/helicone/models/gpt-5-nano.toml False ['text', 'image']
providers/helicone/models/gpt-5.1-chat-latest.toml False ['text', 'image']
providers/helicone/models/gpt-5.1-codex-mini.toml False ['text', 'image']
providers/helicone/models/gpt-5.1-codex.toml False ['text', 'image']
providers/helicone/models/gpt-5.1.toml False ['text', 'image']
providers/helicone/models/gpt-5.toml False ['text', 'image']
providers/helicone/models/grok-4-1-fast-non-reasoning.toml False ['text', 'image']
providers/helicone/models/grok-4-1-fast-reasoning.toml False ['text', 'image']
providers/helicone/models/grok-4-fast-non-reasoning.toml False ['text', 'image', 'audio']
providers/helicone/models/grok-4-fast-reasoning.toml False ['text', 'image']
providers/helicone/models/llama-4-maverick.toml False ['text', 'image']
providers/helicone/models/llama-4-scout.toml False ['text', 'image']
providers/helicone/models/llama-guard-4.toml False ['text', 'image']
providers/helicone/models/mistral-nemo.toml False ['text', 'image']
providers/helicone/models/o3-pro.toml False ['text', 'image']
providers/helicone/models/o3.toml False ['text', 'image']
providers/helicone/models/o4-mini.toml False ['text', 'image']
providers/helicone/models/qwen3-235b-a22b-thinking.toml False ['text', 'image', 'video']
providers/helicone/models/qwen3-30b-a3b.toml False ['text', 'image']
providers/helicone/models/qwen3-coder.toml False ['text', 'image', 'audio', 'video']
providers/helicone/models/qwen3-next-80b-a3b-instruct.toml False ['text', 'image', 'video']
providers/helicone/models/qwen3-vl-235b-a22b-instruct.toml False ['text', 'image', 'video']
providers/io-net/models/Qwen/Qwen2.5-VL-32B-Instruct.toml False ['text', 'image']
providers/io-net/models/meta-llama/Llama-3.2-90B-Vision-Instruct.toml False ['text', 'image']
providers/io-net/models/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8.toml False ['text', 'image']
providers/io-net/models/mistralai/Mistral-Large-Instruct-2411.toml False ['text', 'image']
providers/kimi-for-coding/models/k3-256k.toml False ['text', 'image']
providers/llama/models/cerebras-llama-4-maverick-17b-128e-instruct.toml True ['text']
providers/llama/models/cerebras-llama-4-scout-17b-16e-instruct.toml True ['text']
providers/llama/models/groq-llama-4-maverick-17b-128e-instruct.toml True ['text']
providers/llama/models/llama-3.3-70b-instruct.toml True ['text']
providers/llama/models/llama-3.3-8b-instruct.toml True ['text']
providers/llmgateway-providers/models/openai/gpt-4o-mini-transcribe.toml False ['text', 'audio']
providers/llmgateway-providers/models/openai/gpt-4o-transcribe.toml False ['text', 'audio']
providers/lucidquery/models/lucidnova-rf1-100b.toml True ['text']
providers/lucidquery/models/lucidquery-nexus-coder.toml True ['text']
providers/meganova/models/Qwen/Qwen3.5-Plus.toml False ['text', 'image', 'video']
providers/meganova/models/moonshotai/Kimi-K2.5.toml False ['text', 'image']
providers/mistral/models/labs-devstral-small-2512.toml False ['text', 'image']
providers/mistral/models/mistral-small-2506.toml False ['text', 'image']
providers/mistral/models/voxtral-mini-latest.toml False ['audio']
providers/moonshotai-cn/models/kimi-k2.5.toml False ['text', 'image', 'video']
providers/moonshotai/models/kimi-k2.5.toml False ['text', 'image', 'video']
providers/nearai/models/black-forest-labs/FLUX.2-klein-4B.toml False ['text', 'image']
providers/nearai/models/openai/whisper-large-v3.toml False ['audio']
providers/nvidia/models/black-forest-labs/flux_2-klein-4b.toml False ['image', 'text']
providers/nvidia/models/openai/whisper-large-v3.toml False ['audio']
providers/openai/models/gpt-4.toml True ['text']
providers/opencode-go/models/mimo-v2-pro.toml True ['text']
providers/opencode-go/models/mimo-v2.5-pro.toml True ['text']
providers/opencode-go/models/minimax-m3.toml False ['text', 'image', 'video']
providers/opencode/models/grok-code.toml True ['text']
providers/opencode/models/mimo-v2-pro-free.toml True ['text']
providers/opencode/models/minimax-m3-free.toml False ['text', 'image', 'video']
providers/poe/models/cerebras/gpt-oss-120b-cs.toml True ['text']
providers/poe/models/cerebras/llama-3.1-8b-cs.toml True ['text']
providers/poe/models/cerebras/llama-3.3-70b-cs.toml True ['text']
providers/poe/models/cerebras/qwen3-235b-2507-cs.toml True ['text']
providers/poe/models/cerebras/qwen3-32b-cs.toml True ['text']
providers/poe/models/elevenlabs/elevenlabs-music.toml True ['text']
providers/poe/models/elevenlabs/elevenlabs-v2.5-turbo.toml True ['text']
providers/poe/models/elevenlabs/elevenlabs-v3.toml True ['text']
providers/poe/models/empiriolabs/deepseek-v4-flash-el.toml True ['text']
providers/poe/models/empiriolabs/deepseek-v4-pro-el.toml True ['text']
providers/poe/models/google/imagen-3-fast.toml True ['text']
providers/poe/models/google/imagen-3.toml True ['text']
providers/poe/models/google/imagen-4-fast.toml True ['text']
providers/poe/models/google/imagen-4-ultra.toml True ['text']
providers/poe/models/google/imagen-4.toml True ['text']
providers/poe/models/google/lyria.toml True ['text']
providers/poe/models/google/veo-2.toml True ['text']
providers/poe/models/google/veo-3-fast.toml True ['text']
providers/poe/models/google/veo-3.1.toml True ['text']
providers/poe/models/google/veo-3.toml True ['text']
providers/poe/models/ideogramai/ideogram-v2a-turbo.toml True ['text']
providers/poe/models/ideogramai/ideogram-v2a.toml True ['text']
providers/poe/models/novita/deepseek-v3.2.toml True ['text']
providers/poe/models/novita/glm-4.6.toml True ['text']
providers/poe/models/novita/glm-4.7-flash.toml True ['text']
providers/poe/models/novita/glm-4.7-n.toml True ['text']
providers/poe/models/novita/glm-4.7.toml True ['text']
providers/poe/models/novita/glm-5.toml True ['text']
providers/poe/models/novita/kimi-k2-thinking.toml True ['text']
providers/poe/models/novita/minimax-m2.1.toml True ['text']
providers/poe/models/openai/dall-e-3.toml True ['text']
providers/poe/models/openai/gpt-4o-mini-search.toml True ['text']
providers/poe/models/openai/gpt-4o-search.toml True ['text']
providers/poe/models/openai/gpt-5.1-codex-mini.toml True ['text']
providers/poe/models/openai/gpt-5.3-codex-spark.toml True ['text']
providers/poe/models/openai/o3-deep-research.toml True ['text']
providers/poe/models/openai/o4-mini-deep-research.toml True ['text']
providers/poe/models/poetools/claude-code.toml True ['text']
providers/poe/models/topazlabs-co/topazlabs.toml True ['text']
providers/poe/models/trytako/tako.toml True ['text']
providers/poe/models/xai/grok-3-mini.toml True ['text']
providers/poe/models/xai/grok-3.toml True ['text']
providers/poe/models/xai/grok-code-fast-1.toml True ['text']
providers/scaleway/models/gpt-oss-120b.toml True ['text']
providers/scaleway/models/llama-3.3-70b-instruct.toml True ['text']
providers/scaleway/models/whisper-large-v3.toml False ['audio']
providers/siliconflow-cn/models/Pro/moonshotai/Kimi-K2.5.toml False ['text', 'image']
providers/siliconflow-cn/models/Pro/moonshotai/Kimi-K2.6.toml False ['text', 'image']
providers/siliconflow-cn/models/Qwen/Qwen3.5-122B-A10B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.5-27B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.5-35B-A3B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.5-397B-A17B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.5-4B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.5-9B.toml False ['text', 'image', 'video']
providers/siliconflow-cn/models/Qwen/Qwen3.6-35B-A3B.toml False ['text', 'image', 'video']
providers/siliconflow/models/moonshotai/Kimi-K2.5.toml False ['text', 'image']
providers/siliconflow/models/moonshotai/Kimi-K2.6.toml False ['text', 'image']
providers/stepfun-ai/models/stepaudio-2.5-asr.toml False ['audio']
providers/stepfun/models/stepaudio-2.5-asr.toml False ['audio']
providers/togetherai/models/Qwen/Qwen3.5-397B-A17B.toml False ['text', 'image']
providers/togetherai/models/moonshotai/Kimi-K2.5.toml False ['text', 'image']
providers/vercel/models/alibaba/qwen-3.6-max-preview.toml True ['text']
providers/vercel/models/bytedance/seed-1.6.toml False ['text', 'image']
providers/vercel/models/bytedance/seed-1.8.toml False ['text', 'image']
providers/vercel/models/fish-audio/transcribe-1-free.toml False ['audio']
providers/vercel/models/fish-audio/transcribe-1.toml False ['audio']
providers/vercel/models/google/gemini-3.5-transcribe.toml False ['audio']
providers/vercel/models/interfaze/interfaze-beta.toml False ['text', 'image', 'pdf']
providers/vercel/models/kwaipilot/kat-coder-air-v2.5.toml False ['text', 'image']
providers/vercel/models/kwaipilot/kat-coder-pro-v2.5.toml False ['text', 'image']
providers/vercel/models/meta/llama-3.3-70b.toml True ['text']
providers/vercel/models/meta/muse-spark-1.1.toml False ['text', 'image', 'pdf']
providers/vercel/models/mistral/devstral-small-2.toml False ['text', 'image']
providers/vercel/models/mistral/mistral-medium-3.5.toml False ['text', 'image']
providers/vercel/models/mistral/mistral-nemo.toml False ['text', 'image']
providers/vercel/models/openai/gpt-4o-mini-transcribe.toml False ['audio']
providers/vercel/models/openai/gpt-4o-transcribe.toml False ['audio']
providers/vercel/models/openai/gpt-realtime-1.5.toml False ['text', 'audio']
providers/vercel/models/openai/gpt-realtime-2.1.toml False ['text', 'audio']
providers/vercel/models/openai/gpt-realtime-2.toml False ['text', 'audio']
providers/vercel/models/openai/gpt-realtime-mini.toml False ['text', 'audio']
providers/vercel/models/openai/whisper-1.toml False ['audio']
providers/vercel/models/perplexity/sonar-reasoning-pro.toml False ['text', 'image']
providers/vercel/models/spacexai/grok-stt.toml False ['audio']
providers/vercel/models/spacexai/grok-voice-think-fast-1.0.toml False ['text', 'audio']
providers/vercel/models/spacexai/grok-voice-think-fast-2.0.toml False ['text', 'audio']
providers/vivgrid/models/gpt-5.1-codex-max.toml False ['text', 'image']
providers/vivgrid/models/gpt-5.1-codex.toml False ['text', 'image']
providers/vivgrid/models/gpt-5.2-codex.toml False ['text', 'image']
providers/vivgrid/models/gpt-5.3-codex.toml False ['text', 'image']
providers/xpersona/models/xpersona-frieren-coder.toml False ['text', 'image']
providers/xpersona/models/xpersona-gpt-5.5.toml False ['text', 'image']
providers/zenmux/models/inclusionai/ring-2.6-1t.toml True ['text']
providers/zenmux/models/minimax/minimax-m2.7-highspeed.toml True ['text']
providers/zenmux/models/minimax/minimax-m2.7.toml True ['text']
providers/zenmux/models/openai/gpt-5.3-chat.toml True ['text']
providers/zenmux/models/openai/gpt-5.3-codex.toml True ['text']
providers/zenmux/models/openai/gpt-5.4-mini.toml True ['text']
providers/zenmux/models/volcengine/doubao-seed-2.0-code.toml True ['text']
providers/zenmux/models/z-ai/glm-5-turbo.toml True ['text']

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions