🐦 Twitter Post Details

Viewing enriched Twitter post

@ngxson

llama.cpp now supports various small OCR models that can run on low-end devices. These models are small enough to run on GPU with 4GB VRAM, and some of them can even run on CPU with decent performance. In this post, I will show you how to use these OCR models with llama.cpp 👇

📊 Media Metadata

{
  "score": 0.36,
  "score_components": {
    "author": 0.09,
    "engagement": 0.0,
    "quality": 0.06000000000000001,
    "source": 0.135,
    "nlp": 0.05,
    "recency": 0.025
  },
  "scored_at": "2026-04-11T22:23:09.250257",
  "import_source": "api_import",
  "source_tagged_at": "2026-04-11T22:23:09.250270",
  "enriched": true,
  "enriched_at": "2026-04-11T22:23:09.250272"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2042631708650963344",
  "url": "https://x.com/ngxson/status/2042631708650963344",
  "twitterUrl": "https://twitter.com/ngxson/status/2042631708650963344",
  "text": "llama.cpp now supports various small OCR models that can run on low-end devices. These models are small enough to run on GPU with 4GB VRAM, and some of them can even run on CPU with decent performance.\n\nIn this post, I will show you how to use these OCR models with llama.cpp 👇",
  "source": "Twitter for iPhone",
  "retweetCount": 24,
  "replyCount": 9,
  "likeCount": 236,
  "quoteCount": 0,
  "viewCount": 19977,
  "createdAt": "Fri Apr 10 15:52:04 +0000 2026",
  "lang": "en",
  "bookmarkCount": 254,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2042631708650963344",
  "displayTextRange": [
    0,
    277
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "ngxson",
    "url": "https://x.com/ngxson",
    "twitterUrl": "https://twitter.com/ngxson",
    "id": "1293105854389133312",
    "name": "Xuan-Son Nguyen",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/1823412255280472064/VoZb_cia_normal.jpg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/1293105854389133312/1741182277",
    "description": "",
    "location": "Paris",
    "followers": 6281,
    "following": 239,
    "status": "",
    "canDm": false,
    "canMediaTag": true,
    "createdAt": "Tue Aug 11 08:44:04 +0000 2020",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 1458,
    "hasCustomTimelines": true,
    "isTranslator": false,
    "mediaCount": 269,
    "statusesCount": 1032,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "2003077674496131118"
    ],
    "profile_bio": {
      "description": "Engineer @huggingface",
      "entities": {
        "description": {
          "hashtags": [],
          "symbols": [],
          "urls": [],
          "user_mentions": [
            {
              "id_str": "0",
              "indices": [
                9,
                21
              ],
              "name": "",
              "screen_name": "huggingface"
            }
          ]
        },
        "url": {
          "urls": [
            {
              "display_url": "ngxson.com",
              "expanded_url": "https://ngxson.com",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/8kapnfl9di"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {},
  "card": null,
  "place": {},
  "entities": {
    "hashtags": [],
    "symbols": [],
    "timestamps": [],
    "urls": [],
    "user_mentions": []
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "communityInfo": null,
  "article": null
}