Strona główna → Pomoc

Obraz wejściowy odrzucony przez model wizyjny

Albo w treści base64 brakuje prefiksu data URL, albo do kodowania trafiły znaki nowej linii, albo plik przekracza limit rozmiaru, albo format nie jest akceptowany przez model. Treść błędu rzadko je rozróżnia.

Co widzisz

Dlaczego tak się dzieje

Obraz w base64 wysłany jako image_url potrzebuje pełnego data URL, łącznie z typem mediów: data:image/png;base64,. Wysłanie samej treści to zdecydowanie najczęstsza przyczyna.

Narzędzie base64 z wiersza poleceń w wielu systemach domyślnie łamie linie. Wstawione znaki nowej linii sprawiają, że treść jest nieprawidłowa, choć wygląda dobrze. Użyj flagi, która wyłącza łamanie.

Limity rozmiaru dotyczą zakodowanej treści, która jest mniej więcej o jedną trzecią większa niż plik na dysku. Obraz tuż poniżej limitu lokalnie może go przekraczać w przesyłanych danych.

Sprawdź, czy to ta przyczyna

Zakoduj bez łamania linii i sprawdź, czy prefiks jest obecny:

b64=$(base64 -w0 image.png)      # macOS: base64 -i image.png | tr -d '\n'
echo "payload bytes: ${#b64}"
printf 'data:image/png;base64,%s' "$b64" | head -c 40; echo

Pierwsze 40 znaków powinno zaczynać się od data:image/png;base64,. Jeśli treść ma znacznie więcej bajtów, niż się spodziewasz, za duży jest sam plik.

Jak to naprawić

  1. Wysyłaj pełny data URLDołącz schemat i typ mediów. PNG wysłany z typem image/jpeg też jest odrzucany przez niektóre modele, więc dopasuj go do rzeczywistego formatu.
  2. Wyłącz łamanie linii przy kodowaniubase64 -w0 w Linuksie albo przepuszczenie przez tr -d, żeby usunąć znaki nowej linii, w macOS.
  3. Zmniejsz obraz przed wysłaniemWiększość modeli wizyjnych i tak zmniejsza obraz wewnętrznie. Wysłanie zdjęcia 12 Mpx kosztuje czas wysyłania i tokeny, a nie poprawia odpowiedzi.
Obrazy wejściowe są w APICLAN naliczane jako tokeny wejściowe, a większe obrazy kosztują więcej, bo zamieniają się w więcej tokenów. Zmniejszenie obrazu przed wywołaniem to bezpośrednia oszczędność, a nie tylko sposób na obejście limitu.

Powiązane

Unexpected token '<' przy wywołaniu API zgodnego z OpenAI401 invalid API key – gdy klucz wygląda dobrze, a i tak nie działa

Ostatnio sprawdzono 2026-10-01. Napisane na podstawie problemów zdiagnozowanych na działającej bramce zgodnej z OpenAI, a nie zebrane z innych stron.