Instructions to use CaptchaKraken/Sunlight-AWQ-4bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use CaptchaKraken/Sunlight-AWQ-4bit with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="CaptchaKraken/Sunlight-AWQ-4bit") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("CaptchaKraken/Sunlight-AWQ-4bit") model = AutoModelForMultimodalLM.from_pretrained("CaptchaKraken/Sunlight-AWQ-4bit", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use CaptchaKraken/Sunlight-AWQ-4bit with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "CaptchaKraken/Sunlight-AWQ-4bit" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "CaptchaKraken/Sunlight-AWQ-4bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/CaptchaKraken/Sunlight-AWQ-4bit
- SGLang
How to use CaptchaKraken/Sunlight-AWQ-4bit with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "CaptchaKraken/Sunlight-AWQ-4bit" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "CaptchaKraken/Sunlight-AWQ-4bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "CaptchaKraken/Sunlight-AWQ-4bit" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "CaptchaKraken/Sunlight-AWQ-4bit", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use CaptchaKraken/Sunlight-AWQ-4bit with Docker Model Runner:
docker model run hf.co/CaptchaKraken/Sunlight-AWQ-4bit
CaptchaKraken Sunlight (AWQ 4-bit)
A standalone captcha-solving model: the CaptchaKrakenV1_Lora
adapter merged into Qwen/Qwen3.5-9B and quantized to AWQ 4-bit. One
download, no adapter to wire up.
Sunlight is the lighter of two hardware tiers. Twilight is the same adapter and base at FP8, ~5 GB larger and ~4 points stronger.
- Weights: ~9.1 GB · Min VRAM: ~11 GB
- Base revision:
c202236235762e1c871ad0ccb60c8ee5ba337b9a - Quantized: language-model linears at 4-bit (group 128, asymmetric). The vision tower, the linear-attention projections and the multi-token-prediction head stay bf16 — quantizing those costs accuracy out of proportion to the space saved. Calibrated on 256 in-domain captchas (hCaptcha + reCAPTCHA, none from the held-out set).
- Solves: reCAPTCHA and hCaptcha grids, plus hCaptcha drag / click / path / fit puzzles.
Serving (vLLM)
vllm serve CaptchaKraken/Sunlight-AWQ-4bit \
--max-model-len 8192 --gpu-memory-utilization 0.85 --trust-remote-code --port 8000
No --enable-lora and no adapter flags — the adapter is already merged in.
Prompts — read this before integrating
This model only performs as measured when it is sent the prompts it was trained
on. prompts.json in this repo carries them, along with the puzzle-type →
template mapping and a prompt_version. Resolve prompts from that file rather
than hardcoding a copy: a mismatched prompt does not error, it silently
collapses accuracy.
Two integration requirements:
- Disable thinking. Send
chat_template_kwargs: {"enable_thinking": false}. With thinking on and a qwen3 reasoning parser, the answer is routed intoreasoningandcontentcomes back empty. - Coordinates are normalized 0–1000, top-left
(0,0), bottom-right(1000,1000)— not pixels.
Evaluation
Scored with the project's soft-tolerance grader on 156 human-labelled held-out captchas, through an OpenAI-compatible vLLM endpoint. Samples promoted into the labelled-train pool are excluded, so nothing here was trained on. Grid puzzles are exact tile-set match with per-error decay; click/drag receive partial credit by normalized distance — so these are graded scores, not "percent solved".
| model | score |
|---|---|
| Twilight (FP8) | 66.87% |
production captcha (FP8 base + LoRA at serve time) |
66.30% |
| Sunlight (AWQ 4-bit) | 62.72% |
Merging costs nothing: Twilight matches the served base+adapter setup within noise. The 4-bit gap concentrates in coordinate-precision puzzles (drag, path) rather than tile selection, where the two are identical.
License
CaptchaKraken Source-Available License v1.0 — see LICENSE.
Use it, modify it, build commercially on it where captcha solving is an internal component of a product that delivers value beyond the solve — scrapers, anti-detection browsers, automation frameworks, QA and accessibility tooling.
You may not sell the solve: no reselling or offering for a fee a captcha solving service or API whose primary value is solving captchas, no thin wrappers exposing this model's solving capability, and no relaying its outputs through a paid or public captcha-solving API. Those require a separate written commercial agreement.
Copyright (c) 2026 CaptchaKraken LLC. All rights reserved.
- Downloads last month
- 8