{"id":2305,"date":"2026-08-23T20:05:38","date_gmt":"2026-08-23T20:05:38","guid":{"rendered":"https:\/\/convly.ai\/?p=2305"},"modified":"2026-08-23T20:05:38","modified_gmt":"2026-08-23T20:05:38","slug":"vllm-omni","status":"publish","type":"post","link":"https:\/\/convly.ai\/it\/vllm-omni\/","title":{"rendered":"Supporto omni-modale di vLLM: esecuzione di modelli multimodali con vLLM"},"content":{"rendered":"<div class=\"convly-tldr\">\n<ul>\n<li><strong>&#8220;vLLM omni&#8221;<\/strong> almost always refers to running <em>omni-modal<\/em> models (text + vision + audio + video) on the vLLM inference server \u2014 most commonly Alibaba&#8217;s <code>Qwen2.5-Omni<\/code> family.<\/li>\n<li>vLLM added omni-modal support incrementally starting in the 0.6.x\/0.7.x series; check <code>vllm --version<\/code> and the model&#8217;s page on Hugging Face for the minimum required build.<\/li>\n<li>Serve with <code>vllm serve Qwen\/Qwen2.5-Omni-7B --trust-remote-code<\/code>, then send OpenAI-compatible multimodal requests with <code>image_url<\/code>, <code>audio_url<\/code>, or <code>video_url<\/code> parts.<\/li>\n<li>Expect 20\u201340 GB VRAM for a 7B omni model at bf16; use the <a href=\"https:\/\/convly.ai\/llm-vram-calculator\/\">VRAM calculator<\/a> before you buy hardware.<\/li>\n<\/ul>\n<\/div>\n<p><strong>vLLM omni<\/strong> is not a separate product. It is shorthand for using <a href=\"https:\/\/github.com\/vllm-project\/vllm\" target=\"_blank\" rel=\"noopener\">vLLM<\/a> \u2014 the high-throughput LLM inference engine \u2014 to serve <em>omni-modal<\/em> models, meaning models that accept text, images, audio, and video in a single conversation. In practice this almost always means Alibaba&#8217;s <code>Qwen2.5-Omni<\/code> series, though vLLM&#8217;s multimodal stack also handles vision-only and audio-only models through the same API.<\/p>\n<p>This guide covers what &#8220;omni&#8221; means inside vLLM, which models are supported, how to install and serve them, what the request format looks like, and where the current limitations are.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-flat ez-toc-counter ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6a8b8b60d0c62\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #000000;color:#000000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #000000;color:#000000\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a8b8b60d0c62\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#What_%E2%80%9COmni%E2%80%9D_Means_in_the_vLLM_Context\" >What &#8220;Omni&#8221; Means in the vLLM Context<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Supported_Omni-Modal_Models\" >Supported Omni-Modal Models<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Hardware_Requirements\" >Hardware Requirements<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Installation\" >Installation<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Serving_an_Omni_Model\" >Serving an Omni Model<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Making_Multimodal_Requests\" >Making Multimodal Requests<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Performance_Notes\" >Performance Notes<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#When_to_Use_vLLM_Omni_vs_Alternatives\" >When to Use vLLM Omni vs Alternatives<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/convly.ai\/it\/vllm-omni\/#Frequently_Asked_Questions\" >Frequently Asked Questions<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"What_%E2%80%9COmni%E2%80%9D_Means_in_the_vLLM_Context\"><\/span>What &#8220;Omni&#8221; Means in the vLLM Context<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>vLLM&#8217;s multimodal subsystem groups models by the modalities they accept on the input side. The relevant categories are:<\/p>\n<table>\n<thead>\n<tr>\n<th>Category<\/th>\n<th>Inputs<\/th>\n<th>Example models<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Text-only<\/td>\n<td>Text<\/td>\n<td>Llama 3, Mistral, Qwen2.5<\/td>\n<\/tr>\n<tr>\n<td>Vision-language (VLM)<\/td>\n<td>Text + image<\/td>\n<td>Llama 3.2 Vision, Pixtral, Qwen2-VL<\/td>\n<\/tr>\n<tr>\n<td>Audio-language<\/td>\n<td>Text + audio<\/td>\n<td>Qwen2-Audio, Ultravox<\/td>\n<\/tr>\n<tr>\n<td><strong>Omni-modal<\/strong><\/td>\n<td>Text + image + audio + video<\/td>\n<td>Qwen2.5-Omni, MiniCPM-o<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Omni-modal models share a single language backbone with separate encoders for each modality (a ViT for images and video frames, an audio encoder derived from Whisper-style architectures, and so on). vLLM&#8217;s job is to schedule these encoders, cache their outputs, and interleave them with the text token stream in the KV cache so throughput stays high.<\/p>\n<p>Output-side generation in vLLM is text. If you want the audio-out capability that Qwen2.5-Omni supports natively (speech synthesis), you currently need the reference implementation from the model authors \u2014 vLLM will give you the text transcript, not the audio waveform. This is the single biggest thing to understand before choosing vLLM for an omni workload.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Supported_Omni-Modal_Models\"><\/span>Supported Omni-Modal Models<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The authoritative list lives in the vLLM docs under <em>Supported Models &rarr; Multimodal Language Models<\/em>. As a stable reference point, these families have had upstream support for some time:<\/p>\n<ul>\n<li><strong>Qwen2.5-Omni<\/strong> (3B, 7B) \u2014 the canonical &#8220;omni&#8221; model, text + image + audio + video in, text out.<\/li>\n<li><strong>MiniCPM-o 2.6<\/strong> \u2014 8B-class omni model from OpenBMB.<\/li>\n<li><strong>Qwen2-VL \/ Qwen2.5-VL<\/strong> \u2014 vision + video only, but often lumped in with &#8220;omni&#8221; workflows.<\/li>\n<li><strong>Qwen2-Audio<\/strong> \u2014 audio-only companion.<\/li>\n<\/ul>\n<p>Because model support is added per-release, always check the current docs and the model card for the minimum vLLM version. Trying to serve a new omni model on an old vLLM build is the most common failure mode. Browse an up-to-date <a href=\"https:\/\/convly.ai\/models\/\">models database<\/a> if you are still choosing.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Hardware_Requirements\"><\/span>Hardware Requirements<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Omni-modal models are heavier than their text-only siblings at the same parameter count because they carry additional encoders and because vision\/audio inputs consume many tokens after tokenization. A single image at native resolution can expand to 1,000\u20134,000 tokens; a minute of audio to several hundred.<\/p>\n<table>\n<thead>\n<tr>\n<th>Model<\/th>\n<th>Precision<\/th>\n<th>Minimum VRAM (weights only)<\/th>\n<th>Recommended VRAM (with KV cache, batch &gt; 1)<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Qwen2.5-Omni-3B<\/td>\n<td>bf16<\/td>\n<td>~8 GB<\/td>\n<td>16\u201324 GB<\/td>\n<\/tr>\n<tr>\n<td>Qwen2.5-Omni-7B<\/td>\n<td>bf16<\/td>\n<td>~18 GB<\/td>\n<td>24\u201340 GB<\/td>\n<\/tr>\n<tr>\n<td>Qwen2.5-Omni-7B<\/td>\n<td>AWQ \/ GPTQ 4-bit<\/td>\n<td>~6 GB<\/td>\n<td>12\u201320 GB<\/td>\n<\/tr>\n<tr>\n<td>MiniCPM-o 2.6 (8B)<\/td>\n<td>bf16<\/td>\n<td>~20 GB<\/td>\n<td>28\u201340 GB<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These are practical ranges, not spec-sheet minimums. For an exact figure at your context length and batch size, plug the model into the <a href=\"https:\/\/convly.ai\/llm-vram-calculator\/\">VRAM calculator<\/a> or consult the <a href=\"https:\/\/convly.ai\/vram-requirements-every-major-llm-2026\/\">VRAM requirements reference<\/a>. If you have not chosen hardware yet, the <a href=\"https:\/\/convly.ai\/best-gpus-for-local-llms-2026\/\">best GPUs for local LLMs<\/a> guide covers the trade-offs at the 24 GB, 48 GB, and multi-GPU tiers.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Installation\"><\/span>Installation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>vLLM is Linux-first. Windows is not officially supported; use WSL2 or a Linux container. macOS has a CPU-only build that will technically load small models but is not viable for omni-modal serving in production.<\/p>\n<h3>Linux (recommended)<\/h3>\n<p>Requirements: a CUDA-capable GPU (compute capability 7.0+), CUDA 12.x drivers, Python 3.9\u20133.12.<\/p>\n<pre><code># Create an isolated environment\npython -m venv vllm-env\nsource vllm-env\/bin\/activate\n\n# Install vLLM (this pulls a matching PyTorch build)\npip install vllm\n\n# Extra dependencies commonly needed for omni models\npip install librosa soundfile decord\n\nvllm --version\n<\/code><\/pre>\n<p>The <code>librosa<\/code>, <code>soundfile<\/code>, and <code>decord<\/code> packages handle audio decoding and video frame extraction. Some omni models pull these in automatically via <code>trust_remote_code<\/code>; installing them upfront avoids first-request failures.<\/p>\n<h3>Windows (via WSL2)<\/h3>\n<p>Install WSL2 with an Ubuntu 22.04 or 24.04 distribution, install the NVIDIA driver on Windows (the WSL side uses the Windows driver directly), then follow the Linux steps inside WSL. Do not install a separate Linux NVIDIA driver inside WSL \u2014 that will break CUDA.<\/p>\n<h3>macOS<\/h3>\n<p>There is no CUDA on macOS and vLLM does not target Metal. For local multimodal inference on Apple Silicon, use <a href=\"https:\/\/convly.ai\/lm-studio-complete-guide-2026\/\">LM Studio<\/a> or MLX-based runtimes instead. vLLM is the wrong tool here.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Serving_an_Omni_Model\"><\/span>Serving an Omni Model<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Launch an OpenAI-compatible server:<\/p>\n<pre><code>vllm serve Qwen\/Qwen2.5-Omni-7B \n  --trust-remote-code \n  --dtype bfloat16 \n  --max-model-len 32768 \n  --limit-mm-per-prompt image=4,audio=2,video=1 \n  --port 8000\n<\/code><\/pre>\n<p>Key flags:<\/p>\n<ul>\n<li><code>--trust-remote-code<\/code> is required because omni models ship custom preprocessing code in their Hugging Face repos.<\/li>\n<li><code>--limit-mm-per-prompt<\/code> caps the number of each modality per request. Raising these increases the multimodal input budget but also VRAM pressure.<\/li>\n<li><code>--max-model-len<\/code> should be set explicitly. Vision and audio tokens count against it.<\/li>\n<li><code>--tensor-parallel-size N<\/code> shards across N GPUs if a single card is too small.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Making_Multimodal_Requests\"><\/span>Making Multimodal Requests<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>vLLM exposes the OpenAI Chat Completions API. Multimodal parts follow the OpenAI content-array convention:<\/p>\n<pre><code>curl http:\/\/localhost:8000\/v1\/chat\/completions \n  -H \"Content-Type: application\/json\" \n  -d '{\n    \"model\": \"Qwen\/Qwen2.5-Omni-7B\",\n    \"messages\": [{\n      \"role\": \"user\",\n      \"content\": [\n        {\"type\": \"text\", \"text\": \"Describe what you see and hear.\"},\n        {\"type\": \"image_url\", \"image_url\": {\"url\": \"https:\/\/example.com\/scene.jpg\"}},\n        {\"type\": \"audio_url\", \"audio_url\": {\"url\": \"https:\/\/example.com\/clip.wav\"}}\n      ]\n    }]\n  }'\n<\/code><\/pre>\n<p>The Python client is identical to OpenAI&#8217;s:<\/p>\n<pre><code>from openai import OpenAI\nclient = OpenAI(base_url=\"http:\/\/localhost:8000\/v1\", api_key=\"EMPTY\")\n\nresp = client.chat.completions.create(\n    model=\"Qwen\/Qwen2.5-Omni-7B\",\n    messages=[{\"role\": \"user\", \"content\": [\n        {\"type\": \"text\", \"text\": \"Transcribe and summarise.\"},\n        {\"type\": \"audio_url\", \"audio_url\": {\"url\": \"file:\/\/\/data\/meeting.wav\"}},\n    ]}],\n)\nprint(resp.choices[0].message.content)\n<\/code><\/pre>\n<p>Data URLs (<code>data:image\/png;base64,...<\/code>) and local <code>file:\/\/<\/code> paths both work; the exact set of accepted schemes has expanded across releases, so consult the version&#8217;s docs if a scheme fails.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Performance_Notes\"><\/span>Performance Notes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li><strong>Prefill dominates.<\/strong> Encoding a 1-minute audio clip or a 720p image is CPU\/GPU-heavy and happens before the first token. Batching helps throughput but not per-request latency.<\/li>\n<li><strong>KV cache pressure.<\/strong> A single image can add thousands of tokens to the cache. Reduce <code>--max-model-len<\/code> or lower <code>--limit-mm-per-prompt<\/code> if you hit OOM under load.<\/li>\n<li><strong>Quantisation.<\/strong> AWQ and GPTQ 4-bit variants of Qwen2.5-Omni-7B fit on a 16 GB card and lose relatively little quality on vision\/audio understanding tasks. Availability depends on community uploads on Hugging Face.<\/li>\n<li><strong>Chunked prefill<\/strong> (enabled by default in recent versions) smooths latency when mixing multimodal and text-only requests.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"When_to_Use_vLLM_Omni_vs_Alternatives\"><\/span>When to Use vLLM Omni vs Alternatives<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<table>\n<thead>\n<tr>\n<th>Use case<\/th>\n<th>Best choice<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Production serving, many concurrent users, Linux + NVIDIA<\/td>\n<td><strong>vLLM<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Local desktop use, single user, macOS or Windows<\/td>\n<td><a href=\"https:\/\/convly.ai\/what-is-ollama-complete-guide-2026\/\">Ollama<\/a> or <a href=\"https:\/\/convly.ai\/lm-studio-complete-guide-2026\/\">LM Studio<\/a><\/td>\n<\/tr>\n<tr>\n<td>Need speech-<em>output<\/em> from Qwen2.5-Omni<\/td>\n<td>Reference implementation from the model authors<\/td>\n<\/tr>\n<tr>\n<td>Just calling a hosted API<\/td>\n<td>Compare on the <a href=\"https:\/\/convly.ai\/llm-leaderboard\/\">LLM leaderboard<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If you are still deciding whether to self-host at all, run the numbers through the <a href=\"https:\/\/convly.ai\/self-hosting-vs-api-calculator\/\">self-hosting vs API break-even calculator<\/a>. Omni-modal workloads tilt the answer because per-request token counts are much higher than text-only, which makes usage-based API pricing more expensive per session.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_Asked_Questions\"><\/span>Frequently Asked Questions<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Does vLLM support Qwen2.5-Omni&#8217;s speech output?<\/h3>\n<p>No. vLLM handles text generation from the language backbone. The optional audio-decoder head that produces spoken responses in the reference Qwen2.5-Omni implementation is not wired into vLLM. You get the model&#8217;s text response, and you would need a separate TTS step or the original inference code to synthesise speech.<\/p>\n<h3>Can I run vLLM omni models on a 24 GB card like an RTX 4090?<\/h3>\n<p>Yes for the 3B and 7B variants, especially at bf16 with modest context, or comfortably with AWQ\/GPTQ quantisation at longer contexts. You will need to tune <code>--max-model-len<\/code> and <code>--limit-mm-per-prompt<\/code> to stay under the memory ceiling. Verify with the <a href=\"https:\/\/convly.ai\/llm-vram-calculator\/\">VRAM calculator<\/a> before committing.<\/p>\n<h3>Why does my request fail with a &#8220;trust_remote_code&#8221; error?<\/h3>\n<p>Omni-modal models ship custom Python preprocessors in their Hugging Face repos. vLLM will not execute this code unless you pass <code>--trust-remote-code<\/code> at server startup. Only enable this for model repositories you trust.<\/p>\n<h3>How do I send video to a vLLM omni endpoint?<\/h3>\n<p>Use a content part with <code>\"type\": \"video_url\"<\/code> pointing at an accessible URL or local file. vLLM samples frames using <code>decord<\/code>; the exact frame-count and sampling policy is model-specific and documented on the model card. Video eats tokens quickly, so keep clips short and set <code>--limit-mm-per-prompt video=1<\/code> unless you have plenty of VRAM.<\/p>\n<h3>Is there a Docker image for vLLM omni?<\/h3>\n<p>The official <code>vllm\/vllm-openai<\/code> image on Docker Hub supports multimodal models out of the box for whichever vLLM version it is tagged with. Pin to a specific tag rather than <code>latest<\/code> so your omni model&#8217;s required version does not drift underneath you.<\/p>\n<h3>Can Ollama run these omni models instead?<\/h3>\n<p>Ollama supports some vision-language models but its omni-modal coverage lags vLLM&#8217;s, and audio\/video inputs are limited or absent for most models. For a desktop workflow, check the <a href=\"https:\/\/convly.ai\/best-local-llms-to-run-on-ollama-2026\/\">best local models for Ollama<\/a> and the <a href=\"https:\/\/convly.ai\/ollama-models-list-2026\/\">Ollama models list<\/a> to see what is currently available; for full omni features on a server, stick with vLLM.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;vLLM omni&#8221; almost always refers to running omni-modal models (text + vision + audio + video) on the vLLM inference [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2306,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-2305","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-news"],"_links":{"self":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/2305","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/comments?post=2305"}],"version-history":[{"count":1,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/2305\/revisions"}],"predecessor-version":[{"id":2307,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/2305\/revisions\/2307"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/media\/2306"}],"wp:attachment":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/media?parent=2305"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/categories?post=2305"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/tags?post=2305"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}