<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by site/build.py from the page registry. Do not hand-edit. -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://swurl.ai/blog/</loc>
    <lastmod>2026-08-23T14:00:00+00:00</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://swurl.ai/blog/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://swurl.ai/blog/"/>
    <image:image><image:loc>https://swurl.ai/og/blog.png</image:loc><image:title>The Swurl Blog — Routing, Cost and Model Quality</image:title></image:image>
  </url>
  <url>
    <loc>https://swurl.ai/blog/what-multi-model-routing-actually-saves/</loc>
    <lastmod>Tue, 18 Aug 2026 09:00:00 +0000</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://swurl.ai/blog/what-multi-model-routing-actually-saves/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://swurl.ai/blog/what-multi-model-routing-actually-saves/"/>
    <image:image><image:loc>https://swurl.ai/og/blog-what-multi-model-routing-actually-saves.png</image:loc><image:title>What multi-model routing actually saves | Swurl Blog</image:title></image:image>
  </url>
  <url>
    <loc>https://swurl.ai/blog/the-hidden-cost-of-fragmented-ai-access/</loc>
    <lastmod>Tue, 04 Aug 2026 09:00:00 +0000</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://swurl.ai/blog/the-hidden-cost-of-fragmented-ai-access/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://swurl.ai/blog/the-hidden-cost-of-fragmented-ai-access/"/>
    <image:image><image:loc>https://swurl.ai/og/blog-the-hidden-cost-of-fragmented-ai-access.png</image:loc><image:title>The hidden cost of fragmented AI access | Swurl Blog</image:title></image:image>
  </url>
  <url>
    <loc>https://swurl.ai/blog/how-we-pick-a-default-model/</loc>
    <lastmod>Mon, 21 Jul 2026 09:00:00 +0000</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
    <xhtml:link rel="alternate" hreflang="en" href="https://swurl.ai/blog/how-we-pick-a-default-model/"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://swurl.ai/blog/how-we-pick-a-default-model/"/>
    <image:image><image:loc>https://swurl.ai/og/blog-how-we-pick-a-default-model.png</image:loc><image:title>How we pick a default model, and why it keeps changing | Swurl Bl</image:title></image:image>
  </url>
</urlset>
