• lseif@sopuli.xyz
    link
    fedilink
    arrow-up
    8
    ·
    1 year ago

    did it give you the images in base64 from an llm, or from an image generation model ?

    • ChaoticNeutralCzech@lemmy.ml
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      1 year ago

      I think you can guess that part. I doubt a current LLM can create a valid PNG, even if it’s just a 1x1px one that has been created before. This is partially because PNGs have a checksum and the LLM has definitely not seen enough PNGs in base64 to figure out the algorithm, and is not optimized to calculate checksums. In fact, I analyzed the image and the image header checksum is wrong even though the header makes sense (was likely stolen). Also, it gets penalized for repetition, which occurs a lot in image headers.

      AFAIK, the smallest valid image you see mentioned on the web is a 35-byte transparent pixel GIF, and the smallest PNG is a black pixel with 67 bytes:

      data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=
      data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4AWNgAAAAAgABc3UBGAAAAABJRU5ErkJggg==
      

      Testing rendering: Alt text for the GIF; if you see it, it failed, Alt text for the PNG; if you see it, it failed, another 67-byte PNG but 8 px wide: , or 1 gray pixel: , or a green one:

      The article + the generator