Image-Text-to-Text
Transformers
Safetensors
English
qwen3_vl_timeple
video
video-temporal-grounding
qwen3-vl
timeple
conversational
Instructions to use KlingTeam/TimePLE with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use KlingTeam/TimePLE with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="KlingTeam/TimePLE") 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 Qwen3VLForConditionalGenerationWithTimePLECodec model = Qwen3VLForConditionalGenerationWithTimePLECodec.from_pretrained("KlingTeam/TimePLE", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use KlingTeam/TimePLE with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "KlingTeam/TimePLE" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "KlingTeam/TimePLE", "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/KlingTeam/TimePLE
- SGLang
How to use KlingTeam/TimePLE 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 "KlingTeam/TimePLE" \ --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": "KlingTeam/TimePLE", "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 "KlingTeam/TimePLE" \ --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": "KlingTeam/TimePLE", "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 KlingTeam/TimePLE with Docker Model Runner:
docker model run hf.co/KlingTeam/TimePLE
File size: 4,623 Bytes
211878d 818d3b0 211878d 818d3b0 | 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 | ---
license: apache-2.0
library_name: transformers
pipeline_tag: image-text-to-text
base_model: Qwen/Qwen3-VL-8B-Instruct
datasets:
- KlingTeam/TimePLE-Dataset
language:
- en
tags:
- video
- video-temporal-grounding
- qwen3-vl
- timeple
- arxiv:2607.23951
---
# TimePLE-8B
TimePLE-8B is a Qwen3-VL-8B-Instruct model fine-tuned for video temporal grounding. Given a video and a natural-language event description, it represents and predicts the event's start/end span through a duration-adaptive TimePLE codec.
This is an inference release: it contains the selected stage-2 model weights and tokenizer/processor assets. The TimePLE model implementation is maintained in the public TimePLE source repository instead of being duplicated in this model repository. Optimizer, scheduler, RNG, and distributed-training states are intentionally excluded.
## Requirements and loading
Install the TimePLE package from its public GitHub repository first, then install the pinned runtime dependencies from this directory:
```bash
pip install "timeple @ git+https://github.com/KlingAIResearch/TimePLE.git"
pip install -r requirements.txt
```
Importing `timeple` registers the TimePLE configuration, model, and processor with Transformers. The model repository contains no executable Python code and does not require `trust_remote_code=True`.
```python
import torch
import timeple # registers TimePLE with the Transformers AutoClasses
from transformers import AutoModelForImageTextToText, AutoProcessor
# A downloaded local model directory also works.
model_id = "KlingTeam/TimePLE"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
).eval()
```
The TimePLE source repository provides the video preparation, temporal decoding, and benchmark runners. For example:
```bash
SUITE=charades_sta bash scripts/eval/run_suite.sh --models timeple_8b
```
The plain Transformers load above verifies and exposes the model; use the repository's TimePLE inference/evaluation path for decoded temporal intervals because it supplies video durations and the task-specific post-processing contract.
## Model details
- Base model: Qwen/Qwen3-VL-8B-Instruct
- Architecture: `Qwen3VLForConditionalGenerationWithTimePLECodec`
- Task: video temporal grounding / moment retrieval
- Weight dtype: bfloat16
- Serialization: four sharded safetensors files
- Vision tower: frozen during stage-2 SFT
- Language model, TimePLE codec, and MLP interface adapter: trainable during stage-2 SFT
- License: Apache-2.0
The tokenizer vocabulary has 151,671 entries. It preserves all 13 Qwen3-VL additional special tokens and appends:
| Token | ID | Purpose |
|---|---:|---|
| `<|TIMESTAMP|>` | 151669 | Temporal point marker |
| `<|TIMESPAN|>` | 151670 | Temporal interval marker |
The TimePLE codec uses a 128×128 canonical span grid, a duration-adaptive residual decoder, and a learned MLP interface adapter to the 4096-dimensional language-model representation.
## Intended use
This model is intended for research and evaluation of temporal localization in videos from a textual event query. Suitable uses include moment retrieval experiments, temporal-grounding ablations, and further task-specific fine-tuning.
## Limitations
- Temporal quality depends on frame sampling, video duration metadata, and the inference pipeline's video preprocessing.
- The training data and prompts are primarily English; other languages and unseen domains have not been established here.
- Long, ambiguous, repeated, or extremely brief events may yield unstable boundaries.
- The reported validation result comes from the training-time validation mixture and should not be compared directly with benchmark test results produced under different sampling or evaluation protocols.
- The model inherits limitations and potential biases of Qwen3-VL and of the stage-1/stage-2 training data.
## Release contents and integrity
Model parameters—including all TimePLE codec and adapter parameters—are stored in the indexed safetensors shards. No pickle-based `.bin`, `.pt`, or `.pth` weight file is required. The model directory contains no executable Python implementation; AutoClass registration is provided by the separately installed `timeple` package.
See `LICENSE` for the release license. Users must also comply with the terms applicable to the base model, input videos, and any datasets they use.
## Citation
Paper: [TimePLE: Rethinking Temporal Representation for Video Temporal Grounding](https://arxiv.org/abs/2607.23951)
|