<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gemini on ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/tags/gemini/</link><description>Recent content in Gemini on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Tue, 28 Apr 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/tags/gemini/index.xml" rel="self" type="application/rss+xml"/><item><title>Dissecting a PPT Agent: From Research to SVG Output</title><link>https://blog.baifan.site/en/ppt-agent-workflow-deep-dive/</link><pubDate>Tue, 28 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ppt-agent-workflow-deep-dive/</guid><description>&lt;p&gt;Conclusion first: this is not another &amp;ldquo;type a topic → force it into a template → output garbage&amp;rdquo; AI PPT tool.&lt;/p&gt;&#10;&lt;p&gt;It runs a complete expert workflow — requirement research, material retrieval, outline planning, layout planning, visual design — where every step allows manual fine-tuning, or the whole thing can run automatically end to end. In terms of output, pages generated with Gemini 3 Flash already reach commercial delivery quality.&lt;/p&gt;</description></item><item><title>AI API Suffixes: What They Mean and Why They Exist</title><link>https://blog.baifan.site/en/ai-api-suffixes-explained/</link><pubDate>Tue, 14 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-api-suffixes-explained/</guid><description>&lt;p&gt;We often see URLs like these:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/chat/completions&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/messages&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/responses&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;These suffixes are not decoration — they define a complete request and response data structure. Pick the wrong one and your code either errors out or silently loses data.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;This article starts at &lt;code&gt;/v1/completions&lt;/code&gt; and works its way to &lt;code&gt;/v1/responses&lt;/code&gt;, explaining what each suffix stands for, why it was designed that way, and where the common pitfalls are.&lt;/p&gt;</description></item></channel></rss>