docs(hermes-nabil): routage image OpenRouter par besoin et par cout
This commit is contained in:
@@ -139,3 +139,29 @@ se declenche, la raison de l'echec du backend principal est ecrite sur **stderr*
|
||||
Toujours formuler en **conservant explicitement le sujet** ("garde X exactement identique"),
|
||||
sinon le modele reinvente l'image. Pour un PNG reellement transparent : sujet sur fond blanc plat
|
||||
puis detourage flood-fill PIL depuis les bords (cf [openrouter-image-gen.md](openrouter-image-gen.md)).
|
||||
|
||||
## 7. Routage image OpenRouter : le moins cher qui couvre le besoin
|
||||
|
||||
`/data/nyora/nyora_models.py`. Le catalogue OpenRouter est interroge (cache 24 h),
|
||||
filtre sur les modeles a sortie image, puis classe par **cout estime par image**.
|
||||
|
||||
**Piege de comparaison** : comparer les prix **au token** entre familles est faux —
|
||||
une image consomme ~1290 tokens de sortie chez Gemini contre ~1568 chez OpenAI.
|
||||
Sans cette normalisation, `gpt-5-image-mini` paraissait moins cher que
|
||||
`gemini-2.5-flash-image` alors qu'il est plus cher a l'image.
|
||||
**Piege de sous-chaine** : `"gpt-5-image" in "gpt-5-image-mini"` est vrai — le mini
|
||||
etait classe premium par erreur. Les modeles brides (`lite`, `-mini`) sont exclus explicitement.
|
||||
|
||||
| besoin | usage | modele (18/07/2026) | cout/image | latence mesuree |
|
||||
|---|---|---|---|---|
|
||||
| `brouillon` | iteration, essai jetable | `google/gemini-3.1-flash-lite-image` | ~0,0019 $ | 3 s |
|
||||
| `flyer` | visuel de production, edition | `google/gemini-2.5-flash-image` | ~0,0032 $ | 6 s |
|
||||
| `premium` | texte DANS l'image, logo, affiche | `google/gemini-3-pro-image` | ~0,0155 $ | 26 s |
|
||||
|
||||
**Regle economique** : `premium` seulement si l'image doit contenir du **texte lisible**.
|
||||
Dans un flyer Nyora le texte est pose en HTML (net, orthographie, corrigeable) —
|
||||
donc `flyer` suffit et coute **5 fois moins cher** pour un rendu final superieur.
|
||||
|
||||
Aucun modele n'est code en dur : une baisse de prix ou un nouveau modele chez OpenRouter
|
||||
est pris en compte automatiquement (`--refresh` pour forcer). En cas d'echec du moins cher,
|
||||
les suivants sont essayes par cout croissant, et l'ecart est journalise sur stderr.
|
||||
|
||||
Reference in New Issue
Block a user