Mimo

De petits esprits nés de chaînes de caractères.
Toujours animés.

Mimo (/miˈmo/) est un système d’avatars open source qui génère des personnages uniques à partir de n’importe quelle chaîne. Contrairement aux avatars classiques, chaque Mimo est entièrement animé — cligne des yeux, flotte et jette des regards — dès la première utilisation. 145 152 combinaisons uniques garantissent que deux avatars ne se ressemblent jamais.

Découvrir le playground→

Démarrage rapide

Essayez : entrez un nom, ajustez les options et regardez l’avatar évoluer en direct. Intégrez-le à votre projet avec l’API ou le composant React.

  • Nom
  • Arrière-plan -
  • Forme - -
  • Détails - - -
  • Profondeur - - -
  • Expression - - - - -
  • Animations - - - - - -

API

Générez des avatars au format SVG via HTTP. name correspond au segment de l’URL ; toutes les autres options passent dans la chaîne de requête.

<img src="https://api.mimoid.fun/mimo?animations=blink" />

React

Importez le composant Mimo et transmettez-lui une chaîne name. Ses props correspondent aux paramètres de l’API.

import { Mimo } from "mimo-id/react";

<Mimo
  name="mimo"
  size={48}
  animations={["blink"]}
/>

Déterministe

Les avatars sont dérivés du hachage de la chaîne saisie : un même nom produit toujours le même visage. La génération est entièrement déterministe ; rien n’est stocké ni récupéré.

« alice » — toujours identiques
Noms différents, visages différents

145 152 combinaisons

Les visages sont composés de 6 styles d’yeux × 4 types de sourcils × 7 bouches × 2 options de joues × 3 accessoires × 16 couleurs × 9 rotations.

  • Yeuxround - cross - line - curved - wink - heart
  • Bouchessmile - grin - o - cat - tongue - smirk - flat
  • Sourcilsarched - flat - raised - none
  • Jouesblush - none
  • Accessoiresglasses - sunglasses - none

Couleurs

Seize dégradés pastel doux, avec un rendu radial pour un effet 3D subtil.
Transmettez un tableau gradients personnalisé pour utiliser votre propre palette.

Lavande
Pêche
Menthe
Ciel
Corail
Jaune beurre
Sauge
Rose poudré
Sable
Glace
Orchidée
Acier
Crème
Iris
Rose
Fougère

Variantes

Les variantes sont des styles visuels modulaires. Chacune définit son propre ensemble de propriétés — mood, animations, detailLevel, etc. Passez directement une fabrique de variante ou préconfigurez-la avec un descripteur.

import { faces } from "mimo-id/variants";

// Pass directly — configure via props
<Mimo name="luna" variant={faces} background="solid" mood="happy" />

// Or pre-configure with a descriptor
<Mimo name="luna" variant={faces({ background: "solid", detailLevel: "full" })} />
Faces
?
D’autres bientôt…

Expressions

Choisissez une expression à appliquer à l’avatar, indépendamment des traits générés.

<Mimo name="user" mood="happy" />
<Mimo name="user" mood="cool" />
HeureuxYeux arqués, grand sourire
SurprisYeux ronds, bouche en O
SomnolentYeux en trait, bouche neutre
DécontractéLunettes de soleil, sourire en coin
MalicieuxClin d’œil, langue tirée, joues roses

Animations

Passez un tableau animations pour donner vie aux avatars. Toutes les animations reposent sur CSS et sont injectées à la demande : combinez-les librement. Passez une chaîne pour utiliser les valeurs par défaut, ou un objet avec type, delay et duration pour personnaliser le timing.

<Mimo
  name="sprite"
  animations={["blink", "float", "sway", "eyeWander"]}
/>

// With custom timing
<Mimo
  name="sprite"
  animations={[
    "blink",
    { type: "float", duration: 4, delay: 0.5 },
  ]}
/>
blink
float
sway
eyeWander
eyebrowBounce
glance
entrance
Combinées

Forme

Choisissez une découpe circulaire, squircle ou carrée pour l’avatar.

<Mimo name="user" shape="circle" />
<Mimo name="user" shape="squircle" />
<Mimo name="user" shape="square" />
circle
squircle
square

Effets 3D

Quatre niveaux de profondeur pour les transformations de perspective 3D en CSS. Le visage s’incline selon la rotation déterministe. Dans React, il s’aplatit au survol lorsque interactive est activé.

<Mimo name="user" depth="dramatic" />
none
subtle
medium
dramatic

Niveaux de détail

La visibilité des traits s’adapte automatiquement à la taille. Les petits avatars affichent moins de détails pour rester lisibles. Remplacez ce comportement avec la prop detailLevel.

minimal< 32px — les yeux uniquement
basic32-48px — + la bouche
standard48-64px — + les sourcils
full>= 64px — tous les traits

Dégradés personnalisés

Remplacez la palette par défaut par vos propres paires de dégradés avec la prop gradients. L’API accepte des paires hexadécimales comme E8D5F5-C7A4E0,FFE0D0-FFB899.

const brand = [
  { from: "#667EEA", to: "#764BA2" },
  { from: "#F093FB", to: "#F5576C" },
];

<Mimo name="user" gradients={brand} />

Référence

Les props et les paramètres de l’API portent les mêmes noms. Dans l’API, name est le segment de chemin de l’URL ; tous les autres sont des paramètres de requête.

Général

Propriété / paramètreTypePar défautDescription
namestring-Chaîne d’entrée pour une génération déterministe. API : segment de chemin de l’URL.
sizenumber40 / 128Dimensions de l’avatar en pixels. Valeur par défaut pour React : 40. Valeur par défaut pour l’API : 128.
shape"circle" | "squircle" | "square""circle"Forme de découpe de l’avatar. Squircle utilise une courbure continue de type Apple.
variant"faces""faces"Extension de variante à utiliser pour le rendu.
interactiveREACTbooleantrueActiver l’interaction au survol.

Faces

Propriété / paramètreTypePar défautDescription
background"gradient" | "solid""gradient"Style d’arrière-plan.
mood"happy" | "surprised" | "sleepy" | "cool" | "cheeky"-Remplacer l’expression.
detailLevel"minimal" | "basic" | "standard" | "full"autoNiveau de visibilité des traits. S’adapte à la taille par défaut.
depth"none" | "subtle" | "medium" | "dramatic""dramatic"Profondeur de transformation de perspective 3D.
animationsAnimation<"blink" | "float" | "sway" | "eyeWander" | "eyebrowBounce" | "glance" | "entrance">[][]Chaîne ou objet avec type, delay et duration. API : valeurs séparées par des virgules.
gradientsGradientPair<{ from: string, to: string }>[]-Palette de dégradés personnalisée. API : paires hexadécimales comme E8D5F5-C7A4E0,FFE0D0-FFB899.
Créé par
Kevin Kenfack@thekenfack

Tout s’exécute dans votre navigateur. Aucune image, aucune donnée stockée ou envoyée.

v1.0.0, 2026·X (Twitter)·GitHub