# tools 78

Published articles for tools 78.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Gemini Live audio

DevFeed: [Gemini Live audio](<https://devfeed.tech/articles/gemini-live-audio-31180.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/15/gemini-live/>)

Author: Simon Willison

Published: 2026-09-15T22:47:07Z

Content type: tutorial

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [speech-to-speech](<https://devfeed.tech/topics/speech-to-speech.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Google AI](<https://devfeed.tech/topics/google-ai.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Playback](<https://devfeed.tech/topics/playback.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [audio](<https://devfeed.tech/tags/audio.md>), [browser](<https://devfeed.tech/tags/browser.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [gemini-196](<https://devfeed.tech/tags/gemini-196.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [google](<https://devfeed.tech/tags/google.md>), [google-416](<https://devfeed.tech/tags/google-416.md>), [llm-release](<https://devfeed.tech/tags/llm-release.md>), [llm-release-231](<https://devfeed.tech/tags/llm-release-231.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [model](<https://devfeed.tech/tags/model.md>), [models](<https://devfeed.tech/tags/models.md>), [openai](<https://devfeed.tech/tags/openai.md>), [playback](<https://devfeed.tech/tags/playback.md>), [release](<https://devfeed.tech/tags/release.md>), [speech-to-speech](<https://devfeed.tech/tags/speech-to-speech.md>), [speech-to-text](<https://devfeed.tech/tags/speech-to-text.md>), [speech-to-text-21](<https://devfeed.tech/tags/speech-to-text-21.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-78](<https://devfeed.tech/tags/tools-78.md>), [ui](<https://devfeed.tech/tags/ui.md>), [voice](<https://devfeed.tech/tags/voice.md>), [websocket](<https://devfeed.tech/tags/websocket.md>), [websockets](<https://devfeed.tech/tags/websockets.md>), [websockets-21](<https://devfeed.tech/tags/websockets-21.md>)

### AI overview

The article describes a browser-based web UI for trying Google's Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking speech-to-speech models. The implementation supports model and voice selection, an optional system prompt, voice conversations, and interruption while the model is speaking. It uses no libraries, connecting to a WebSocket endpoint and using the Web Audio API for capture and playback.

### Source excerpt

Tool: Gemini Live audio Google released Gemini 3.8 Live and 3.8 Live Extended Thinking today - two new speech-to-speech models that are a similar shape to OpenAI's GPT-Live family. I pointed GPT-6 Astra Extra High at the documentation and had it build me this web UI for trying out the new models. You can select a model and voice preset, enter an optional system prompt and then start a voice conversation through your browser, including the ability to interrupt the model while it is talking. The implementation uses no libraries. It connects to the wss://generativelanguage.googleapis.com/ws/google.ai.generativelanguage.v1alpha.GenerativeService.BidiGenerateContent?key=... WebSocket endpoint and uses a Web Audio API AudioContext for both capture and playback. Here's the Gemini Live tutorial for getting started with that WebSockets API. Tags: google, tools, websockets, generative-ai, llms, gemini, llm-release, speech-to-text

## .blend URL Viewer

DevFeed: [.blend URL Viewer](<https://devfeed.tech/articles/blend-url-viewer-31185.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/9/blender-viewer/>)

Author: Simon Willison

Published: 2026-09-09T23:58:32Z

Content type: article

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [blender](<https://devfeed.tech/topics/blender.md>), [3D](<https://devfeed.tech/topics/3d.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [3d-18](<https://devfeed.tech/tags/3d-18.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-236](<https://devfeed.tech/tags/ai-2-236.md>), [blender](<https://devfeed.tech/tags/blender.md>), [blender-4](<https://devfeed.tech/tags/blender-4.md>), [codex](<https://devfeed.tech/tags/codex.md>), [codex-57](<https://devfeed.tech/tags/codex-57.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [coding-agents-248](<https://devfeed.tech/tags/coding-agents-248.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [gpt-6-astra](<https://devfeed.tech/tags/gpt-6-astra.md>), [gpt-6-astra-9](<https://devfeed.tech/tags/gpt-6-astra-9.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [javascript-764](<https://devfeed.tech/tags/javascript-764.md>), [llms](<https://devfeed.tech/tags/llms.md>), [llms-1-948](<https://devfeed.tech/tags/llms-1-948.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-78](<https://devfeed.tech/tags/tools-78.md>)

### AI overview

The article presents a .blend URL Viewer built from an existing Blender viewing experiment. It describes using ChatGPT Images 2.5 to generate a Pluribus-themed Fabergé egg image, then using Codex running GPT-6 Astra to create Blender model files that can be viewed in a browser.

### Source excerpt

Tool: .blend URL Viewer I'm continuing to have a lot of fun with GPT-6 Astra and Blender (see my TIL). As a big fan of the Imperial Fabergé Easter eggs, I've always thought it would be fun to make some new ones that celebrate popular culture. Yesterday I decided to try out the new ChatGPT Images 2.5 by running this prompt: Generate a photo of a faberge egg that's themed after the TV show Pluribus - research first It gave me this - honestly not bad for a first attempt! Then, just to see what would happen, I pasted that image into Codex running GPT-6 Astra (high) and prompted: Use your blender local skill to create a blender model of this faverge egg (Here's the skill file, which I created like this.) It churned away for 17m51s and built me several .blend files. I already had this vibe-coded Blender viewing experiment lying around, so I added that to my tools collection and now you can use it to see my Pluribus blender model in your browser: Tags: 3d, javascript, tools, ai, generative-ai, llms, blender, coding-agents, codex, gpt-6-astra

## Introducing ChatGPT Images 2.5

DevFeed: [Introducing ChatGPT Images 2.5](<https://devfeed.tech/articles/introducing-chatgpt-images-2-5-31183.md>)

Original publisher: [Read original article](<https://simonwillison.net/2026/Sep/8/introducing-chatgpt-images-25/>)

Author: Simon Willison

Published: 2026-09-08T22:46:33Z

Content type: release

Language: en

Sources: [Simon Willison's Weblog](<https://devfeed.tech/sources/simon-willison-s-weblog.md>)

Topics: [ChatGPT](<https://devfeed.tech/topics/chatgpt.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [text-to-image](<https://devfeed.tech/topics/text-to-image.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-2-236](<https://devfeed.tech/tags/ai-2-236.md>), [chatgpt](<https://devfeed.tech/tags/chatgpt.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [generative-ai-1-982](<https://devfeed.tech/tags/generative-ai-1-982.md>), [openai](<https://devfeed.tech/tags/openai.md>), [openai-463](<https://devfeed.tech/tags/openai-463.md>), [text-to-image](<https://devfeed.tech/tags/text-to-image.md>), [text-to-image-47](<https://devfeed.tech/tags/text-to-image-47.md>), [tools](<https://devfeed.tech/tags/tools.md>), [tools-78](<https://devfeed.tech/tags/tools-78.md>), [uv](<https://devfeed.tech/tags/uv.md>), [uv-100](<https://devfeed.tech/tags/uv-100.md>)

### AI overview

OpenAI's ChatGPT Images 2.5 release adds improved multi-turn instruction following, faster responses, and better preservation of subjects in reference photos. The API introduces the gpt-image-2.5-sunburst and gpt-image-2.5-flare model IDs, with Sunburst positioned for precise editing and Flare for faster everyday generation.

### Source excerpt

Introducing ChatGPT Images 2.5 OpenAI's image generation models are apparently used "more than 3 billion images across ChatGPT Images and the GPT-Image models in the API". This latest release improves their instruction-following ability across multiple turns, responds faster, and "is better at preserving the subjects in your reference photos". There are two new model IDs in the API: gpt-image-2.5-sunburst and gpt-image-2.5-flare. Based on this I think Sunburst is the stronger option: Choose Sunburst for workflows where editing precision matters most, and Flare for fast, high-quality everyday image generation. I upgraded my openai_image.py CLI tool to support passing in one or more reference images, so now this works: uv run https://tools.simonwillison.net/python/openai_image.py \ 'add a raccoon scientist studying the chart thoughtfully' \ -i https://static.simonwillison.net/static/2026/openai-agent-usage.webp \ -m gpt-image-2.5-sunburst This is the original image, and here's what I got back from that prompt to "add a raccoon scientist studying the chart thoughtfully": Tags: tools, ai, openai, generative-ai, uv, text-to-image