+
    lHàjN  ã                   óp  a€ RÉ t0 t R t^ RIHtHtHt RRRRRR/tRRRR	RR
/tR]R]/tRRRRRRRRRRRR/R R llt	R]	! RRRRR^RRRR/0 RÊmR 0 RËm^	R!7	      R"]	! R#R$R%R&R^2R'R(R)^RRRRR*R+R,R-/0 RÌmR.0 RÍm^	R!7	      R/]	! R0R1R2R3R^R)^RRRRR4R/0 RÎmR57      R6]	! R7R8R9R:RR)^RRR*R+R;R</0 RÏmR>0 RÐm^R?7
      R@]	! RARBRCRDRR)^RRR*RER;R<R=R-/0 RÑmRF0 RÒm^R?7
      RG]	! RHRIRJRKRLRRMRRNRRO/RPRQR)^RR/0 RÓmRR0 RÔm^RS7      RT]	! RURVRWRXRRRYRRRRZ/RPRQR)^RR/0 RÕmR[0 RÖm^RS7      /R× U UUu/ uFA  w  rpR\V  R]2]	! R^V P                  4        2WR_RRYRRRRZ/RPRQR)^RR/0 RØmR\V  R`20 RÙm^Ra7
      bKC  	  uppp C/ Rb]	! RcRdReRfRgRhRiR-RRj/0 RÚmRk0 RÛm^R!7	      bRl]	! RmR8RnRoRR/0 RÜmR57      bRp]	! RqRrRsRtR^R'RuR)^RRRvRw/0 RÝmRx0 RÞm^R!7	      bRy]	! RzR{R|R}RR~RQ/0 RßmR7      bR€]	! R�R‚RƒR„RR~RQ/0 RßmR7      bR…]	! R†R‡RˆR‰RRRŠR‹RŒR�/RRŠRŽRŒRŽ/RRŠR�RŒR‹//R)^RRRR/0 RàmR�0 Rám^
RS7      bR�]	! R‘RdR’R“R)^RR/0 RâmR57      bR”]	! R•RR–R—R˜R™RRRR/0 RãmR57      bRš]	! R›RœR�RžR˜R™RgRh/0 RämR57      bRŸ]	! R R8R¡R¢R)^RRR4RRR/0 RåmR£0 Ræm^R!7	      bR¤]	! R¥R‡R¦R§RR)^RR/0 RçmR7      bR¨]	! R©RªR«R¬RR)^RRR*R+/0 RèmR­0 Rém^R?7
      bR®]	! R¯R8R°R“RR/0 RÜmR57      bR±]	! R²RdR³R´RR)^RRR;RµRPRQ/0 RêmR¶0 Rëm^R?7
      bR·]	! R¸R‡R¹RºRR)^RRR;R»/0 RìmR¼0 Rím^R½R¾7      bR¿]	! RÀRdRÁRÂRR)^RR/0 RçmRÃ0 Rîm^
R?7
      bCt] ^ k RtRtRïtRÄt^tRtRÅtRÆtRÇtRÈt^t^tR# u uppp i )ðuj  FAL image model catalog + upscaler constants for ``tools.image_generation_tool``.

Each entry translates the unified inputs (prompt + aspect_ratio) into the model's native
payload. ``size_style``: ``"image_size_preset"`` (FAL preset enum), ``"aspect_ratio"`` (ratio
enum), ``"gpt_literal"`` (literal "WxH"). ``supports`` / ``edit_supports`` are whitelists â€”
other keys are stripped so models never receive rejected parameters. ``upscale`` is False
everywhere: Clarity redraws content (creativity 0.35) and degraded text/CJK/faces when
default-on, so upscaling is strictly per-call opt-in. Pricing strings may drift.
)ÚAnyÚDictÚOptionalÚ	landscapeÚlandscape_16_9ÚsquareÚ	square_hdÚportraitÚportrait_16_9z16:9z1:1z9:16Úimage_size_presetÚaspect_ratioÚstyleÚsizesNÚedit_endpointÚedit_supportsÚmax_reference_imagesÚedit_image_paramc                óˆ  € V ^8„  d   QhR\         R\         R\         R\         R\         R\        \        \         \        3,          ,          R\        \         \        3,          R\        R	\        \         ,          R
\        \        ,          R\        \
        ,          R\        \         ,          R\        \         \        3,          /# )é   ÚdisplayÚspeedÚ	strengthsÚpricer   r   ÚdefaultsÚsupportsr   r   r   r   Úreturn)Ústrr   Údictr   ÚsetÚint)Úformats   "ÚC/home/ubuntu/.hermes/hermes-agent/tools/image_generation_catalog.pyÚ__annotate__r"      s®   € ÷ ñ ÜðÜðÜ),ðÜ58ðÜDGðä”Dœœc˜•NÕ#ðä6:¼3Ä¸8µnðäPSðô œC•=ðô 9AÄ½ðô #¤3�-ð	ô CKÌ3Å-ð	ô
 
Œ#Œsˆ(…^ñó    c               ó�   € RT RTRTRTRTRVe   TM\         V,          RVRVR	R
/	pV'       d   WŒR&   WœR&   W¬R&   V'       d   W¼R&   V# )zÍBuild one catalog entry; edit keys are present only for edit-capable models. ``edit_image_param``
names the source-image key when the edit endpoint takes a singular ``image_url`` instead of ``image_urls``.r   r   r   r   Ú
size_styler   r   r   ÚupscaleFr   r   r   r   )Ú_DEFAULT_SIZES)r   r   r   r   r   r   r   r   r   r   r   r   Úentrys   &&&&$$$$$$$$ r!   Ú_modelr)      sn   € ð 	�7˜G U¨K¸ÀGÈUØ�e˜W¨uÒ/@¡eÄnÐUZÕF[Ø�H˜j¨(°I¸uð€E÷
 Ø!.ˆoÑØ!.ˆoÑØ(<Ð$Ñ%ßØ(8Ð$Ñ%Ø€Lr#   zfal-ai/flux-2/klein/9bzFLUX 2 Klein 9Bz<1szFast, crisp textz	$0.006/MPÚnum_inference_stepsÚoutput_formatÚpngÚenable_safety_checkerFzfal-ai/flux-2/klein/9b/edit)r   r   r   r   r   zfal-ai/flux-2-proz
FLUX 2 Proz~6szStudio photorealismz$0.03/MPÚguidance_scaleg      @Ú
num_imagesÚsafety_toleranceÚ5Ú	sync_modeTzfal-ai/flux-2-pro/editzfal-ai/z-image/turbozZ-Image Turboz~2szBilingual EN/CN, 6Bz	$0.005/MPÚenable_prompt_expansion)r   r   zfal-ai/nano-banana-proz$Nano Banana Pro (Gemini 3 Pro Image)z~8sz-Gemini 3 Pro, reasoning depth, text renderingz$0.15/image (1K)Ú
resolutionÚ1KÚlimit_generationszfal-ai/nano-banana-pro/edit)r   r   r   r   r   r   zfal-ai/nano-banana-2z&Nano Banana 2 (Gemini 3.1 Flash Image)z~3sz/Fast reasoning, multilingual text, infographicszLower-cost Flash tierÚ4zfal-ai/nano-banana-2/editzfal-ai/gpt-image-1.5zGPT Image 1.5z~15szPrompt adherencez$0.034/imageÚgpt_literalÚ	1536x1024Ú	1024x1024Ú	1024x1536ÚqualityÚmediumzfal-ai/gpt-image-1.5/edit)r   r   r   r   r   r   r   zfal-ai/gpt-image-2zGPT Image 2z~20sz3SOTA text rendering + CJK, world-aware photorealismu   $0.04â€“0.06/imageÚlandscape_4_3Úportrait_4_3zopenai/gpt-image-2/editzopenai/gpt-image-2.5/z/text-to-imagezGPT Image 2.5 zToken-based pricingz/edit)r   r   r   r   r   r   zfal-ai/ideogram/v3zIdeogram V3z~5szBest typographyz$0.03-0.09/imageÚrendering_speedÚBALANCEDÚexpand_promptÚAUTOzfal-ai/ideogram/v3/editz#fal-ai/recraft/v4/pro/text-to-imagezRecraft V4 Proz'Design, brand systems, production-readyz$0.25/imagezfal-ai/qwen-imagez
Qwen Imagez~12szLLM-based, complex textz$0.02/MPg      @ÚaccelerationÚregularzfal-ai/qwen-image-2/pro/editz#fal-ai/krea/v2/medium/text-to-imagezKrea 2 Mediumz~15-25sz9Illustration, anime, painting, expressive/artistic stylesz#$0.030 (text) / $0.035 (style refs)Ú
creativity)r   r   r   z"fal-ai/krea/v2/large/text-to-imagezKrea 2 Largez~25-60sz;Photorealism, raw textured looks (motion blur, grain, film)z#$0.060 (text) / $0.065 (style refs)z'bytedance/seedream/v5/pro/text-to-imagezSeedream 5.0 Proz~10sz>ByteDance flagship, dense layouts, native text in 14 languagesu   $0.0675/image (â‰¤1536Â²)Úwidthi   Úheighti€  i   zbytedance/seedream/v5/pro/editz(bytedance/seedream/v5/lite/text-to-imagezSeedream 5.0 Litez)Fast/cheap Seedream tier, high-res outputz$0.035/imagezideogram/v4/instantzIdeogram V4 (Instant)z2Latest Ideogram typography, posters/logos, instantz
$0.0075/MPÚexpansion_modelÚMediumzideogram/v4/fastzIdeogram V4 (Fast)z~1sz-Ideogram V4 quality tiers via rendering_speedz$0.005-0.018/MPz"alibaba/qwen-image-3/text-to-imagezQwen Image 3z6Complex CN/EN text rendering, prompt-guided resolutionz"$0.04 (1K) / $0.075 (2K) per imagezalibaba/qwen-image-3/editzmicrosoft/mai-image-2.5-prozMAI Image 2.5 Proz4Microsoft flagship, hero imagery, precise typographyz~$0.17/imagezgoogle/nano-banana-2-litezNano Banana 2 Litez<2sz;Gemini image family, sub-2s, 14 aspect ratios incl. extremez~$0.04/image (1K fixed)zgoogle/nano-banana-2-lite/editz!fal-ai/recraft/v4.1/text-to-imagezRecraft V4.1z-Design-first raster, brand systems, editorialz)xai/grok-imagine-image/v2.0/text-to-imagezGrok Imagine Image 2.0z:xAI. Design-grade typography/layout, instruction followingz$0.06/image (1K medium)Ú1kz xai/grok-imagine-image/v2.0/editz#fal-ai/kling-image/v3/text-to-imagezKling Image v3z8Kuaishou. Realistic detail, cheap native 2K, wide AR setz$0.028/imageÚ2Kz$fal-ai/kling-image/v3/image-to-imageÚ	image_url)r   r   r   r   r   r   r   zmeta/muse-image/text-to-imagezMeta Muse Imagez-Meta. Realism + typography at commodity pricez$0.01/imagezmeta/muse-image/editzfal-ai/clarity-upscalerz"masterpiece, best quality, highresz.(worst quality, low quality, normal quality:2)gffffffÖ?g333333ã?c                ó„   € V ^8„  d   Qh/ ^ \         9   d,   \        \        \        \        \        3,          3,          ;R&   # )r   Ú
FAL_MODELS)Ú__conditional_annotations__r   r   r   )r    s   "r!   r"   r"      s9   € ÷ ñ ÷NTò TŒD””dœ3¤˜8•nÐ$Õ%ñ TòOr#   >   ÚseedÚpromptÚ
image_sizer+   r*   r-   >   rQ   rR   Ú
image_urlsr+   r*   r-   >
   rQ   rR   r2   rS   r/   r+   r.   r0   r*   r-   >
   rQ   rR   r2   rT   r/   r+   r.   r0   r*   r-   >   rQ   rR   rS   r/   r+   r*   r-   r3   >
   rQ   rR   r2   r/   r4   r   r+   r0   Úenable_web_searchr6   >   rQ   rR   r2   rT   r/   r4   r   r+   r0   rU   r6   >   rQ   rR   r2   r/   r4   r   r+   Úsystem_promptÚthinking_levelr0   rU   r6   >   rQ   rR   r2   rT   r/   r4   r   r+   rV   rW   r0   rU   r6   >   rR   r<   r2   Ú
backgroundrS   r/   r+   >   rR   r<   r2   rS   rT   r/   r+   >   rR   r<   r2   rS   r/   r+   >   rR   r<   r2   rT   r/   r+   Úmask_image_url))ÚflareÚFastz0Everyday creation, natural lighting and textures)ÚsunburstÚSlowerz6Precision editing, subject and composition consistency>   rR   r<   r2   rX   rS   r/   r+   Úoutput_compression>   rR   r<   Úmask_urlr2   rX   rS   rT   r/   r+   Úinput_fidelityr^   >   rQ   r   rR   rS   rB   r@   >   rQ   r   rR   rT   rB   r@   >   ÚcolorsrR   rS   Úbackground_colorr-   >	   rQ   rR   r2   rS   r/   rD   r+   r.   r*   >	   rQ   rR   r2   rT   r/   rD   r+   r.   r*   >   rQ   rR   rF   r   Úimage_style_references>   rR   r2   rS   r/   r+   r-   >   rR   r2   rS   rT   r/   r+   r-   >   rR   r2   rS   Ú
max_imagesr/   r-   >   rQ   rR   r2   rS   r/   r+   rI   r-   >   rQ   rR   r2   rS   r/   rI   r@   >	   rQ   rR   r2   rS   r/   r+   Únegative_promptr-   r3   >	   rQ   rR   r2   rT   r/   r+   re   r-   r3   >   rR   r2   r/   r   r+   >
   rQ   rR   r2   r/   r   r+   rV   rW   r0   r6   >	   rQ   rR   r2   rT   r/   r   r+   rV   r0   >   rR   r<   r2   r/   r4   r   r+   >   rR   r<   r2   rT   r/   r4   r+   >   rR   r2   r/   r4   r   r+   re   >   rR   rM   r2   r/   r4   r   r+   >   rR   r2   rT   r/   r+   )r   r   r	   )rP   Ú__doc__Útypingr   r   r   Ú_PRESET_SIZESÚ_ASPECT_SIZESr'   r)   ÚtitlerO   ÚDEFAULT_MODELÚDEFAULT_ASPECT_RATIOÚVALID_ASPECT_RATIOSÚUPSCALER_MODELÚUPSCALER_FACTORÚUPSCALER_SAFETY_CHECKERÚUPSCALER_DEFAULT_PROMPTÚUPSCALER_NEGATIVE_PROMPTÚUPSCALER_CREATIVITYÚUPSCALER_RESEMBLANCEÚUPSCALER_GUIDANCE_SCALEÚUPSCALER_NUM_INFERENCE_STEPSr"   )Úvariantr   r   rP   s   000@r!   Ú<module>rx      s„  øðö÷ 'Ñ &àÐ.°¸+ÀzÐSbÐc€Ø˜f h°°zÀ6ÐJ€Ø% }°nÀmÐT€ðØJ]ðà&*ðð $(ðð IMðð +/ð	ð SW÷	ð. ™fØ˜5Ð"4°kà! 1 o°uÐ>UÐW\ð
ò
ð 4ò
ð ôð ™Ø�eÐ2°Jà! 2Ð'7¸¸lÈAØ˜UÐ$;¸UÐDVÐX[Ø˜ð
ò

ð /ò
ð ô!ð$ ™FØ˜Ð 5°{à! 1 l°A°ÈØ# UÐ,EÀuð
ò
ô
ð ™fØ.°Ð7fÐhzØð ˜!˜_¨eÐ5GÈØ˜$ð
ò
ð 4ò
ð ô#ð& ™FØ0°%Ð9jð  mDØà˜!˜_¨eÐ5GÈØ˜$Ð 3°Tð
ò
ð 2ò
ð
  ô#ð& ™FØ˜Ð!3°^ØØ˜ h°¸ZÈð$
ð
 ˜X |°Q¸ÈÐOò
ð 2ò
ð  ôð, ™&Ø�vÐTÐVjØ!Ø˜¨(°KÀÈ^ð*
ð ˜X |°Q¸ÈÐOò
ð 0ò
ð  ôðQT)ñV*
õ%ñ$*
Ñ%ˆG˜Ið#   ˜y¨Ð7¹Ø˜WŸ]™]›_Ð-Ð.°ÐBWà˜_¨h¸ÀZÐQ_ðð   ¨<¸¸OÈUÐSòð 2°'°¸%Ð@òð "$ô:
ò 	
ñ"*
ó%ñsT)ð` ™&Ø�uÐ/Ð1CØ# Z°À$ÈÐQWÐXò
ð 0ò
ð ôðaT)ðx *©6Ø˜%Ð!JÈMØ)¨5Ð1ò
ô,ðyT)ðF ™Ø�fÐ7¸à! 2Ð'7¸¸lÈAØ˜U N°Ið
ò
ð 5ò
ð ôðGT)ðl *©6Ø˜Ð$_ð  bGØØ Ð)ò
ô	,ðmT)ð| )©&Ø˜	Ð#`ð  cHØØ Ð)ò
ô	+ð}T)ðV .©vØ˜FÐ$dð  gBØ!Ø˜' 4¨°4Ð8Ø�w  h°Ð5Ø˜ $¨°$Ð7ð*
ð ˜!˜_¨eÐ5LÈeð
ò
ð 7ò
ð  ô%0ðWT)ðB /±Ø˜UÐ$OÐQ_Ø Ð#:¸EÐBò
ô1ðCT)ðP ™6Ø Ð(\Ð^jà˜x¨¸%Ø# Uð
ò
ô
ðQT)ðf ™Ø˜eÐ%TÐVgØ# XÐ/@À*ÐMò
ôðgT)ðt )©&Ø˜ÐWÐY}à˜!˜_¨eÐ5NÐPUØ# Uð
ò
ð 2ò
ð ô+ðuT)ðV "¡6Ø˜VÐ%[Ð]kØØ  ?°EÐ:ÚWô	$ðWT)ðb  ¡Ø˜eÐ%bÐd}ØØ  ?°EÐ;MÈsÐSò
ð 7ò
ð ô"ðcT)ð@	 (©Ø˜ÐNÐP^Ø)¨5Ð1ò
ô*ðA	T)ðN	 0±Ø  %Ð)eð  hAØð
 ˜!˜_¨e°\À4ÈÐT\ð
ò
ð 9ò
ð ô!2ðO	T)ðv	 *©6Ø˜&Ð"\Ð^lØØ  ?°E¸<ÈÐNò
ð =ò
ð °ô,ðw	T)ðP
 $¡VØ˜5Ð"QÐS`Øð   ?°EÐ:ÚWØ,ÚZØô&ñQ
T)€
ó Tðp
 )€à"Ð Ø9Ð ð +€Ø€ØÐ Ø>Ð ØKÐ ØÐ ØÐ ØÐ Ø!Ò ùô[s   Ä AL1
