ngx-prompt-kit

Model Icon

ngx-prompt-kit original — not part of ibelick/prompt-kit

A monochrome icon for every OpenRouter vendor, copied into your app by the schematic and served with it, so no icon is fetched from a third party. providerIconUrl() and makerIconUrl() turn a model id into its icon's URL for pk-model-selector (iconUrl, makerIconUrl) and pk-model-browser (iconUrl). Vendors without an icon get a neutral box. The set also has an icon per inference provider (Groq, Azure, Bedrock, Ollama, ...), which iconUrl() resolves by file name.

Examples

Every bundled icon

One SVG per vendor slug (the part of the model id before the slash), plus gemma and the unknown fallback. They are black on transparent: render them with dark:invert, as in the dark panel.

aion-labsaion-labs
amazonamazon
anthracite-organthracite-org
anthropicanthropic
arcee-aiarcee-ai
baidubaidu
bytedancebytedance
bytedance-seedbytedance-seed
cognitivecomputationscognitivecomputations
coherecohere
deepseekdeepseek
dots-studiodots-studio
fireworksfireworks
googlegoogle
gryphegryphe
ibm-graniteibm-granite
inceptioninception
inclusionaiinclusionai
inference-netinference-net
kwaipilotkwaipilot
liquidliquid
mancermancer
meituanmeituan
metameta
meta-llamameta-llama
microsoftmicrosoft
minimaxminimax
mistralaimistralai
moonshotaimoonshotai
morphmorph
nex-aginex-agi
nousresearchnousresearch
nvidianvidia
openaiopenai
openrouteropenrouter
perceptronperceptron
perplexityperplexity
poolsidepoolside
prism-mlprism-ml
qwenqwen
rekaairekaai
relacerelace
sakanasakana
sao10ksao10k
stealthstealth
stepfunstepfun
tencenttencent
thedrummerthedrummer
thinkingmachinesthinkingmachines
typesafetypesafe
unbiasedunbiased
undi95undi95
upstageupstage
writerwriter
x-aix-ai
xiaomixiaomi
z-aiz-ai
gemmagemma
unknownunknown
aion-labsaion-labs
amazonamazon
anthracite-organthracite-org
anthropicanthropic
arcee-aiarcee-ai
baidubaidu
bytedancebytedance
bytedance-seedbytedance-seed
cognitivecomputationscognitivecomputations
coherecohere
deepseekdeepseek
dots-studiodots-studio
fireworksfireworks
googlegoogle
gryphegryphe
ibm-graniteibm-granite
inceptioninception
inclusionaiinclusionai
inference-netinference-net
kwaipilotkwaipilot
liquidliquid
mancermancer
meituanmeituan
metameta
meta-llamameta-llama
microsoftmicrosoft
minimaxminimax
mistralaimistralai
moonshotaimoonshotai
morphmorph
nex-aginex-agi
nousresearchnousresearch
nvidianvidia
openaiopenai
openrouteropenrouter
perceptronperceptron
perplexityperplexity
poolsidepoolside
prism-mlprism-ml
qwenqwen
rekaairekaai
relacerelace
sakanasakana
sao10ksao10k
stealthstealth
stepfunstepfun
tencenttencent
thedrummerthedrummer
thinkingmachinesthinkingmachines
typesafetypesafe
unbiasedunbiased
undi95undi95
upstageupstage
writerwriter
x-aix-ai
xiaomixiaomi
z-aiz-ai
gemmagemma
unknownunknown

Model id → icon

providerIconUrl gives Gemma its own icon under Google; makerIconUrl always gives the vendor's, which is what the selector's maker rail shows. The ~vendor alias form resolves like the vendor; an unknown vendor gets the box.

openai/gpt-5 iconopenai/gpt-5 maker iconopenai/gpt-5
anthropic/claude-sonnet-5.5 iconanthropic/claude-sonnet-5.5 maker iconanthropic/claude-sonnet-5.5
~anthropic/claude-opus-5.5 icon~anthropic/claude-opus-5.5 maker icon~anthropic/claude-opus-5.5
google/gemini-3-pro icongoogle/gemini-3-pro maker icongoogle/gemini-3-pro
google/gemma-3-27b-it icongoogle/gemma-3-27b-it maker icongoogle/gemma-3-27b-it
meta-llama/llama-4-maverick iconmeta-llama/llama-4-maverick maker iconmeta-llama/llama-4-maverick
mistralai/mistral-large iconmistralai/mistral-large maker iconmistralai/mistral-large
deepseek/deepseek-v4 icondeepseek/deepseek-v4 maker icondeepseek/deepseek-v4
x-ai/grok-5 iconx-ai/grok-5 maker iconx-ai/grok-5
somevendor/mystery-model iconsomevendor/mystery-model maker iconsomevendor/mystery-model

Provider icons

The platforms that serve models: clouds, hosted inference, local runtimes and speech or embedding APIs. They are not keyed by model id, so iconUrl(name) takes the file name. It does not check the file exists; these are the names in the set.

ai21ai21
akashmlakashml
aleph-alphaaleph-alpha
alibaba-cloudalibaba-cloud
assemblyaiassemblyai
atlascloudatlascloud
awsaws
azure-aiazure-ai
azureazure
baidu-cloudbaidu-cloud
basetenbaseten
bedrockbedrock
cerebrascerebras
chuteschutes
cloudflarecloudflare
coreweavecoreweave
crusoecrusoe
decartdecart
deepgramdeepgram
deepinfradeepinfra
digitaloceandigitalocean
elevenlabselevenlabs
featherlessfeatherless
fishaudiofishaudio
friendlifriendli
githubgithub
glamaglama
gmicloudgmicloud
google-ai-studiogoogle-ai-studio
groqgroq
huggingfacehuggingface
hyperbolichyperbolic
ibmibm
inceptroninceptron
infermaticinfermatic
infomaniakinfomaniak
ionetionet
ionosionos
jinajina
klusterkluster
lambdalambda
llama-cppllama-cpp
lmstudiolmstudio
localailocalai
modalmodal
nebiusnebius
nextbitnextbit
novitanovita
ollamaollama
open-inferenceopen-inference
ovhcloudovhcloud
parasailparasail
phalaphala
prime-intellectprime-intellect
replicatereplicate
sail-researchsail-research
sambanovasambanova
scalewayscaleway
siliconflowsiliconflow
snowflakesnowflake
streamlakestreamlake
targontargon
tencent-cloudtencent-cloud
togethertogether
venicevenice
vercelvercel
vertex-aivertex-ai
vllmvllm
voyagevoyage
waferwafer
workers-aiworkers-ai
xinferencexinference
zenmuxzenmux
ai21ai21
akashmlakashml
aleph-alphaaleph-alpha
alibaba-cloudalibaba-cloud
assemblyaiassemblyai
atlascloudatlascloud
awsaws
azure-aiazure-ai
azureazure
baidu-cloudbaidu-cloud
basetenbaseten
bedrockbedrock
cerebrascerebras
chuteschutes
cloudflarecloudflare
coreweavecoreweave
crusoecrusoe
decartdecart
deepgramdeepgram
deepinfradeepinfra
digitaloceandigitalocean
elevenlabselevenlabs
featherlessfeatherless
fishaudiofishaudio
friendlifriendli
githubgithub
glamaglama
gmicloudgmicloud
google-ai-studiogoogle-ai-studio
groqgroq
huggingfacehuggingface
hyperbolichyperbolic
ibmibm
inceptroninceptron
infermaticinfermatic
infomaniakinfomaniak
ionetionet
ionosionos
jinajina
klusterkluster
lambdalambda
llama-cppllama-cpp
lmstudiolmstudio
localailocalai
modalmodal
nebiusnebius
nextbitnextbit
novitanovita
ollamaollama
open-inferenceopen-inference
ovhcloudovhcloud
parasailparasail
phalaphala
prime-intellectprime-intellect
replicatereplicate
sail-researchsail-research
sambanovasambanova
scalewayscaleway
siliconflowsiliconflow
snowflakesnowflake
streamlakestreamlake
targontargon
tencent-cloudtencent-cloud
togethertogether
venicevenice
vercelvercel
vertex-aivertex-ai
vllmvllm
voyagevoyage
waferwafer
workers-aiworkers-ai
xinferencexinference
zenmuxzenmux

Installation

Adds the helpers to your components folder and copies the icons, with SOURCES.md, to public/model-icons. Pass --assets-path to put them in another folder your app serves; the helpers' URLs follow it (src/assets/model-icons is served at /assets/model-icons).

ng generate ngx-prompt-kit:model-icon
# or into another static folder
ng generate ngx-prompt-kit:model-icon --assets-path=src/assets/model-icons

Where each icon comes from and its licence is listed in SOURCES.md, which is copied next to the icons. Most are LobeHub's (MIT), a few Simple Icons' (CC0); every logo stays a trademark of its owner and only labels that owner's models or service.

Component API

model-icon

PropTypeDefaultDescription
providerIconUrl(model)({ id, provider? }) => string — The model's icon: its vendor's, or Gemma's for Google's Gemma models. The vendor is the part of the id before the slash (a leading ~ is dropped), or provider when the id has none.
makerIconUrl(model)({ id, provider? }) => string — The vendor's own icon, without sub-brands; for pk-model-selector's maker rail.
iconUrl(name)(name: string) => string — The icon with this file name, without .svg: for inference providers (groq, azure, ollama, ...), which are not keyed by model id. Follows assetsPath like the others; does not check the file exists.
VENDORSReadonlySet<string> — The vendor slugs that have an icon. Anything else resolves to unknown.svg.
modelIconUrl(model)({ id, provider? }) => string — Deprecated alias of providerIconUrl, kept for existing callers.