HyperCLOVA X SEED 32B Think is an updated vision-language thinking model that advances the
SEED Think 14B line beyond simple scaling, pairing a unified vision-language Transformer backbone with a reasoning-centric training recipe. SEED 32B Think processes text tokens and visual patches within a shared embedding space, supports long-context multimodal understanding up to 128K tokens, and provides an optional “thinking mode” for deep, controllable reasoning. Building on the earlier 14B model, SEED 32B Think further strengthens Korean-centric reasoning and agentic capabilities, improving practical reasoning quality and reliability in real-world use.
We provide
OmniServe , a production-ready multimodal inference system with OpenAI-compatible API.
1 # Clone OmniServe
2 git clone https://github.com/NAVER-Cloud-HyperCLOVA-X/OmniServe.git
3 cd OmniServe
4
5 # Install dependencies
6 pip install huggingface_hub safetensors torch openai easydict
7
8 # Download model (~60GB)
9 huggingface-cli download naver-hyperclovax/HyperCLOVAX-SEED-Think-32B \
10 --local-dir ./models/HyperCLOVAX-SEED-Think-32B
11
12 # Convert model to component format
13 python convert_model.py \
14 --input ./models/HyperCLOVAX-SEED-Think-32B \
15 --output ./track_a \
16 --track a
17
18 # Configure environment
19 cp .env.example .env
20 # Edit .env:
21 # VLM_MODEL_PATH=./track_a/llm/HyperCLOVAX-SEED-Think-32B
22 # VLM_ENCODER_VISION_MODEL_PATH=./track_a/ve/HyperCLOVAX-SEED-Think-32B
23
24 # Build and run
25 docker compose --profile track-a build
26 docker compose --profile track-a up -d
27
28 # Wait for model loading (~5 minutes)
29 docker compose logs -f vlm
1 from openai import OpenAI
2
3 client = OpenAI (
4 base_url = "http://localhost:8000/a/v1" ,
5 api_key = "not-needed"
6 )
7
8 # Image understanding
9 response = client . chat . completions . create (
10 model = "track_a_model" ,
11 messages = [
12 {
13 "role" : "user" ,
14 "content" : [
15 { "type" : "image_url" , "image_url" : { "url" : "https://example.com/image.jpg" } } ,
16 { "type" : "text" , "text" : "Describe this image." }
17 ]
18 }
19 ] ,
20 max_tokens = 512 ,
21 extra_body = { "chat_template_kwargs" : { "thinking" : False } }
22 )
23
24 print ( response . choices [ 0 ] . message . content )
1 response = client . chat . completions . create (
2 model = "track_a_model" ,
3 messages = [
4 { "role" : "user" , "content" : "Solve step by step: 3x + 7 = 22" }
5 ] ,
6 max_tokens = 1024 ,
7 extra_body = {
8 "thinking_token_budget" : 500 ,
9 "chat_template_kwargs" : { "thinking" : True }
10 }
11 )
12
13 # Response includes <think>...</think> with reasoning process
14 print ( response . choices [ 0 ] . message . content )
User Request
(Image/Video/Text)
│
▼
┌─────────────────────────────────────────────────────────────────────────┐
│ OmniServe │
│ POST /a/v1/chat/completions │
│ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ [1] INPUT ENCODING │ │
│ │ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Vision Encoder │ │ │
│ │ └────────┬────────┘ │ │
│ │ │ embeddings │ │
│ └────────────────────────────┼─────────────────────────────────────┘ │
│ ▼ │
│ ┌──────────────┐ │
│ │ LLM (32B) │◀──── text │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ Text Response │
│ │
└─────────────────────────────────────────────────────────────────────────┘
│
▼
Response
(Text)
For any other questions, please feel free to contact us at
dl_hcxopensource@navercorp.com .