<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kevin</title>
    <description>The latest articles on DEV Community by Kevin (@keokeo).</description>
    <link>https://dev.to/keokeo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4229941%2F2b2b4caa-aea2-47f2-a16e-365a74af2509.jpg</url>
      <title>DEV Community: Kevin</title>
      <link>https://dev.to/keokeo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/keokeo"/>
    <language>en</language>
    <item>
      <title>We Benchmarked GPT-Image-2.6 Native &lt;svg&gt; Output: Path Counts, Cost &amp; Real Edge Cases</title>
      <dc:creator>Kevin</dc:creator>
      <pubDate>Fri, 06 Nov 2026 08:18:34 +0000</pubDate>
      <link>https://dev.to/keokeo/we-benchmarked-gpt-image-26-native-output-path-counts-cost-real-edge-cases-e2a</link>
      <guid>https://dev.to/keokeo/we-benchmarked-gpt-image-26-native-output-path-counts-cost-real-edge-cases-e2a</guid>
      <description>&lt;p&gt;Most "AI vector generators" over the past two years did the exact same thing under the hood: generate a raster PNG, then run an aggressive auto-tracer over it—leaving you with 1,800 jagged &lt;code&gt;&amp;lt;path&amp;gt;&lt;/code&gt; nodes and muddy gradients that bog down Figma.&lt;/p&gt;

&lt;p&gt;With &lt;code&gt;gpt-image-2.6&lt;/code&gt; adding native &lt;code&gt;output_format: "svg"&lt;/code&gt; support, we ran a structured benchmark while building &lt;a href="https://gptsvg.com" rel="noopener noreferrer"&gt;GPTSVG Studio&lt;/a&gt; to see whether native LLM-authored &lt;code&gt;&amp;lt;svg&amp;gt;&lt;/code&gt; geometry is actually clean enough for production frontend and brand work.&lt;/p&gt;

&lt;p&gt;All raw &lt;code&gt;.svg&lt;/code&gt; sample outputs, rendered previews, and our standalone zero-dependency TypeScript XML AST sanitizer are open-sourced under MIT here:&lt;br&gt;
👉 &lt;strong&gt;GitHub Benchmark &amp;amp; Sanitizer Repo&lt;/strong&gt;: &lt;a href="https://github.com/keokeo/gpt-image-2-6-svg-benchmark" rel="noopener noreferrer"&gt;https://github.com/keokeo/gpt-image-2-6-svg-benchmark&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  3 Things We Learned from Real API Runs
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Text-to-SVG produces semantic &lt;code&gt;&amp;lt;g id="..."&amp;gt;&lt;/code&gt; layers—not traced soup&lt;/strong&gt;
Across minimal geometric logos, monoline 24×24 UI icons, lettermarks, and shield badges, native SVG output averaged &lt;strong&gt;4 to 18 closed paths&lt;/strong&gt; (&lt;code&gt;0.9 KB – 9.6 KB&lt;/code&gt;), zero embedded &lt;code&gt;data:image/png&lt;/code&gt; bitmaps, and readable group IDs:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;| Preset | Quality | Raw Size | Elements / Paths | Embedded Raster |&lt;br&gt;
   | :--- | :--- | :--- | :--- | :--- |&lt;br&gt;
   | Minimal Geometric Logo | &lt;code&gt;medium&lt;/code&gt; | &lt;code&gt;1.4 KB&lt;/code&gt; | 6 elements | &lt;code&gt;0&lt;/code&gt; |&lt;br&gt;
   | Wordmark + Mark | &lt;code&gt;medium&lt;/code&gt; | &lt;code&gt;2.1 KB&lt;/code&gt; | 9 elements | &lt;code&gt;0&lt;/code&gt; |&lt;br&gt;
   | 24×24 Monoline UI Icon | &lt;code&gt;low&lt;/code&gt; | &lt;code&gt;0.9 KB&lt;/code&gt; | 5 strokes | &lt;code&gt;0&lt;/code&gt; |&lt;br&gt;
   | Die-Cut Sticker | &lt;code&gt;medium&lt;/code&gt; | &lt;code&gt;9.6 KB&lt;/code&gt; | 28 paths | &lt;code&gt;0&lt;/code&gt; |&lt;br&gt;
   | Shield / Crest Badge | &lt;code&gt;low&lt;/code&gt; | &lt;code&gt;1.9 KB&lt;/code&gt; | 8 paths | &lt;code&gt;0&lt;/code&gt; |&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Native &lt;code&gt;output_format: "svg"&lt;/code&gt; is strictly Text-to-SVG&lt;/strong&gt;&lt;br&gt;
Upstream providers currently restrict native SVG output to text prompts; image-edit endpoints reject &lt;code&gt;output_format: "svg"&lt;/code&gt;. For &lt;a href="https://gptsvg.com/image-to-svg" rel="noopener noreferrer"&gt;Image to SVG conversion&lt;/a&gt;, we paired a zero-upload client-side Web Worker k-means vectorizer (free, runs 100% locally in your browser) with an optional flat-palette AI redraw pass.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Never inject LLM-generated SVG with &lt;code&gt;innerHTML&lt;/code&gt;&lt;/strong&gt;&lt;br&gt;
Inline &lt;code&gt;&amp;lt;svg&amp;gt;&lt;/code&gt; is executable XML. Treat model-generated SVG as untrusted input: parse it into an XML AST, rebuild only allow-listed geometry tags/attributes (stripping &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;foreignObject&amp;gt;&lt;/code&gt;, &lt;code&gt;on*&lt;/code&gt; handlers, and external &lt;code&gt;href&lt;/code&gt; references), serve stored files with &lt;code&gt;Content-Security-Policy: default-src 'none'; sandbox&lt;/code&gt;, and render previews via &lt;code&gt;&amp;lt;img src="blob:..."&amp;gt;&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Try the Free Local Vectorizer or Inspect Sample SVGs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Free client-side PNG/JPG/WebP → SVG converter&lt;/strong&gt; (no sign-up, runs in a Web Worker): &lt;a href="https://gptsvg.com/image-to-svg" rel="noopener noreferrer"&gt;https://gptsvg.com/image-to-svg&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editable preset studios&lt;/strong&gt;: &lt;a href="https://gptsvg.com/ai-logo-svg" rel="noopener noreferrer"&gt;AI SVG Logo Generator&lt;/a&gt; · &lt;a href="https://gptsvg.com/ui-icon-svg" rel="noopener noreferrer"&gt;24×24 UI Icon SVG Maker&lt;/a&gt; · &lt;a href="https://gptsvg.com/svg-sticker" rel="noopener noreferrer"&gt;Die-Cut SVG Sticker Maker&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-source samples &amp;amp; TypeScript sanitizer&lt;/strong&gt;: &lt;a href="https://github.com/keokeo/gpt-image-2-6-svg-benchmark" rel="noopener noreferrer"&gt;https://github.com/keokeo/gpt-image-2-6-svg-benchmark&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Happy to share raw SVG snippets or sanitizer edge cases if anyone else is building vector tooling!&lt;/p&gt;

</description>
      <category>svg</category>
      <category>webdev</category>
      <category>typescript</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
