Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
🔲 ☆

Gemini 3 Flash

It continues to be a busy December, if not quite as busy as last year. Today's big news is Gemini 3 Flash, the latest in Google's "Flash" line of faster and less expensive models.

Google are emphasizing the comparison between the new Flash and their previous generation's top model Gemini 2.5 Pro:

Building on 3 Pro’s strong multimodal, coding and agentic features, 3 Flash offers powerful performance at less than a quarter the cost of 3 Pro, along with higher rate limits. The new 3 Flash model surpasses 2.5 Pro across many benchmarks while delivering faster speeds.

Gemini 3 Flash's characteristics are almost identical to Gemini 3 Pro: it accepts text, image, video, audio, and PDF, outputs only text, handles 1,048,576 maximum input tokens and up to 65,536 output tokens, and has the same knowledge cut-off date of January 2025 (also shared with the Gemini 2.5 series).

The benchmarks look good. The cost is appealing: 1/4 the price of Gemini 3 Pro ≤200k and 1/8 the price of Gemini 3 Pro >200k, and it's nice not to have a price increase for the new Flash at larger token lengths.

It's a little more expensive than previous Flash models - Gemini 2.5 Flash was $0.30/million input tokens and $2.50/million on output, Gemini 3 Flash is $0.50/million and $3/million respectively.

Google claim it may still end up cheaper though, due to more efficient output token usage:

> Gemini 3 Flash is able to modulate how much it thinks. It may think longer for more complex use cases, but it also uses 30% fewer tokens on average than 2.5 Pro.

Here's a more extensive price comparison on my llm-prices.com site.

Generating some SVGs of pelicans

I released llm-gemini 0.28 this morning with support for the new model. You can try it out like this:

llm install -U llm-gemini
llm keys set gemini # paste in key
llm -m gemini-3-flash-preview "Generate an SVG of a pelican riding a bicycle"

According to the developer docs the new model supports four different thinking level options: minimal, low, medium, and high. This is different from Gemini 3 Pro, which only supported low and high.

You can run those like this:

llm -m gemini-3-flash-preview --thinking-level minimal "Generate an SVG of a pelican riding a bicycle"

Here are four pelicans, for thinking levels minimal, low, medium, and high:

A minimalist vector illustration of a stylized white bird with a long orange beak and a red cap riding a dark blue bicycle on a single grey ground line against a plain white background. Minimalist illustration: A stylized white bird with a large, wedge-shaped orange beak and a single black dot for an eye rides a red bicycle with black wheels and a yellow pedal against a solid light blue background. A minimalist illustration of a stylized white bird with a large yellow beak riding a red road bicycle in a racing position on a light blue background. Minimalist line-art illustration of a stylized white bird with a large orange beak riding a simple black bicycle with one orange pedal, centered against a light blue circular background.

I built the gallery component with Gemini 3 Flash

The gallery above uses a new Web Component which I built using Gemini 3 Flash to try out its coding abilities. The code on the page looks like this:

<image-gallery width="4">
    <img src="https://static.simonwillison.net/static/2025/gemini-3-flash-preview-thinking-level-minimal-pelican-svg.jpg" alt="A minimalist vector illustration of a stylized white bird with a long orange beak and a red cap riding a dark blue bicycle on a single grey ground line against a plain white background." />
    <img src="https://static.simonwillison.net/static/2025/gemini-3-flash-preview-thinking-level-low-pelican-svg.jpg" alt="Minimalist illustration: A stylized white bird with a large, wedge-shaped orange beak and a single black dot for an eye rides a red bicycle with black wheels and a yellow pedal against a solid light blue background." />
    <img src="https://static.simonwillison.net/static/2025/gemini-3-flash-preview-thinking-level-medium-pelican-svg.jpg" alt="A minimalist illustration of a stylized white bird with a large yellow beak riding a red road bicycle in a racing position on a light blue background." />
    <img src="https://static.simonwillison.net/static/2025/gemini-3-flash-preview-thinking-level-high-pelican-svg.jpg" alt="Minimalist line-art illustration of a stylized white bird with a large orange beak riding a simple black bicycle with one orange pedal, centered against a light blue circular background." />
</image-gallery>

Those alt attributes are all generated by Gemini 3 Flash as well, using this recipe:

llm -m gemini-3-flash-preview --system '
You write alt text for any image pasted in by the user. Alt text is always presented in a
fenced code block to make it easy to copy and paste out. It is always presented on a single
line so it can be used easily in Markdown images. All text on the image (for screenshots etc)
must be exactly included. A short note describing the nature of the image itself should go first.' \
-a https://static.simonwillison.net/static/2025/gemini-3-flash-preview-thinking-level-high-pelican-svg.jpg

You can see the code that powers the image gallery Web Component here on GitHub. I built it by prompting Gemini 3 Flash via LLM like this:

llm -m gemini-3-flash-preview '
Build a Web Component that implements a simple image gallery. Usage is like this:

<image-gallery width="5">
  <img src="image1.jpg" alt="Image 1">
  <img src="image2.jpg" alt="Image 2" data-thumb="image2-thumb.jpg">
  <img src="image3.jpg" alt="Image 3">
</image-gallery>

If an image has a data-thumb= attribute that one is used instead, other images are scaled down. 

The image gallery always takes up 100% of available width. The width="5" attribute means that five images will be shown next to each other in each row. The default is 3. There are gaps between the images. When an image is clicked it opens a modal dialog with the full size image.

Return a complete HTML file with both the implementation of the Web Component several example uses of it. Use https://picsum.photos/300/200 URLs for those example images.'

It took a few follow-up prompts using llm -c:

llm -c 'Use a real modal such that keyboard shortcuts and accessibility features work without extra JS'

llm -c 'Use X for the close icon and make it a bit more subtle'

llm -c 'remove the hover effect entirely'

llm -c 'I want no border on the close icon even when it is focused'

Here's the full transcript, exported using llm logs -cue.

Those five prompts took:

  • 225 input, 3,269 output
  • 2,243 input, 2,908 output
  • 4,319 input, 2,516 output
  • 6,376 input, 2,094 output
  • 8,151 input, 1,806 output

Added together that's 21,314 input and 12,593 output for a grand total of 4.8436 cents.

The guide to migrating from Gemini 2.5 reveals one disappointment:

Image segmentation: Image segmentation capabilities (returning pixel-level masks for objects) are not supported in Gemini 3 Pro or Gemini 3 Flash. For workloads requiring native image segmentation, we recommend continuing to utilize Gemini 2.5 Flash with thinking turned off or Gemini Robotics-ER 1.5.

I wrote about this capability in Gemini 2.5 back in April. I hope they come back in future models - they're a really neat capability that is unique to Gemini.

Tags: google, ai, web-components, generative-ai, llms, llm, gemini, llm-pricing, pelican-riding-a-bicycle, llm-release

🔲 ☆

Google admet un problème majeur qui risque de mettre à mal son business model principal

Ah la la, Google… Le géant du web se retrouve face à un sacré casse-tête avec l’arrivée de l’intelligence artificielle dans son moteur de recherche. Figurez-vous qu’ils envisagent de faire payer les utilisateurs pour accéder à cette fonctionnalité expérimentale ! Du jamais vu chez Google, qui a toujours tout misé sur la gratuité, mais voilà, l’IA coûte cher, très cher même. Et surtout, elle vient complètement bouleverser le modèle économique de Google, basé, comme vous le savez sur la publicité.

Parce que oui, Google Search, c’est une vraie machine à cash et les annonceurs payent pour que leurs pubs s’affichent dans les résultats de recherche et sur les sites web que vous visitez ensuite. Sauf que l’IA, elle, elle digère le contenu des pages web pour vous donner une réponse claire, nette et précise. Plus besoin de cliquer sur les liens, donc plus de pubs vues, et moins de revenus pour Google (et pour moi aussi du coup ^^, mais je m’en fous, j’ai mon Patreon !).

Ironique, non ?

En plus, générer une réponse avec l’IA consomme bien plus de ressources et d’énergie qu’une simple page de résultats. Bref, Google est face à un vrai dilemme : Comment rentabiliser son IA sans tuer sa poule aux œufs d’or ?

Mais ne vous inquiétez pas, ils vont bien trouver une solution. Peut-être en proposant aux marques de sponsoriser certaines requêtes, comme le fait Perplexity, ou alors en faisant payer uniquement les utilisateurs les plus gourmands. On verra bien… mais une chose est sûre, Google va devoir faire preuve de créativité et d’adaptation pour rester le roi de la recherche en ligne. Surtout que la concurrence est rude, avec Microsoft et son nouveau Bing dopé à l’IA, ou encore les petits nouveaux comme You.com.

C’est fou tout ce qui se passe en ce moment. Tout a déjà tellement changé depuis le 30 novembre 2022, date à laquelle on a tous découvert ChatGPT pour la première fois… Des géants vont tomber, d’autres sont peut-être déjà nés. Et puis, moi et mon petit site web d’artisan du web, et bien on verra bien comment je me ferais manger 😉

Source

🔲 ☆

Jpegli – La lib JPEG nouvelle génération de Google

Google vient de publier en open source une nouvelle bibliothèque de codage JPEG appelée Jpegli qui permet de compresser vos images 35% plus efficacement qu’avec les codecs JPEG traditionnels, tout en conservant une qualité d’image supérieure.

Non seulement Jpegli est rétrocompatible avec le standard JPEG original, mais en plus il offre des fonctionnalités intéressantes comme le support des composantes 10 bits et plus, ce qui permet d’éliminer les vilains artefacts dans les dégradés pour avoir un rendu beaucoup plus ultra-smooth ^^.

Pour cela, Jpegli utilise de la quantification adaptative et une sélection améliorée des matrices de quantification. En gros, ça réduit le bruit, améliore la qualité d’image, et ça fait des miracles sur la taille des fichiers.

De plus, Jpegli reste aussi rapide que les solutions de codage actuelles, donc vous pouvez intégrer cette merveille dans vos workflows sans sacrifier les performances. Alors voilà, si vous voulez donner un coup de boost à vos sites web et offrir de meilleures images plus belles et plus légères, allez jeter un œil à Jpegli ! Pour le moment, y’a pas encore d’outils de conversion mais les sources sont dispo sur le Github, alors y’a plus qu’à attendre que le monde se l’approprie.

Source

❌