Generative Images Locally : Running Models on Your Machine

I’ve written a fair bit about language models of late. This is a language blog, after all! But creating resources is about other visual elements, too. And just as you can run off text from local generative AI, you can create images locally, too.

For working on a computer, ComfyUI is a good bet. It’s a graphical dashboard for creating AI art with a huge array of customisation options. The fully-featuredness of it, admittedly, makes it a complex first intro to image generation. It’s interface, which takes a pipeline / modular format, takes a bit of getting used to. But it also comes with pre-defined workflows that mean you can just open it, prompt and go. There’s also a wide, active community that supports in online, so there’s plenty of help available.

Generate images locally - the ComfyUI interface

Generate images locally – the ComfyUI interface

At the more user-friendly end of it is Draw Things for Apple machines (unfortunately no Android yet). With a user interface much closer to art packages you’ll recognise, Draw Things allows you to download different models and prompt locally – and is available as an iOS app too. Obviously there’s a lot going on when you generate images, so it slugs along at quite a modest trot on my two-year-old iPad. But it gives you so much access to the buttons and knobs to tweak that it’s a great way to learn more about the generation process. Like ComfyUI, its complexity – once you get your head round it – actually teaches you a lot about image generation.

Of all the benefits of these apps, perhaps the greatest is again the environmental. You could fire up a browser and prompt one of the behemoths. But why crank up the heat on a distant data centre machine, when you can run locally? Many commercial generative models are far too powerful for what most people need.

Save power, and prompt locally. It’s more fun!

A swirl of IPA symbols in the ether. Do LLMs 'understand' phonology? And are they any good at translation?

Tencent’s Hunyuan-MT-7B, the Translation Whizz You Can Run Locally

There’s been a lot of talk this week about a brand new translation model, Tencent’s Hunyuan-MT-7B. It’s a Large Language Model (LLM) trained to perform machine translation. And it’s caused a big stir by beating heftier (and heavier) models by Google and OpenAI in a recent event.

This is all the more remarkable given that it’s really quite a small model by LLM standards. Hunyuan actually manages its translation-beating feat packed into just 7 billion parameters (the information nodes that models learn from). Now that might sound a lot. But fewer usually means weaker, and the behemoths are nearing post-trillion param levels already.

So Hunyuan is small. But in spite of that, it can translate accurately and reliably – market-leader beatingly so – between over 30 languages, including some low-resource ones like Tibetan and Kazakh. And its footprint is truly tiny in LLM terms – it’s lightweight enough to run locally on a computer or even tablet, using inference software like LMStudio or PocketPal.

The model is available in various GGUF formats at Hugging Face. The 4-bit quantised version comes in at just over 4 GB, making it iPad-runnable. If you want greater fidelity, then 8-bit quantised is still only around 8 GB, easily handleable in LMStudio with a decent laptop spec.

So is it any good?

Well, I ran a few deliberately tricky English to German tasks through it, trying to find a weak spot. And honestly, it’s excellent – it produces idiomatic, native-quality translations that don’t sound clunky. What I found particularly impressive was its ability to paraphrase where a literal translation wouldn’t work.

There are plenty of use cases, even if you’re not looking for a translation engine for a full-blown app. Pocketising it means you have a top-notch multi-language translator to use offline, anywhere. For language learners – particularly those struggling with the lower-resource languages the model can handle with ease – it’s another source of native-quality text to learn from.

Find out more about the model at Hugging Face, and check out last week’s post for details on loading it onto your device!

Ultra-Mobile LLMs : Getting the Most from PocketPal

If you were following along last week, I was deep into the territory of running open, small-scale Large Language Models (LLMs) locally on a laptop in the free LMStudio environment. There are lots of reasons you’d want to run these mini chatbots, including the educational, environmental, and security aspects.

I finished off with a very cursory mention of an even more mobile vehicle for these, PocketPal. This free, open source app (available on Google and iOS) allows for easy (no computer science degree required) searching, downloading and running LLMs on smartphones and tablets. And, despite the resource limitations of mobile devices compared with full computer hardware, they run surprisingly well.

PocketPal is such a powerful and unique tool, and definitely worth a spotlight of its own. So, this week, I thought I’d share some tips and tricks I’ve found for smooth running of these language models in your pocket.

Full-Fat LLMs?

First off, even small, compact models can be (as you’d expect) unwieldy and resource-heavy files. Compressed, self-contained LLM models are available as .gguf files from sources like Hugging Face, and they can be colossal. There’s a process you’ll hear mentioned a lot in the AI world called quantisation, which compresses models to varying degrees. Generally speaking, the more compression, the more poorly the model performs. But even the most highly compressed small models can weigh in at 2gb and above. After downloading them, these mammoth blobs then load into memory, ready to be prompted. That’s a lot of data for your system to be hanging onto!

That said, with disk space, a good internet connection, and decent RAM, it’s quite doable. On a newish MacBook, I was comfortably downloading and running .gguf files 8gb large and above in LMStudio. And you don’t need to downgrade your expectations too much to run models in PocketPal, either.

For reference, I’m using a 2023 iPad Pro with the M2 chip – quite a modest spec now – and a 2024 iPhone 16. On both of them, the sweet spot seems to be a .gguf size of around 4gb – you can go larger, but there’s a noticeable slowdown and sluggishness beyond that. A couple of the models I’ve been getting good, sensible and usable results from on mobile recently are:

  • Qwen3-4b-Instruct (8-bit quantised version) – 4.28gb
  • Llama-3.2-3B-Instruct (6-bit quantised version) – 3.26gb

The ‘instruct’ in those model names refers to the fact that they’ve been trained to follow instructions particularly keenly – one of the reasons they give such decent practical prompt responses with a small footprint.

Optimising PocketPal

Once you have them downloaded, there are a couple of things you can tweak in PocketPal to eke out even more performance.

The first is to head to the settings and switch on Metal, Apple’s hardware-accelerated API. Then, increase the “Layers on GPU” setting to around 80 or so – you can experiment with this to see what your system is happy with. But the performance improvement should be instantaneous, the LLM spitting out tokens at multiple times the default speed.

What’s happening with this change is that iOS is shifting some of the processing from the device’s CPU to the GPU, or graphical processing unit. That may seem odd, but modern graphics chips are capable of intense mathematical operations, and this small switch recruits them into doing some of the heavy work.

Additionally, on some recent devices, switching on “Flash Attention” can bring extra performance enhancements. This interacts with the way LLMs track how much weight to give certain tokens, and how that matrix is stored in memory during generation. It’s pot luck whether it will make a difference, depending on device spec, but I see a little boost.

Tweaking PocketPal’s settings to run LLMs more efficiently

Tweaking PocketPal’s settings to run LLMs more efficiently

Making Pals – Your Own Custom Bots

When you’re all up and running with your PocketPal LLMs, there’s another great feature you can play with to get very domain-specific results – “Pal” creation. Pals are just system prompts – instructions that set the boundaries and parameters for the conversation – in a nice wrapper. And you can be as specific as you want with them, instructing the LLM to behave as a language learning assistant, a nutrition expert, a habits coach, and such like – with as many rules and output notes as you see fit. It’s an easy way to turn a very generalised tool into something focused and with real-world application.

So that’s my PocketPal in-a-nutshell power guide. I hope you can see why it’s worth much more than just a cursory mention at the end of last week’s post! Tools like PocketPal and LMStudio put you right at the centre of LLM development, and I must admit it’s turned me into a models geek – I’m already looking forward to what new open LLMs will be unleashed next.

So what have you set your mobile models doing? Please share your tips and experiences in the comments!

Small LLMs

LLMs on Your Laptop

I mentioned last week that I’m spending a lot of time with LLMs recently. I’m poking and prodding them to test their ‘understanding’ (inverted commas necessary there!) of phonology, in particular with non-standard speech and dialects.

And you’d be forgiven for thinking I’m just tapping my prompts into ChatGPT, Claude, Gemini or the other big commercial concerns. Mention AI, and those are the names people come up with. They’re the all-bells-and-whistles web-facing services that get all the public fanfare and newspaper column inches.

The thing is, that’s not all there is to Large Language Models. There’s a whole world of open source (or the slightly less open ‘open weights’) models out there. Some of them offshoots of those big names, while others less well-known. But you can download all of them to run offline on any reasonably-specced laptop.

LMStudio – LLMs on your laptop

Meet LMStudio – the multi-platform desktop app that allows you to install and interrogate LLMs locally. It all sounds terribly technical, but at its most basic use – a custom chatbot – you don’t need any special tech skills. Browsing, installing and chatting with models is all done via the tab-based interface. You can do much more with it – the option to run it as a local server is super useful for development and testing – but you don’t have to touch any of that.

Many of the models downloadable within LMStudio are small models – just a few gigabytes, rather than the behemoths behind GPT-5 and other headline-grabbing releases. They feature the same architecture as those big-hitters, though. And in many cases, they are trained to approach, even match, their performance on specific tasks like problem-solving or programming. You’ll even find reasoning models, that produce a ‘stepwise-thinking’ output, similar to platforms like Gemini.

A few recent models for download include:

  • Qwen3 4B Thinking – a really compact model (just over 2gb) which supports reasoning by default
  • OpenAI’s gpt-oss-20b – the AI giant’s open weights offering, released this August
  • Gemma 3 – Google’s multimodal model optimised for use on everyday devices
  • Mistral Small 3.2 – the French AI company’s open model, with vision capabilities

So why would you bother, when you can just fire up ChatGPT / Google / Claude in a few browser clicks?

LLMs locally – but why?

Well, from an academic standpoint, you have complete control over these models if you’re exploring their use cases in a particular field, like linguistics or language learning. You can set parameters like temperature, for instance – the degree of ‘creativity wobble’ the LLM has (0 being a very rigid none, and 1 being, well, basically insane). And if you can set parameters, you can report these in your findings, which allows others to replicate your experiments and build on your knowledge.

Small models also run on smaller hardware – so you can develop solutions that people don’t need a huge data centre for. If you do hit upon a use case or process that supports researchers, then it’s super easy for colleagues to access the technology, whatever their recourse to funding support.

Secondly, there’s the environmental impact. If the resource greed of colossal data centres is something that worries you (and there’s every indication that it should be a conversation we’re all having ), then running LLMs locally allows you to take advantage of them without heating up a server farm somewhere deep inside the US. The only thing running hot will be your laptop fan (it does growl a bit with the larger models – I take that as a sign to give it a rest for a bit!).

And talk of those US server farms leads on to the next point: data privacy. OpenAI recently caused waves with their suggestion that user conversations are not the confidential chats many assume them to be. If you’re not happy with your prompts and queries passing out of your control and into the data banks of a foreign state, then local LLMs offer not a little peace of mind too.

Give it a go!

The best thing? LMStudio is completely free. So download it, give it a spin, and see whether these much smaller-footprint models can give you what you need without entering the ecosystem of the online giants.

Lastly, don’t have a laptop? Well, you can also run LLMs locally on phones and tablets too. Free app PocketPal (on iOS and Android) runs like a cut-down version of LMStudio. Great for tinkering on the go!

A swirl of IPA symbols in the ether. Do LLMs 'understand' phonology? And are they any good at translation?

Do LLMs have phonological ‘understanding’?

LLMs are everywhere just now. And as statistical word-crunchers, these large language models seem a tantalisingly good fit for linguistics work.

And, where there’s new tech, there’s new research: one of the big questions floating around in linguistics circles right now is whether large language models (LLMs) “understand” language systems in any meaningful way – at least any way that can be useful to research linguists.

LLMs doing the donkey work?

One truly exciting potential avenue is the use of LLMs to do the heavy lifting of massive corpus annotation. Language corpora can be huge – billions of words in some cases. And to be usefully searchable, those words have to be tagged with some kind of category information. For years, we’ve had logic-based Natural Language Processing (NLP) tech to do this, and for perhaps the most block-wise faculty of language – syntax – it’s done a generally grand, unthinking job.

But LLMs go one step beyond this. They not only demonstrate (or simulate) a more creative manipulation of language. Now, they have begun to incorporate thinking too. Many recent models,  such as the hot-off-the-press GPT-5, are already well along the production line of a new generation of high reasoning LLM models. These skills that are making them useful in other fields of linguistics, beyond syntax – fields where things like sentiment and intention come into play. Pragmatics is one area that has been a great fit, with one study into LLM tagging showing promising results.

The sounds behind the tokens

As for phonology, the linguistic field that deals with our mental representations of sound systems, the answer is a little more complicated.

On the one hand, LLMs are completely text-based. They don’t hear or produce sounds – they’re pattern matchers for strings of tokens – bits of words. But because written language does encode sound–meaning correspondences, they end up with a kind of latent ability to spot phonological patterns indirectly. For example, ask an LLM to generate rhyming words, or to apply a regular sound alternation like plural –s in English, and it usually does a decent job. In fact, one focus of a recent study was rhyming, and it found that, with some training, LLMs can approach a pretty humanlike level of rhyme generation.

On one level, that’s intuitive – it’s because orthography tends (largely) to reflect underlying phonotactics and morphophonology. Also, the sheer volume of data helps the model make the right generalisations – in those billions of pages of crunched training data, there are bound to be examples of the link. Where it gets shakier is with non-standard spellings, dialect writing, or novel words. Without clear orthographic cues, the model struggles to “hear” the system. You might see it overgeneralise, or miss distinctions that are obvious to a native speaker. In other words, it mimics phonological competence through text-based proxy, but it doesn’t have one.

It’s that ‘shakier’ competence I’m exploring in my own research right now. How easy is it to coax an understanding of non-standard phonology from an out-of-the-box LLM? Pre-training is key, finding wily ways to prime that mysterious ‘reasoning’ new models use.

Rough-Edged tools that need honing

So, do LLMs have phonological understanding?

Well, not in the sense of a human speaker with an embodied grammar. But what they do have is an uncanny knack for inferring patterns from writing, a kind of orthography-mediated phonology.

That makes them rough tools starting out, but potentially powerful assistants: not replacements for the linguist’s ear and analysis, but tools that can highlight patterns, make generalisation we might otherwise miss, and help us sift through mountains of messy data.

ChatGPT takes conversation to the next level with Advanced Voice Mode

ChatGPT Advanced Voice Mode is Finally Here (For Most of Us!)

Finally – and it has taken SO much longer to get it this side of the Pond – Advanced Voice Mode has popped up in my ChatGPT. And it’s a bit of a mind-blower to say the least.

Multilingually speaking, it’s a huge step up for the platform. For a start, its non-English accents are hugely improved – no longer French or German with an American twang. Furthermore, user language detection seems more reliable, too. Open it up, initiate a conversation in your target language, and it’s ready to go without further fiddling.

But it’s the flexibility and emotiveness of those voices which is the real game-changer. There’s real humanity in those voices, now, reminiscent of Hume’s emotionally aware AI voices. As well as emotion, there’s variation in timbre and speed. What that means for learners is that it’s now possible to get it to mimic slow, deliberate speech when you ask that language learning staple “can you repeat that more slowly, please?”. It makes for a much more adaptive digital conversation partner.

Likewise – and rather incredibly – it’s possible to simulate a whole range of regional accents. I asked for Austrian German, and believe me, it is UNCANNILY good. Granted, it did occasionally verge on parody, but as a general impression, it’s shocking how close it gets. It’s a great way to prepare for speaking your target language with real people, who use real, regionally marked speech.

Advanced Voice Mode, together with its recently added ability to remember details from past conversations (previously achievable only via a hack), is turning ChatGPT into a much cannier language learning assistant. It was certainly worth the wait. And for linguaphiles, it’ll be fascinating to see how it continues to develop as an intelligent conversationalist from here.

Shelves of helpful robots - a bit like Poe, really!

Which LLM? Poe offers them all (and some!)

One of the most frequent questions when I’ve given AI training to language professionals is “which is your favourite platform?”. It’s a tricky one to answer, not least because we’re currently in the middle of the AI Wars – new, competing models are coming out all the time, and my personal choice of LLM changes with each new release.

That said, I’m a late and recent convert to Poe – an app that gives you them all in one place. The real clincher is the inclusion of brand new models, before they’re widely available elsewhere.

To illustrate just how handy it is, just a couple of weeks ago, Meta dropped Llama 3.1 – the first of their models to really challenge the frontrunners. However, unless you have a computer powerful enough to run it locally, or access to Meta AI (US-only right now), you’ll be waiting a while to try it.

Enter Poe. Within a couple of days, all flavours of Llama 3.1 were available. And the best thing? You can interact with most of them for nothing.

The Poe Currency

Poe works on a currency of Compute Points, which are used to pay for messages to the model. More powerful models guzzle through compute points at a higher rate, and models tend to become cheaper as they get older. Meta’s Llama-3.1-405B-T, for example, costs 335 points per message, while OpenAI’s ChatGPT-4o-Mini comes in at a bargain 15 points for each request.

Users of Poe’s free tier get a pretty generous 3000 Compute Points every day. That’s enough credit to work quite extensively on some of the older models without much limitation at all. But it’s also enough to get some really useful (8-ish-requests daily) use from Llama 3.1. And, thanks to that, I can tell you – Llama 3.1 is great at creating language learning resources!

Saying that, with the right prompt, most of the higher-end models are, these days. Claude-3.5-Sonnet is another favourite – check out my interactive worksheet experiments with it here. And yes, Claude-3.5-Sonnet is available on Poe, at a cost of 200 points per message (and that’s already dropped from its initial cost some weeks back!). Even the image generation model Flux has made its way onto the platform, just days after the hype. And it’s a lot better with text-in-image (handy if you’re creating illustrated language materials).

Poe pulls together all sorts of cloud providers in a marketplace-style setup to offer the latest bots, and it’s a model that works. The latest and greatest will always burn through your stash of Computer Points faster, but there’s still no easier way to be amongst the first to try a new LLM!

AI Parallel Texts for Learning Two Similar Languages

I’ve seen a fair few social media posts recently about linguist Michael Petrunin’s series of Comparative Grammars for polyglots. They seem to have gone down a storm, not least because of the popularity of triangulation as a polyglot strategy.

They’re a great addition to the language learning bookshelf, since there’s still so little formal course material that uses this principle. Of course, you can triangulate by selecting course books in your base language, as many do with Assimil and other series like the Éditions Ellipse.

Parallel Texts à la LLM

But LLMs like ChatGPT, which already do a great job of the parallel text learning style, are pretty handy for creative comparative texts, too. Taking a story format, here’s a sample parallel text prompt for learners of German and Dutch. It treats each sentence as a mini lesson in highlighting differences between the languages.

I’m learning Dutch and German, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Dutch, German and English in parallel text style. Each sentence should be given in Dutch, German and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist. Format the text so it is easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics.

You can tweak the formatting, as well as the premise – specify that the learner already speaks one of the languages more proficiently than the other, for example. You could also offer a scenario for the story to start with, so you don’t end up with “once upon a time” every run. But the result is quite a compact, step-by-step learning resource that builds on a comparative approach.

ChatGPT creating parallel texts in German and Dutch with an English translation.

ChatGPT creating parallel texts in German and Dutch with an English translation.

Variations and Limitations

I also tried prompting for explanatory notes:

Where the languages differ significantly in grammar / syntax, add an explanatory note (in English) to the sentences, giving details.

This was very hit and miss, with quite unhelpful notes in most runs. In fact, this exposes the biggest current limitation of LLMs: they’re excellent content creators, but still far off the mark in terms of logically appraising the language they create.

It is, however, pretty good at embellishing the format of its output. The following variation is especially impressive in an LLM platform that shows a preview of its code:

I’m learning Spanish and Portuguese, two closely related languages. To help me learn them in parallel and distinguish them from each other, create a short story for me in Spanish, Portuguese and English in parallel text style. Each sentence should be given in Spanish, Portuguese and English. Purposefully use grammatical elements which highlight the differences between the languages, which a student of both does need to work hard to distinguish, in order to make the text more effective.

The language level should be lower intermediate, or B1 on the CEFR scale. Make the story engaging, with an interesting twist.

The output should be an attractively formatted HTML page, using a professional layout. Format the sentences so they are easy to read, grouping the story lines together with each separate sentence on a new line, and the English in italics. Hide the English sentences first – include a “toggle translation” button for the user.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

Claude by Anthropic creating an HTML-formatted parallel story in Spanish and Portuguese.

It’s another use case that highlights LLMs’ greatest strength: the creation of humanlike texts. For linguists, it matters not a jot how much (or little) deep understanding there is beneath that. With the language quality now almost indistinguishable from real people-speak, AI texts serve as brilliant ‘fake authentic’ language models.

e-Stories as parallel texts are yet another fun, useful flavour of that!

Robots exchanging gifts. We can exchange - and adapt - digital resources now, with Claude's shareable Artifacts.

Sharing Your Language Learning Games with Claude Artifacts

If Claude’s recent improvements weren’t already impressive enough, Anthropic has only gone and done it again – this time, by making Artifacts shareable.

Artifacts are working versions of the programs and content you, the user, prompt for in Claude. For example, they pop up when you ask the AI to write a language practice game in HTML, running the code it writes as a playable activity. Instant language learning games – no coding required.

Now, you can share your working, fully playable creations, with a simple link.

Instant Spanish Quiz with Claude

Take this simple Spanish quiz (very topical given the forthcoming Euros 2024 final!). I prompted for it as follows:

Create an original, self-contained quiz in Spanish for upper beginner / lower intermediate students of the language, on the topic “Spain in the European Football Championships”. It should be completely self-contained in an HTML page. The quiz should be multiple choice, with ten questions each having four alternative answer buttons – only one is right, and there is always one ‘funny’ alternative answer in the mix too.

Every time the quiz is played, the questions and the answers are in a random order. The student can keep trying answers until they get the right one (obviously after clicking an answer button, it should be disabled). Incorrect buttons turn red – correct ones green. Keep score of the player’s accuracy as they work through the questions (number of correct clicks / total clicks).

Make sure it looks attractive, slick and smart too, with CSS styling included in the HTML page.

If you have Artifacts turned on (see here for more). you should see your working game appear in a new pane. But now, you’ll also see a little Publish link in the bottom-right corner. Click this, and you can choose to make your creation public with an access link.

Publishing your working language activities using a share link with Claude Artifacts

Publishing your working language activities using a share link with Claude Artifacts

Remixing Artifacts

But wait – there’s more. When colleagues access your Artifact, they will see a Remix button in that bottom-right corner.

Remixing Artifacts in Claude

Remixing Artifacts in Claude

By hitting that, they can pick up where you left off and tweak your materials with further prompting. For instance, to keep the quiz format but change the language and topic, they could simply ask:

Now create a version of this quiz for French learners on the topic “France at the Olympic Games”.

It makes for an incredibly powerful way to network your learning resources. It’s also perfectly possible to take advantage of all this using only Claude’s free tier, which gives you 10 or so messages every few hours.

More than enough to knock up some learning games.

Have you created anything for colleagues to adapt and share on in Claude? Let us know in the comments!

ChatGPT French travel poster

A Second Shot at Perfect Posters – ChatGPT’s Image Tweaker

The big ChatGPT news in recent weeks is about images, rather than words. The AI frontrunner has added a facility to selectively re-prompt for parts of an image, allowing us to tweak sections that don’t live up to prompt expectations.

In essence, this new facility gives us a second shot at saving otherwise perfect output from minor issues. And for language learning content, like posters and flashcards, the biggest ‘minor’ issue – the poor spellings that crop up in AI image generation – makes the difference between useful and useless material.

Rescuing ChatGPT Posters

Take this example. It’s a simple brief – a stylish, 1950s style travel poster for France. Here’s the prompt I used to generate it:

Create a vibrant, stylish 1950s style travel poster featuring Paris and the slogan “La France”.

I wanted the text “La France” at the top, but, as you can see, we’ve got a rogue M in there instead of an N.

ChatGPT generated image of a French travel poster

To target that, I tap the image in the ChatGPT app. It calls up the image in edit mode, where I can highlight the areas that need attention:

ChatGPT image editing window

Then, I press Next, and can re-prompt for that part of the image. I simply restate the slogan instructions:

The slogan should read “La France”.

The result – a correct spelling, this time!

ChatGPT French travel poster

It can take a few goes. Dodgy spelling hasn’t been fixed; we’ve just been given a way to try again without scrapping the entire image. Certain details also won’t be retained between versions, such as the font, in this example. Others may be added, like the highly stylised merging of the L and F in the slogan (a feature, rather than a bug, I think!).

But the overall result is good enough that our lovely 1950s style poster wasn’t a total write-off.

Another case of AI being highly imperfect on its own, but a great tool when enhanced by us human users. It still won’t replace us – just yet!

Image tweaking is currently only available in the ChatGPT app (iOS / Android).