Image-Text-to-Text
Transformers
Safetensors
English
Chinese
qwen3_5
code-video
video-generation
agent
claude-code
qwen3.8
conversational
Instructions to use sensenova/SenseNova-6.8-Code2Video with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use sensenova/SenseNova-6.8-Code2Video with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="sensenova/SenseNova-6.8-Code2Video") 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("sensenova/SenseNova-6.8-Code2Video") model = AutoModelForMultimodalLM.from_pretrained("sensenova/SenseNova-6.8-Code2Video", 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 sensenova/SenseNova-6.8-Code2Video with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "sensenova/SenseNova-6.8-Code2Video" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sensenova/SenseNova-6.8-Code2Video", "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/sensenova/SenseNova-6.8-Code2Video
- SGLang
How to use sensenova/SenseNova-6.8-Code2Video 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 "sensenova/SenseNova-6.8-Code2Video" \ --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": "sensenova/SenseNova-6.8-Code2Video", "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 "sensenova/SenseNova-6.8-Code2Video" \ --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": "sensenova/SenseNova-6.8-Code2Video", "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 sensenova/SenseNova-6.8-Code2Video with Docker Model Runner:
docker model run hf.co/sensenova/SenseNova-6.8-Code2Video
|
Download README.md from sensenova/SenseNova-6.8-Code2Video: direct link, hf CLI and curl.
- Browser
- Download file 9.64 kB
-
https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/README.md
- Command line
-
hf download hf://sensenova/SenseNova-6.8-Code2Video/README.md
-
curl -L -o README.md https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/README.md
9.64 kB
| license: apache-2.0 | |
| library_name: transformers | |
| pipeline_tag: image-text-to-text | |
| language: | |
| - en | |
| - zh | |
| tags: | |
| - code-video | |
| - video-generation | |
| - agent | |
| - claude-code | |
| - qwen3.8 | |
| <div align="center"> | |
| <img src="https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/media/readme/title.gif" width="100%" alt="SenseNova 6.8 Code2Video · Every frame is code. · 把脑洞,码成片"> | |
| <h1>SenseNova 6.8 Code2Video</h1> | |
| <p>A code-driven video creation model, fine-tuned from Qwen3.8-27B</p> | |
| <img src="https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/media/readme/typing_en.svg" width="90%" alt="One model for math explainers / paper-craft films / isometric worlds / kinetic type / data stories / character animation / product promos"> | |
| </div> | |
| <div align="center" style="line-height: 1;"><a href="https://github.com/OpenSenseNova/SenseNova-6.8-Code2Video"><img src="https://img.shields.io/badge/GitHub-skill_%C2%B7_prompts-181717?style=flat-square&logo=github&logoColor=white" alt="GitHub" style="display: inline-block; vertical-align: middle; margin: 2px;"></a> <img src="https://img.shields.io/badge/License-Apache_2.0-2563eb?style=flat-square" alt="License: Apache 2.0" style="display: inline-block; vertical-align: middle; margin: 2px;"> <img src="https://img.shields.io/badge/Params-27B-db2777?style=flat-square" alt="Params: 27B" style="display: inline-block; vertical-align: middle; margin: 2px;"> <img src="https://img.shields.io/badge/Context-512K-0891b2?style=flat-square" alt="Context: 512K" style="display: inline-block; vertical-align: middle; margin: 2px;"> <a href="https://discord.com/channels/1488006693395628032/1488015977932390520"><img src="https://img.shields.io/badge/Discord-OpenSenseNova-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord: OpenSenseNova" style="display: inline-block; vertical-align: middle; margin: 2px;"></a></div> | |
| <a href="https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/media/launch/sensenova_codevideo_launch_film.mp4"><img src="https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/media/launch/sensenova_codevideo_launch_film.gif" width="100%" alt="SenseNova 6.8 Code2Video launch film"></a> | |
| <p align="center"><a href="https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/resolve/main/media/launch/sensenova_codevideo_launch_film.mp4">Launch film (90 s, with sound)</a>, made by SenseNova 6.8 Code2Video</p> | |
| We present SenseNova 6.8 Code2Video, a lightweight open model for code-driven video creation. The model builds and renders videos by generating executable code, and currently focuses on short videos implemented entirely in code. Preliminary results show good visual composition and motion choreography in motion design, suggesting the potential of lightweight models for programmatic video creation. | |
| We chose code as the entry point to video creation partly for its ability to connect different models and creative tools. Beyond building and rendering visual content directly, code can call image generation, video generation, 3D modelling and video editing models and tools, chaining generation, editing and compositing into a complete creative workflow. | |
| We believe code can become a common language between ideas and finished work. Our long-term goal is a model that coordinates different generative models and creative tools through code to create digital content across media. SenseNova 6.8 Code2Video is a first step in this direction. Next, we will scale the model further and extend these abilities to editing, compositing, animation and 3D content creation. | |
| ## Released Resources | |
| | Resource | Location | Description | | |
| |---|---|---| | |
| | **Model weights** | [This repository](https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/tree/main) | Weights, config and tokenizer | | |
| | **Example trajectories** | [`trajectories/`](https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/blob/main/trajectories/all.openai.jsonl) | Message and tool logs with figures | | |
| | **Production skill** | [GitHub](https://github.com/OpenSenseNova/SenseNova-6.8-Code2Video/tree/main/skills/code-video) | Workflow, craft guides, rendering tools | | |
| ## Deployment | |
| ### [LightLLM](https://github.com/ModelTC/LightLLM) | |
| ```bash | |
| docker run --rm --gpus all --ipc=host -p 8000:8000 \ | |
| -v /path/to/SenseNova-6.8-Code2Video:/model \ | |
| ghcr.io/modeltc/lightllm:main \ | |
| python -m lightllm.server.api_server \ | |
| --model_dir /model \ | |
| --tp 4 \ | |
| --max_req_total_len 524288 \ | |
| --host 0.0.0.0 --port 8000 | |
| ``` | |
| ### [vLLM](https://github.com/vllm-project/vllm) | |
| ```bash | |
| docker run --rm --gpus all --ipc=host -p 8000:8000 \ | |
| -e VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 \ | |
| -v /path/to/SenseNova-6.8-Code2Video:/model \ | |
| vllm/vllm-openai:latest \ | |
| --model /model \ | |
| --tensor-parallel-size 4 \ | |
| --max-model-len 524288 \ | |
| --reasoning-parser qwen3 \ | |
| --enable-auto-tool-choice \ | |
| --tool-call-parser qwen3_coder \ | |
| --host 0.0.0.0 --port 8000 | |
| ``` | |
| ### [SGLang](https://github.com/sgl-project/sglang) | |
| ```bash | |
| docker run --rm --gpus all --ipc=host -p 8000:8000 \ | |
| -e SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 \ | |
| -v /path/to/SenseNova-6.8-Code2Video:/model \ | |
| lmsysorg/sglang:latest \ | |
| python -m sglang.launch_server \ | |
| --model-path /model \ | |
| --tp-size 4 \ | |
| --context-length 524288 \ | |
| --reasoning-parser qwen3 \ | |
| --tool-call-parser qwen3_coder \ | |
| --host 0.0.0.0 --port 8000 | |
| ``` | |
| ## Recommended harness: Claude Code | |
| A complete film is a long-horizon task: the model writes and renders code, reviews the frames and revises, turn after turn. SenseNova 6.8 Code2Video sustains runs of **more than 10 hours and more than 2,000 turns**. Configure Claude Code for runs of that length: | |
| | Setting | Value | Configuration | | |
| |---|---|---| | |
| | Context window | 512K | `CLAUDE_CODE_MAX_CONTEXT_TOKENS=524288` | | |
| | Auto-compaction | 0.8 | `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=80` | | |
| | Max output | 64K | `CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000` | | |
| | Turns per run | 2,000+ | `--max-turns 2000` or more | | |
| | Time per run | 10 h+ | `timeout 10h` or more | | |
| Set the context window explicitly, since Claude Code otherwise treats an unknown model as a 200K model. With compaction at 0.8 and 64K of output, every request stays within the 512K server limit. | |
| Put the endpoint and these variables in a private settings file, and supply the credential through `ANTHROPIC_AUTH_TOKEN` or `ANTHROPIC_API_KEY`: | |
| ```json | |
| { | |
| "env": { | |
| "ANTHROPIC_BASE_URL": "https://your-endpoint.example.com", | |
| "ANTHROPIC_MODEL": "your-deployed-model-name", | |
| "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "524288", | |
| "CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80", | |
| "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "64000" | |
| }, | |
| "model": "your-deployed-model-name" | |
| } | |
| ``` | |
| Avoid slow shell initialization: every Bash call starts a new shell. | |
| ## Usage | |
| Producing a film has three stages: | |
| | Stage | Performed by | Output | | |
| |---|---|---| | |
| | 1. Prompt enhancement | A strong general model (we use Claude Opus 5.5) with the [Enhance prompt template](https://github.com/OpenSenseNova/SenseNova-6.8-Code2Video/blob/main/prompts/enhance_prompt.md) | `dense_prompt.md` | | |
| | 2. Production | SenseNova 6.8 Code2Video in Claude Code with the `code-video` skill | `out/final.mp4`, `SPEC.md`, `VERIFY.md` | | |
| | 3. Revision (optional) | The creator writes notes; SenseNova 6.8 Code2Video applies them in the same project | A new version of the film | | |
| Stage 2 with the settings above: | |
| ```bash | |
| cd /path/to/task # contains dense_prompt.md, assets/ and .claude/skills/code-video | |
| claude -p --settings /path/to/private-settings.json --model your-deployed-model-name \ | |
| --max-turns 2000 --permission-mode acceptEdits --allowedTools "Bash,Read,Write,Edit,Glob,Grep,Skill" \ | |
| 'Use the project code-video skill. Read .claude/skills/code-video/SKILL.md and dense_prompt.md, then the relevant craft guides. Produce the complete video and deliver out/final.mp4, SPEC.md and VERIFY.md.' | |
| ``` | |
| The run executes shell commands without asking, so start it in an isolated working environment. For a revision, run `claude -p --continue` in the same folder with the creator's notes as the prompt. | |
| Copy the skill into `.claude/skills/code-video` unchanged and put task-specific requirements in the prompt. Setup steps and dependencies are in the [GitHub repository](https://github.com/OpenSenseNova/SenseNova-6.8-Code2Video). | |
| ## Production trajectories | |
| [`trajectories/all.openai.jsonl`](https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/blob/main/trajectories/all.openai.jsonl) holds one film per line, in OpenAI messages format. | |
| Each line contains `messages`, `tools`, `images`, `enable_thinking` and `metadata`. The messages include reasoning, tool calls and results, retries and compaction summaries. Images appear as `<image>` placeholders; the ordered `images` array gives their paths relative to `trajectories/`, and all 357 figures are in [`trajectories/figures/`](https://huggingface.co/sensenova/SenseNova-6.8-Code2Video/tree/main/trajectories/figures). Private paths and hosts are anonymized, so recorded commands are not directly replayable. | |
| ## License | |
| Released under the Apache License 2.0. | |
| ## Contributors | |
| We thank the following contributors for their work on SenseNova 6.8 Code2Video: | |
| - [moolean0](https://huggingface.co/moolean0) | |
| - [sysssyssy](https://huggingface.co/sysssyssy) | |
| - [TTTTTony](https://huggingface.co/TTTTTony) | |
| - [craigwu](https://huggingface.co/craigwu) | |
| - [dder4567](https://huggingface.co/dder4567) | |
| - [M1M1cooL](https://huggingface.co/M1M1cooL) | |
| - [egugu](https://huggingface.co/egugu) | |
| - [luotto](https://huggingface.co/luotto) | |