Nyhet · LM Studio · multimodalt API

LM Studio 0.4.24 håller bild och text i samma meddelande – kontrollera det multimodala API:t

Ett anrop kan vara giltig JSON och ändå ge modellen fel samtalsstruktur. Skicka därför en ofarlig bild och dess instruktion i samma input-lista, och spara version, modell, begäran och svar som ett enda prov.

Av C. Leijon · Publicerad · Senast granskad · 8 min läsning

LM Studio 0.4.24 build 1 släpptes den 9 september 2026 med en liten men viktig rad i versionsnoteringen: /api/v1/chat delade tidigare text- och bildinput i separata användarmeddelanden. Rättningen betyder inte att varje lokal modell nu kan se bilder eller att varje bildfråga får rätt svar. Den betyder att API:t inte längre ska ändra den avsedda meddelandegrupperingen på just det sättet.

Det du ska bevisa

Samma input-lista innehåller både ett bildobjekt och ett textobjekt. En bildkapabel modell svarar på två visuella fakta som texten uttryckligen frågar efter. Serverversion, modellidentifierare, bildens checksumma, rå begäran och rått svar sparas tillsammans.

Varför två användarmeddelanden är ett annat test

I ett multimodalt anrop hör frågan ofta till en bestämd bild: ”Vilken form ligger till vänster, och vilken färg har den?” Om klienten avser en sammanhållen användarvända men servern gör bilden till ett meddelande och instruktionen till nästa har samtalshistoriken ändrats. Modellen kan fortfarande ge ett rimligt svar, men resultatet bevisar inte att den fick strukturen du skickade.

Det är därför ett vanligt HTTP 200 inte räcker som godkännandekriterium. Det visar att servern accepterade begäran. Provet behöver dessutom kontrollera att svaret använder information som bara finns i bilden och följer relationen som bara finns i textinstruktionen.

Frys fyra saker innan du skickar något

  1. Anteckna LM Studio-versionen: provet gäller 0.4.24 build 1.
  2. Välj en lokalt installerad modell som LM Studio eller modellens dokumentation markerar som bildkapabel, och spara dess unika modellidentifierare.
  3. Skapa en syntetisk PNG utan privata data: en röd cirkel till vänster och en blå kvadrat till höger.
  4. Beräkna SHA-256 för bilden och spara exakt JSON-kropp bredvid checksumman.

Valet av modell är en förkontroll, inte en detalj. En textmodell kan avvisa bilden eller svara utifrån instruktionens ord även om API-grupperingen är korrekt. Vill du först kontrollera vilken lokal modell som passar arbetslasten finns urvalsmetoden i AI-burkens modellguide.

Bygg en enda input-lista med två objekt

LM Studios native v1-API använder POST /api/v1/chat. Enligt API-referensen kan input vara en sträng eller en objektlista. För det här provet behöver du listan: bildobjektet använder type: "image" och en base64-kodad data_url, medan textobjektet använder type: "text" och content.

{
  "model": "<din-bildkapabla-modell>",
  "input": [
    {
      "type": "image",
      "data_url": "data:image/png;base64,<BILDENS_BASE64>"
    },
    {
      "type": "text",
      "content": "Svara exakt: formen till vänster är [form] och har färgen [färg]; formen till höger är [form] och har färgen [färg]."
    }
  ],
  "temperature": 0,
  "store": false
}

Ordningen ska sparas, men poängen är framför allt att båda objekten är syskon i samma lista. Skapa inte två egna user-objekt runt dem och skicka inte bilden i ett anrop följt av texten i ett annat. Då provar du en annan samtalsstruktur än den som 0.4.24-rättningen gäller.

Skicka lokalt och behåll den råa begäran

Spara JSON-kroppen som request.json efter att data-URL:en lagts in. Kör sedan anropet mot den lokala servern. Exemplet utgår från standardadressen som LM Studios dokumentation använder; om du aktiverat autentisering behöver du även skicka den lokala API-token som din server kräver.

curl http://localhost:1234/api/v1/chat \
  -H "Content-Type: application/json" \
  --data-binary @request.json \
  -o response.json

Sätt inte en hemlig eller personlig bild i provet bara för att endpointet är lokalt. Kontrollera först lyssningsadress, åtkomst och nätverksgräns enligt integritetsguiden för lokal AI. Den här nyheten provar meddelandeformen, inte om servern är korrekt exponerad.

Kontrollera svaret mot samma facit som prompten beställde

API-svaret kan innehålla model_instance_id, en output-lista och stats. Ett textmeddelande i output har typen message och sitt svar i content. Spara hela response.json, men bedöm bara det som testet faktiskt frågade efter.

KontrollGodkäntInte bevisat
TransportServern accepterar samma sparade JSON-kropp.Att modellen tolkade bilden.
Vänster objektSvaret anger röd cirkel till vänster.Ett allmänt svar om färger eller former.
Höger objektSvaret anger blå kvadrat till höger.Rätt objekt men omvänd ordning.
SpårbarhetVersion, modell-ID, bildhash, request och response hör ihop.Ett inklistrat svar utan rå begäran.

Temperatur 0 minskar en rörlig del men garanterar inte identiska svar mellan motorer eller modellversioner. Det är därför facit mäter konkreta uppgifter, inte exakt ordalydelse. Om modellen skriver ”en röd rund form” kan du behöva avgöra i förväg om det ska räknas som cirkel eller som för ospecifikt.

Lägg till ett textprov som skiljer serverfel från bildfel

Kör ett andra anrop med samma modell, samma endpoint, temperature och store, men med enbart texten ”Svara med ordet KONTROLL”. Om även det anropet misslyckas ligger problemet sannolikt före bildtolkningen: servern, modellidentifieraren, autentiseringen eller modelladdningen behöver kontrolleras. Om textprovet fungerar men bildprovet avvisas är modellens bildstöd, bildformatet eller data-URL:en nästa avgränsning.

Ändra en sak i taget. Byt inte modell, bildformat och endpoint samtidigt, för då går det inte att koppla ett grönt resultat till 0.4.24-rättningen. AI-burkens artikel om att testa lokal AI med jämförbara parametrar använder samma princip: versionsnummer och råa anrop är en del av resultatet.

Jämför bara med äldre version om du har en återställningsväg

Vill du verifiera före- och efterbeteendet kan du köra exakt samma artefakter i den tidigare LM Studio-version som du faktiskt använde: samma modellfil, modellidentifierare, bildhash och JSON-kropp. Men versionsnoteringen beskriver intern meddelandegruppering, inte ett garanterat synligt felsvar. Ett äldre anrop kan därför råka svara rätt och ändå ha fått en annan historikstruktur.

Gör inte nedgraderingen på din enda fungerande installation utan att ha sparat konfiguration och modellvägar. Det praktiska godkännandet för de flesta team är smalare: 0.4.24 är installerad, samma-lista-kontraktet skickas, den bildkapabla modellen klarar facit och alla artefakter kan köras om.

Ett komplett resultat ryms i sex filer eller fält

Det underlaget visar mer än en skärmbild från chattgränssnittet. Det går att granska, diffra och köra om efter nästa version. Framför allt håller det isär tre frågor: accepterade servern formatet, fick modellen en bildkapabel väg och svarade den på bilden och instruktionen som samma vända?

Källor och tekniskt underlag

Källorna kontrollerades 10 september 2026. Artikeln innehåller inga egna körresultat och påstår inte att 0.4.24 gör en textmodell bildkapabel. Provet gäller LM Studios native /api/v1/chat, inte de OpenAI- eller Anthropic-kompatibla endpointsen.

Nästa steg

Skapa den syntetiska bilden, spara dess SHA-256 och lägg bild- och textobjektet i samma input-lista innan du startar servern.

Välj bildkapabel modell