Image-Text-to-Text
Transformers
Safetensors
English
qwen3_5_moe
qwen3.6
multimodal
mixture-of-experts
agentic-work
occupational-work
tool-use
conversational
Instructions to use endless-frontier/Fx-Work with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use endless-frontier/Fx-Work with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="endless-frontier/Fx-Work") 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)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("endless-frontier/Fx-Work") model = AutoModelForMultimodalLM.from_pretrained("endless-frontier/Fx-Work", 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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use endless-frontier/Fx-Work with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "endless-frontier/Fx-Work" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "endless-frontier/Fx-Work", "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/endless-frontier/Fx-Work
- SGLang
How to use endless-frontier/Fx-Work 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 "endless-frontier/Fx-Work" \ --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": "endless-frontier/Fx-Work", "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 "endless-frontier/Fx-Work" \ --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": "endless-frontier/Fx-Work", "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 endless-frontier/Fx-Work with Docker Model Runner:
docker model run hf.co/endless-frontier/Fx-Work
File size: 6,007 Bytes
aa6ac3f 13104af aa6ac3f 13104af aa6ac3f 13104af 2150268 13104af 31892c8 13104af | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | ---
language:
- en
library_name: transformers
license: apache-2.0
license_link: https://huggingface.co/Qwen/Qwen3.6-35B-A3B/blob/main/LICENSE
pipeline_tag: image-text-to-text
base_model: Qwen/Qwen3.6-35B-A3B
tags:
- qwen3.6
- multimodal
- mixture-of-experts
- agentic-work
- occupational-work
- tool-use
---
# Fx-Work
Fx-Work is a 35B-class multimodal language model for professional work in realistic file-and-tool environments. It is designed to interpret heterogeneous work materials, reason over operational constraints, use tools when required, and produce deliverables that satisfy explicit professional requirements.
Fx-Work is built on Qwen3.6-35B-A3B and post-trained with 20K tool-interaction trajectories. The trajectories are generated from occupational work constructed with real-world artifacts, occupational knowledge, actionable requests, and itemized evaluation criteria. Execution-guided verification is used during data construction to identify and repair inconsistencies between the work request, reference materials, and rubric.
## Main Results
Fx-Work achieves the strongest results among the evaluated models at or below the 35B scale on all five reported metrics. It also surpasses DeepSeek-V4-Pro-Preview (1.6T) on four of the five metrics.
<p align="center">
<a href="https://huggingface.co/endless-frontier/Fx-Work/blob/main/main_figure_fx_work.pdf">
<img src="https://huggingface.co/endless-frontier/Fx-Work/resolve/main/main_figure_fx_work.png"
alt="Fx-Work benchmark results" width="100%">
</a>
</p>
## Benchmark Results
Results on GDPvalAA-v2, APEX-Agents-AA, and JobBench. GDPval Rubric is the normalized rubric score; GDPval Elo uses the August 4, 2026 snapshot; APEX-Agents reports pass@1; and JobBench reports the Main and Easy splits. AVG is the mean of normalized GDPval Elo, APEX-Agents-AA, and JobBench Main. `--` indicates that a result was not publicly available or was not tested. Bold marks the best value among the models at or below the 35B scale.
| Model | Parameters | GDPval Rubric | GDPval Elo | APEX-Agents pass@1 | JobBench Main | JobBench Easy | AVG |
|:--|--:|--:|--:|--:|--:|--:|--:|
| **Frontier models** | | | | | | | |
| Qwen3.8-Max | 2.4T-A95B | 91.53 | 1739 | 38.9 | 52.57 | 82.81 | 51.14 |
| Kimi-K3 | 2.8T-A104B | 91.64 | 1687 | 35.5 | 43.81 | 80.72 | 46.22 |
| GPT-5.5 | -- | 90.50 | 1491 | 29.9 | 30.10 | 78.22 | 36.52 |
| GLM-5.2 | 753B-A40B | 90.34 | 1510 | 29.7 | 33.79 | 75.49 | 37.80 |
| DeepSeek-V4-Pro-Preview | 1.6T-A49B | 87.17 | 1304 | 19.2 | 18.90 | 64.08 | 26.10 |
| DeepSeek-V4-Flash-Preview | 284B-A13B | 86.49 | 1189 | 15.2 | 18.62 | 63.13 | 22.75 |
| **Models at or below 35B** | | | | | | | |
| Nex-N2-mini | 35B-A3B | 69.96 | 1065 | 15.6 | 9.39 | 52.93 | 17.74 |
| Agents-A1 | 35B-A3B | 74.31 | 877 | 11.7 | 7.19 | 41.74 | 12.58 |
| Apodex-1.0-mini | 35B-A3B | 78.36 | 973 | 14.6 | 7.97 | 44.38 | 15.40 |
| Occamy-1.0 | 35B-A3B | 79.50 | 1200 | 20.5 | 18.88 | 65.49 | 24.79 |
| Qwen3.6-27B | 27B | 85.10 | 1138 | 16.6 | 19.18 | 64.59 | 22.56 |
| Qwen3.6-35B-A3B | 35B-A3B | 82.61 | 1053 | 13.4 | 14.99 | 56.02 | 18.68 |
| **Fx-Work** | **35B-A3B** | **86.66** | **1352** | **25.2** | **25.19** | **70.06** | **31.00** |
## Quickstart
For streamlined integration, we recommend serving Fx-Work through an OpenAI-compatible API using SGLang or vLLM. The repository requires Hugging Face authentication when access is restricted.
> [!Important]
> Fx-Work uses a native context length of 262,144 tokens. If GPU memory is limited, reduce the context length; for long-horizon professional work, retaining at least 128K tokens is recommended.
### SGLang
[SGLang](https://github.com/sgl-project/sglang) provides an OpenAI-compatible server for high-throughput inference.
```bash
python -m sglang.launch_server \
--model-path endless-frontier/Fx-Work \
--port 8000 \
--tp-size 8 \
--mem-fraction-static 0.8 \
--context-length 262144 \
--reasoning-parser qwen3
```
### vLLM
[vLLM](https://github.com/vllm-project/vllm) provides a high-throughput OpenAI-compatible server.
```bash
vllm serve endless-frontier/Fx-Work \
--port 8000 \
--tensor-parallel-size 8 \
--max-model-len 262144 \
--reasoning-parser qwen3
```
Both commands expose an endpoint at `http://localhost:8000/v1`. Tool execution is provided by the surrounding agent harness; the model server exposes generation and, where configured, tool-call responses.
### Transformers
```python
import torch
from transformers import AutoProcessor, Qwen3_5MoeForConditionalGeneration
model_id = "endless-frontier/Fx-Work"
processor = AutoProcessor.from_pretrained(model_id)
model = Qwen3_5MoeForConditionalGeneration.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
messages = [
{
"role": "user",
"content": "Summarize the key risks and next actions in this work request.",
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt",
return_dict=True,
).to(model.device)
with torch.inference_mode():
output_ids = model.generate(**inputs, max_new_tokens=1024)
new_tokens = output_ids[:, inputs["input_ids"].shape[1]:]
print(processor.batch_decode(new_tokens, skip_special_tokens=True)[0])
```
The processor supports the multimodal image and video message format provided by Qwen3.6.
## Citation
If you use Fx-Work, please cite:
```bibtex
@article{zhu2026workgenesis,
title={WorkGenesis: Building the Worlds That Teach Agents to Work},
author={Zhu, Xinyu and Liu, Fenyi and Cai, Yuzhu and Tang, Shuo and Ye, Rui and Zhang, Linfeng and Chen, Siheng},
journal={arXiv preprint arXiv:2609.39325},
year={2026}
}
```
## License
Fx-Work is released under the Apache 2.0 license, subject to the terms of the base model and third-party components. See the [Qwen3.6-35B-A3B license](https://huggingface.co/Qwen/Qwen3.6-35B-A3B/blob/main/LICENSE) for the upstream terms.
|