# Qwen3.5-Omni (multimodal)

de Alibaba **Qwen3.5-Omni** es un modelo multimodal unificado de extremo a extremo lanzado el 30 de marzo de 2026 bajo la licencia Apache 2.0. Puede comprender y razonar simultáneamente sobre texto, audio, imágenes y video, y generar tanto texto como voz como salida. Ejecutarlo en una GPU alquilada de Clore.ai te brinda un asistente multimodal de nivel de producción a una fracción del costo de las API en la nube.

***

## ¿Qué es Qwen3.5-Omni?

Qwen3.5-Omni es un **modelo multimodal de extremo a extremo** construido sobre una arquitectura escasa de Mixture-of-Experts. La versión de HuggingFace (`Qwen3.5-Omni-7B`) utiliza la convención de nombres de Alibaba donde "7B" se refiere a la configuración de parámetros activos por paso de inferencia; el punto de control completo incluye todos los pesos de los expertos. Esa escasez es lo que permite implementarlo en una sola RTX 4090 (24 GB) usando cuantización INT4, un modelo que de otro modo requeriría mucha más VRAM en precisión completa.

### Capacidades clave

| Modalidad | Entrada                                            | Salida              |
| --------- | -------------------------------------------------- | ------------------- |
| Texto     | ✅                                                  | ✅                   |
| Audio     | ✅ (transcripción, comprensión)                     | ✅ (síntesis de voz) |
| Imagen    | ✅ (comprensión, OCR, análisis)                     | —                   |
| Video     | ✅ (comprensión de escenas, preguntas y respuestas) | —                   |

A diferencia de modelos multimodales anteriores que unen codificadores separados, Qwen3.5-Omni procesa todas las modalidades en una sola pasada unificada hacia adelante. Puede transcribir simultáneamente audio hablado, analizar un fotograma de video y responder con texto y una voz sintetizada, en una sola llamada de inferencia.

### Aspectos destacados de la arquitectura

* **Redes Delta Conmutadas (GDN)** para un modelado eficiente de secuencias con complejidad subcuadrática en flujos largos de audio/video
* **Mezcla escasa de expertos** — 30B parámetros totales, \~3B activos por token; calidad comparable a modelos densos de 7–14B pero más rápidos a escala
* **Tokenizador unificado** que cubre texto, fotogramas de audio, fragmentos de imagen y secuencias de fotogramas de video
* **Decodificador TTS integrado** — genera formas de onda de voz de forma nativa en lugar de mediante una canalización separada

Publicado el 30 de marzo de 2026 · Licencia: **Apache 2.0** · [HuggingFace](https://huggingface.co/Qwen/Qwen3.5-Omni-7B)

***

## Qwen3.5-Omni frente a modelos relacionados

| Modelo               | Parámetros           | Modalidades de entrada      | Salida de voz | Licencia    | VRAM (INT4) |
| -------------------- | -------------------- | --------------------------- | ------------- | ----------- | ----------- |
| **Qwen3.5-Omni**     | 30B MoE (3B activos) | Texto, audio, imagen, video | ✅             | Apache 2.0  | \~15 GB     |
| Qwen3.5 (solo texto) | 32B                  | Solo texto                  | ❌             | Apache 2.0  | \~18 GB     |
| Qwen2.5-VL           | 72B                  | Texto, imagen, video        | ❌             | Apache 2.0  | \~40 GB     |
| Gemini 2.0 Flash     | —                    | Texto, audio, imagen, video | ✅             | Propietario | Solo API    |

En comparación con **Qwen3.5 (solo texto)**, la variante Omni añade comprensión de audio/video y generación de voz, mientras que en realidad requiere *menos* VRAM en INT4 gracias a la arquitectura MoE. En comparación con **Qwen2.5-VL**, añade E/S de audio pero requiere mucho menos hardware.

***

## Requisitos de hardware

| Precisión       | VRAM requerida | GPU recomendada          |
| --------------- | -------------- | ------------------------ |
| BF16 (completa) | 64–80 GB       | A100 80GB, H100          |
| BF16 multi-GPU  | 2× 40 GB       | 2× A40 / 2× A6000        |
| INT4 / GGUF     | \~15 GB        | RTX 4090 (24 GB) ✅       |
| INT8            | \~30 GB        | A6000 48GB, RTX 6000 Ada |

Para la mayoría de los casos de uso autoalojados, **INT4 en una RTX 4090** es el punto ideal: capacidad multimodal completa por $0.50–0.80/día en Clore.ai.

***

## Inicio rápido en Clore.ai

### Paso 1: Alquila una GPU

Ve a [clore.ai/marketplace](https://clore.ai/marketplace) y alquila:

* **INT4 / GPU única**: RTX 4090 (24 GB) — desde **\~$0.50/día**
* **BF16 / Precisión completa**: A100 80GB o H100 — desde **\~$2.50/día**

Usa la imagen Docker **vllm/vllm-openai** o la imagen CUDA estándar.

### Paso 2: Despliega con vLLM (recomendado)

Se requiere vLLM v0.17.0+ para compatibilidad con Qwen3.5-Omni.

```bash
# Descarga y ejecuta el servidor vLLM compatible con OpenAI
docker run --gpus all --rm -it \
  -p 8000:8000 \
  -v /workspace/models:/root/.cache/huggingface \
  vllm/vllm-openai:v0.17.0 \
  --model Qwen/Qwen3.5-Omni-7B \
  --quantization awq_marlin \
  --max-model-len 32768 \
  --trust-remote-code
```

> **Nota:** La bandera `awq_marlin` requiere un modelo AWQ previamente cuantizado. Descarga `Qwen/Qwen3.5-Omni-7B-AWQ` en lugar del modelo base, u omite `--quantization` para BF16 en A100/H100.

Una vez que el servidor esté en funcionamiento, expone una API compatible con OpenAI en `http://localhost:8000/v1`.

### Paso 3: Despliega con Ollama (configuración más sencilla)

Para experimentar rápidamente sin la complejidad de Docker:

```bash
# Instala Ollama
curl -fsSL https://ollama.ai/install.sh | sh

# Descarga Qwen3.5-Omni (cuantizado)
# Nota: consulta https://ollama.com/library para disponibilidad — la etiqueta puede variar
ollama pull qwen3.5-omni

# Inicia el servidor
ollama serve
```

Ollama maneja la cuantización automáticamente y proporciona un simple `/api/generate` punto final.

***

## Ejemplos de llamadas a la API

### Entrada multimodal: imagen + texto

```python
import openai
import base64

client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="none")

# Cargar una imagen
with open("screenshot.png", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {"url": f"data:image/png;base64,{image_b64}"}
                },
                {
                    "type": "text",
                    "text": "Describe lo que ves en esta imagen e identifica cualquier texto."
                }
            ]
        }
    ],
    max_tokens=512
)
print(response.choices[0].message.content)
```

### Transcripción y comprensión de audio

```python
import openai
import base64

client = openai.OpenAI(base_url="http://localhost:8000/v1", api_key="none")

with open("meeting_recording.wav", "rb") as f:
    audio_b64 = base64.b64encode(f.read()).decode()

response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "audio_url",
                    "audio_url": {"url": f"data:audio/wav;base64,{audio_b64}"}
                },
                {
                    "type": "text",
                    "text": "Transcribe este audio y resume los puntos clave."
                }
            ]
        }
    ]
)
print(response.choices[0].message.content)
```

### Comprensión de video

```python
# Los fotogramas del video se pueden pasar como una secuencia de URL de imágenes
# o como un video_url cuando se usa la API nativa de Qwen3.5-Omni
response = client.chat.completions.create(
    model="Qwen/Qwen3.5-Omni-7B",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "video_url",
                    "video_url": {"url": "https://example.com/product-demo.mp4"}
                },
                {
                    "type": "text",
                    "text": "¿Qué está pasando en este video? Describe cada escena."
                }
            ]
        }
    ]
)
```

***

## Configuración multi-GPU para BF16

Si alquilas una máquina multi-GPU en Clore.ai (por ejemplo, 2× A40 o 2× A6000), usa paralelismo tensorial:

```bash
docker run --gpus all --rm -it \
  -p 8000:8000 \
  -v /workspace/models:/root/.cache/huggingface \
  vllm/vllm-openai:v0.17.0 \
  --model Qwen/Qwen3.5-Omni-7B \
  --tensor-parallel-size 2 \
  --dtype bfloat16 \
  --max-model-len 65536 \
  --trust-remote-code
```

Esto divide el modelo entre ambas GPU para obtener el máximo rendimiento y calidad.

***

## Casos de uso

### 1. Automatización del servicio al cliente

Qwen3.5-Omni puede escuchar llamadas de voz de clientes, transcribirlas en tiempo real, comprender el problema y generar tanto un resumen de texto como una respuesta hablada. Todo en un solo modelo, sin unir por separado tuberías ASR + LLM + TTS.

### 2. Comprensión de contenido de video

Sube videos de demostración de productos, grabaciones de clases o material de vigilancia y obtén descripciones detalladas en texto, resúmenes con marcas de tiempo o preguntas y respuestas. El modelo maneja hasta 32K tokens de contexto, cubriendo videos de varios minutos.

### 3. Agentes de voz en tiempo real

Crea asistentes de voz conversacionales que comprendan el contexto a través de los turnos de audio. Qwen3.5-Omni mantiene la memoria conversacional y puede alternar su razonamiento en texto con la generación de voz, ideal para bots de soporte al cliente por teléfono.

### 4. Análisis de documentos + capturas de pantalla

OCR, comprensión de diseño, interpretación de gráficos: introduce capturas de paneles, PDFs o notas manuscritas y obtén salida de texto estructurado o análisis detallado.

### 5. Procesamiento de audio multilingüe

El modelo admite 29 idiomas tanto para texto como para voz, lo que lo hace adecuado para soporte internacional al cliente, canalizaciones de transcripción multilingüe y análisis de video multilingüe.

***

## Estimación de costos en Clore.ai

| GPU          | Precisión                  | VRAM    | Precio/día | Ideal para                                       |
| ------------ | -------------------------- | ------- | ---------- | ------------------------------------------------ |
| RTX 4090     | INT4                       | 24 GB   | \~$0.50    | Desarrollo, pruebas, producción a pequeña escala |
| RTX 6000 Ada | INT8                       | 48 GB   | \~$1.20    | Mejor calidad, rendimiento moderado              |
| A100 80GB    | BF16                       | 80 GB   | \~$2.50    | Calidad total, alto rendimiento                  |
| 2× A40       | Paralelismo tensorial BF16 | 2×48 GB | \~$2.00    | Calidad total, rentable                          |

Ejecutar Qwen3.5-Omni en INT4 en una RTX 4090 cuesta menos por día que una sola llamada a la API de OpenAI para una tarea multimodal compleja a escala.

***

## Consejos y solución de problemas

**"CUDA out of memory" en RTX 4090**

* Añade `--gpu-memory-utilization 0.90` al comando vLLM
* Reduce `--max-model-len` a 16384 si procesas entradas cortas

**La entrada de audio no funciona**

* Asegúrate de que la versión de vLLM sea exactamente `v0.17.0` o más nueva: las versiones anteriores carecen de compatibilidad con audio de Omni
* Los archivos WAV deben ser mono de 16 kHz para obtener mejores resultados; usa `ffmpeg -ar 16000 -ac 1` para convertir

**Primera inferencia lenta**

* vLLM compila kernels de CUDA en la primera ejecución; el calentamiento toma de 2 a 5 minutos. Las llamadas posteriores son rápidas.

**Ollama no reconoce la entrada de video**

* Actualmente Ollama solo admite imagen+texto y audio; para comprensión de video usa el despliegue con vLLM.

***

## Resumen

Qwen3.5-Omni aporta una verdadera IA multimodal de extremo a extremo: texto, audio, imagen y video como entrada, texto y voz como salida, en un solo modelo de código abierto que funciona en hardware de consumo. En INT4, cabe en una RTX 4090 de 24 GB y cuesta menos de un dólar al día en Clore.ai. Con licencia Apache 2.0 y una API compatible con OpenAI a través de vLLM, se integra directamente en las canalizaciones existentes.

**→** [**Alquila una RTX 4090 en Clore.ai**](https://clore.ai/marketplace) y despliega Qwen3.5-Omni hoy mismo.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-es/modelos-de-lenguaje/qwen35-omni.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
