<?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>Forem: Kevin Wong </title>
    <description>The latest articles on Forem by Kevin Wong  (@kevin_wong).</description>
    <link>https://forem.com/kevin_wong</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3478687%2Ff8fdddf1-62af-40c6-a9f2-a6ca85ef95c8.png</url>
      <title>Forem: Kevin Wong </title>
      <link>https://forem.com/kevin_wong</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kevin_wong"/>
    <language>en</language>
    <item>
      <title>How to Build a Second Brain with OpenClaw: Text Anything to Remember, Search Everything Later</title>
      <dc:creator>Kevin Wong </dc:creator>
      <pubDate>Wed, 08 Apr 2026 10:05:07 +0000</pubDate>
      <link>https://forem.com/kevin_wong/how-to-build-a-second-brain-with-openclaw-text-anything-to-remember-search-everything-later-2hae</link>
      <guid>https://forem.com/kevin_wong/how-to-build-a-second-brain-with-openclaw-text-anything-to-remember-search-everything-later-2hae</guid>
      <description>&lt;p&gt;Start building your personal second brain today by integrating OpenClaw and WisGate API—capture anything you want to remember and find it instantly later. With this guide, you'll learn how to input text memories, store embeddings, and retrieve information efficiently through a custom-built interface.&lt;/p&gt;

&lt;p&gt;Introduction to the Concept of a Second Brain Using OpenClaw&lt;br&gt;
A "second brain" is a personal knowledge base that helps you store and search information effortlessly. Instead of relying solely on your memory, you create a system where you can text notes, ideas, or any data you want to remember. Later, you can search through all stored data to quickly find what you need.&lt;/p&gt;

&lt;p&gt;OpenClaw is an open-source AI memory agent that enables this by converting your text inputs into embeddings — numerical representations that machines can store and analyze. It acts as the interface between you and your second brain, ingesting text and allowing fast semantic retrieval.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtpd1jf166y2cj6w3pim.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxtpd1jf166y2cj6w3pim.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;br&gt;
By combining OpenClaw with WisGate’s API, which provides access to advanced AI models like Claude Opus 4.6, you can create a scalable, cost-effective second brain. WisGate’s API supports large context windows and efficient token handling, ideal for building comprehensive memory storage and search applications.&lt;/p&gt;

&lt;p&gt;Setting Up OpenClaw with WisGate API&lt;br&gt;
To get your second brain running, you first need to configure OpenClaw to use WisGate as its AI provider. This involves editing the OpenClaw configuration file to add WisGate’s API base URL, your API key, and the model you want to use.&lt;/p&gt;

&lt;p&gt;Editing the openclaw.json Configuration File&lt;br&gt;
OpenClaw stores its settings in a JSON configuration file located at ~/.openclaw/openclaw.json. You’ll edit this file to define WisGate as a custom provider under the models section.&lt;/p&gt;

&lt;p&gt;Open your terminal and run:&lt;/p&gt;

&lt;p&gt;nano ~/.openclaw/openclaw.json&lt;br&gt;
Then, add the following configuration snippet inside the models.providers block, defining a provider named "moonshot" that connects to WisGate’s API. Replace WISGATE-API-KEY with your actual WisGate API key.&lt;/p&gt;

&lt;p&gt;"models": {&lt;br&gt;
  "mode": "merge",&lt;br&gt;
  "providers": {&lt;br&gt;
    "moonshot": {&lt;br&gt;
      "baseUrl": "&lt;a href="https://api.wisgate.ai/v1" rel="noopener noreferrer"&gt;https://api.wisgate.ai/v1&lt;/a&gt;",&lt;br&gt;
      "apiKey": "WISGATE-API-KEY",&lt;br&gt;
      "api": "openai-completions",&lt;br&gt;
      "models": [&lt;br&gt;
        {&lt;br&gt;
          "id": "claude-opus-4-6",&lt;br&gt;
          "name": "Claude Opus 4.6",&lt;br&gt;
          "reasoning": false,&lt;br&gt;
          "input": ["text"],&lt;br&gt;
          "cost": {&lt;br&gt;
            "input": 0,&lt;br&gt;
            "output": 0,&lt;br&gt;
            "cacheRead": 0,&lt;br&gt;
            "cacheWrite": 0&lt;br&gt;
          },&lt;br&gt;
          "contextWindow": 256000,&lt;br&gt;
          "maxTokens": 8192&lt;br&gt;
        }&lt;br&gt;
      ]&lt;br&gt;
    }&lt;br&gt;
  }&lt;br&gt;
}&lt;br&gt;
This configuration tells OpenClaw to route its completion and memory synthesis calls through the WisGate API endpoint &lt;a href="https://api.wisgate.ai/v1" rel="noopener noreferrer"&gt;https://api.wisgate.ai/v1&lt;/a&gt;, using the Claude Opus 4.6 model customized for large context windows (256k tokens) and a maximum output of 8,192 tokens.&lt;/p&gt;

&lt;p&gt;Restarting OpenClaw to Apply Changes&lt;br&gt;
After saving your edits, you need to restart OpenClaw so the changes take effect. Use these terminal commands inside nano:&lt;/p&gt;

&lt;p&gt;Press Ctrl + O to save the file.&lt;br&gt;
Press Enter to confirm the filename.&lt;br&gt;
Press Ctrl + X to exit nano.&lt;br&gt;
Then, stop the currently running OpenClaw process if any by pressing:&lt;/p&gt;

&lt;p&gt;Ctrl + C&lt;br&gt;
Finally, start the OpenClaw text user interface again:&lt;/p&gt;

&lt;p&gt;openclaw tui&lt;br&gt;
Your OpenClaw installation is now set up to communicate with WisGate’s API for memory completion and retrieval.&lt;/p&gt;

&lt;p&gt;Understanding the Core Components: Memory Ingestion, Embeddings, and Storage&lt;br&gt;
At the heart of this second brain system are three core components: how text input is ingested, transformed into embeddings, and stored for future retrieval.&lt;/p&gt;

&lt;p&gt;When you type or send any textual memory to OpenClaw, it ingests the text and sends it to the WisGate API’s Claude model to generate an embedding. An embedding is a high-dimensional vector that numerically encodes the semantic meaning of the text.&lt;/p&gt;

&lt;p&gt;These embeddings are stored in a database or vector store within OpenClaw’s framework. This vectorized data allows OpenClaw to perform semantic search — you can query your memory with natural language and retrieve contextually relevant data rather than exact keyword matches.&lt;/p&gt;

&lt;p&gt;This pattern follows retrieval-augmented generation (RAG), where external memory stores enhance language model responses. Your second brain effectively combines raw text memories, embedding vectors, and fast search interfaces to provide quick, relevant results.&lt;/p&gt;

&lt;p&gt;Building a Semantic Search Interface with Next.js&lt;br&gt;
Having your memories stored and embedded is just one part — you need an interface to search and view those memories efficiently. Next.js, a popular React framework, is a great choice for building a custom dashboard that queries your OpenClaw backend.&lt;/p&gt;

&lt;p&gt;The Next.js app connects to your OpenClaw API and performs semantic search by sending natural language queries. It then displays ranked results based on similarity scores of the embedding vectors.&lt;/p&gt;

&lt;p&gt;You can build UI components such as search bars, memory lists, and detailed views for each memory entry. This gives you a visual way to explore your second brain and instantly find any piece of information you previously stored.&lt;/p&gt;

&lt;p&gt;By integrating API calls to the WisGate endpoint through OpenClaw, your Next.js dashboard supports live query completions and retrievals powered by the "claude-opus-4-6" model.&lt;/p&gt;

&lt;p&gt;This approach turns your personal knowledge base into an interactive, user-friendly tool for memory management, leveraging advanced AI without building the models yourself.&lt;/p&gt;

&lt;p&gt;Making WisGate API Calls for Memory Synthesis and Retrieval&lt;br&gt;
Behind the scenes, OpenClaw makes HTTP requests to WisGate’s API at:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://api.wisgate.ai/v1" rel="noopener noreferrer"&gt;https://api.wisgate.ai/v1&lt;/a&gt;&lt;br&gt;
It uses the Claude Opus 4.6 model, which supports a massive 256,000 token context window and returns up to 8,192 tokens in one completion. The model configuration specifies zero input or output costs within OpenClaw’s costing system, making resource usage transparent.&lt;/p&gt;

&lt;p&gt;Example API payloads include your textual input converted into prompt data and requests for embedding vectors. WisGate handles the complex language modeling and returns text completions or vectors.&lt;/p&gt;

&lt;p&gt;This combination allows OpenClaw to synthesize memories from raw text and retrieve relevant information efficiently, enabling your second brain workflow.&lt;/p&gt;

&lt;p&gt;Pricing and Performance Considerations&lt;br&gt;
When choosing an AI service for your second brain, cost and performance are key factors.&lt;/p&gt;

&lt;p&gt;WisGate’s API offers image generation at approximately $0.058 per image, about 15% cheaper than the official rate of $0.068 per image. Even though this article focuses on textual memory synthesis, it highlights WisGate’s cost advantage.&lt;/p&gt;

&lt;p&gt;Benchmarks show WisGate consistently delivers around 20-second response times for base64 output payloads ranging from 500 to 4,000 characters.&lt;/p&gt;

&lt;p&gt;Using the "claude-opus-4-6" model on WisGate, you get a stable and large context window (256k tokens) with a max output of 8,192 tokens. This performance combined with lower cost makes WisGate a practical choice for memory augmentation setups.&lt;/p&gt;

&lt;p&gt;For more on pricing and available models, visit WisGate’s homepage: &lt;a href="https://wisgate.ai/models" rel="noopener noreferrer"&gt;https://wisgate.ai/models&lt;/a&gt; and explore creative assets with the AI Studio image tool: &lt;a href="https://wisgate.ai/studio/image" rel="noopener noreferrer"&gt;https://wisgate.ai/studio/image&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Conclusion and Next Steps&lt;br&gt;
Building your own second brain using OpenClaw and WisGate API blends advanced AI memory management with affordable, scalable infrastructure. By following the step-by-step configuration and understanding the core concepts of ingestion, embedding, and semantic search, you can capture and recall anything important efficiently.&lt;/p&gt;

&lt;p&gt;The custom Next.js dashboard adds a practical interface layer to interact with your memories when needed.&lt;/p&gt;

&lt;p&gt;Get started now by signing up for WisGate at &lt;a href="https://wisgate.ai/" rel="noopener noreferrer"&gt;https://wisgate.ai/&lt;/a&gt; and try out the "claude-opus-4-6" model for your next-generation personal memory system.&lt;/p&gt;

&lt;p&gt;Explore the API documentation and create a second brain that grows and evolves with you.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openclaw</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to Add AI Image Features to Your Website with Nano Banana 2 on WisGate AI</title>
      <dc:creator>Kevin Wong </dc:creator>
      <pubDate>Tue, 31 Mar 2026 07:51:27 +0000</pubDate>
      <link>https://forem.com/kevin_wong/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai-3ead</link>
      <guid>https://forem.com/kevin_wong/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai-3ead</guid>
      <description>&lt;p&gt;If you're using something like fal.ai, Replicate, or similar tools for image generation, you've probably hit at least one of these issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Models go offline without notice, and re-onboarding somewhere else takes days&lt;/li&gt;
&lt;li&gt;Generation times swing wildly — 8 seconds one request, 40+ the next&lt;/li&gt;
&lt;li&gt;Pricing is opaque until you're already scaling and the invoice surprises you&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The switch to WisGate takes one config change.&lt;/strong&gt; Nano Banana 2 is live, priced at $0.058/image (the official rate is $0.068), and generates consistently in 20 seconds whether you're at 0.5K or 4K. Below are two working tutorials — one for hair/beauty, one for interior design — so you can test it against your current provider in under 10 minutes.&lt;/p&gt;

&lt;p&gt;Get your key at &lt;a href="https://wisgate.ai/hall/tokens" rel="noopener noreferrer"&gt;wisgate.ai/hall/tokens&lt;/a&gt; · Test prompts first at &lt;a href="https://wisgate.ai/studio/image" rel="noopener noreferrer"&gt;wisgate.ai/studio/image&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://wisgate.ai/blogs/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai#switching-from-your-current-provider-one-line-change" rel="noopener noreferrer"&gt;Switching from Your Current Provider: One-Line Change&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;If you're on fal.ai or Replicate today, your integration probably looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Your current call (fal.ai / Replicate / any competitor)&lt;/span&gt;
curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"https://api.yourprovider.com/v1/generate"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$THEIR_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"prompt": "...", "model": "their-model-id"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;WisGate uses the Gemini-native endpoint format. Here's the full working call — this is what you replace your existing call with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="s2"&gt;"https://api.wisgate.ai/v1beta/models/gemini-3.1-flash-image-preview:generateContent"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$WISDOM_GATE_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [{"parts": [{"text": "YOUR PROMPT HERE"}]}],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "aspectRatio": "1:1",
        "imageSize": "1K"
      }
    }
  }'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.candidates[0].content.parts[0].inlineData.data'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | &lt;span class="nb"&gt;base64&lt;/span&gt; &lt;span class="nt"&gt;--decode&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; output.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key differences from most providers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Auth header is &lt;code&gt;x-goog-api-key&lt;/code&gt;, not &lt;code&gt;Authorization: Bearer&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Response is inline Base64 — no cloud storage or URL expiry to manage&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;responseModalities: ["IMAGE"]&lt;/code&gt; for image-only output; use &lt;code&gt;["TEXT", "IMAGE"]&lt;/code&gt; if you also want a caption&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://wisgate.ai/blogs/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai#tutorial-1-hair-beauty-virtual-color-try-on" rel="noopener noreferrer"&gt;Tutorial 1: Hair &amp;amp; Beauty — Virtual Color Try-On&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; a hair salon website where visitors can visualize a color change before booking.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="s2"&gt;"https://api.wisgate.ai/v1beta/models/gemini-3.1-flash-image-preview:generateContent"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$WISDOM_GATE_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [{"parts": [{"text": "Professional studio photo of a woman with a rich auburn balayage, natural lighting, clean white background, commercial hair photography style"}]}],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "aspectRatio": "3:4",
        "imageSize": "2K"
      }
    }
  }'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.candidates[0].content.parts[0].inlineData.data'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | &lt;span class="nb"&gt;base64&lt;/span&gt; &lt;span class="nt"&gt;--decode&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; hair_auburn_balayage.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Prompt variables to swap per booking inquiry:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Color: &lt;code&gt;"rich auburn balayage"&lt;/code&gt; → &lt;code&gt;"platinum blonde highlights"&lt;/code&gt; / &lt;code&gt;"deep burgundy ombre"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Style: &lt;code&gt;"professional studio photo"&lt;/code&gt; → &lt;code&gt;"editorial fashion shoot"&lt;/code&gt; / &lt;code&gt;"natural outdoor light"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Aspect ratio: &lt;code&gt;"3:4"&lt;/code&gt; works for portrait/mobile; switch to &lt;code&gt;"1:1"&lt;/code&gt; for social media cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At $0.058/image, generating 10 color previews per booking inquiry costs $0.58. At the same volume on a $0.068 provider, that's $0.68 — a small number per booking, but $1,000 different per 100,000 previews.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://wisgate.ai/blogs/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai#tutorial-2-interior-design-room-visualization" rel="noopener noreferrer"&gt;Tutorial 2: Interior Design — Room Visualization&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; a furniture or home decor website where shoppers can see how a style looks in a room before purchasing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="s2"&gt;"https://api.wisgate.ai/v1beta/models/gemini-3.1-flash-image-preview:generateContent"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"x-goog-api-key: &lt;/span&gt;&lt;span class="nv"&gt;$WISDOM_GATE_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "contents": [{"parts": [{"text": "Scandinavian minimalist living room, white oak flooring, linen sofa in warm ivory, large monstera plant in terracotta pot, afternoon natural light through floor-to-ceiling windows, architectural photography style"}]}],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "imageConfig": {
        "aspectRatio": "16:9",
        "imageSize": "2K"
      }
    }
  }'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | jq &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s1"&gt;'.candidates[0].content.parts[0].inlineData.data'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | &lt;span class="nb"&gt;base64&lt;/span&gt; &lt;span class="nt"&gt;--decode&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; room_scandinavian.png
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Style variants to build a full visualization set:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Style&lt;/th&gt;
&lt;th&gt;Key prompt change&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Scandinavian&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"white oak flooring, linen sofa, monstera plant"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Industrial&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"exposed brick, black steel shelving, concrete floor"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Japandi&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"low platform bed, washi paper lamp, bamboo accents"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maximalist&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"jewel tone walls, layered rugs, gallery wall art"&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Generate all four variants, display them as a style selector on the product page, and let shoppers click through before purchasing. Four images = $0.232 at WisGate rates.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://wisgate.ai/blogs/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai#resolution-guide-which-imagesize-for-which-use-case" rel="noopener noreferrer"&gt;Resolution Guide: Which &lt;code&gt;imageSize&lt;/code&gt; for Which Use Case&lt;/a&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use case&lt;/th&gt;
&lt;th&gt;&lt;code&gt;imageSize&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;aspectRatio&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Social media preview&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"1K"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;"1:1"&lt;/code&gt; or &lt;code&gt;"9:16"&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Fast, low cost for high volume&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Website product image&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"2K"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;"3:4"&lt;/code&gt; or &lt;code&gt;"16:9"&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Standard for most web displays&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Print or high-DPI screens&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"4K"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Match your target format&lt;/td&gt;
&lt;td&gt;Same 20-second generation time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rapid prototyping&lt;/td&gt;
&lt;td&gt;&lt;code&gt;"0.5K"&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Any&lt;/td&gt;
&lt;td&gt;Useful during prompt development&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All four sizes generate in the same consistent 20 seconds. Resize logic in your application can stay simple — same timeout threshold for every request.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;a href="https://wisgate.ai/blogs/how-to-add-ai-image-features-to-your-website-with-nano-banana-2-on-wisgate-ai#the-one-line-switch" rel="noopener noreferrer"&gt;The One-Line Switch&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The full migration from any provider listed above — fal.ai, Replicate, Kie.ai, cometapi.com, piapi.ai, or zenmux.ai — is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Base URL&lt;/strong&gt;: &lt;code&gt;https://api.wisgate.ai&lt;/code&gt; (replace &lt;code&gt;generativelanguage.googleapis.com&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Key&lt;/strong&gt;: Replace &lt;code&gt;$GEMINI_API_KEY&lt;/code&gt; with your &lt;code&gt;$WISDOM_GATE_KEY&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's the entire migration. New models added to WisGate are available immediately without a separate onboarding process — same key, same endpoint format, just a different model ID.&lt;/p&gt;

&lt;p&gt;Generate your key at &lt;a href="https://wisgate.ai/hall/tokens" rel="noopener noreferrer"&gt;wisgate.ai/hall/tokens&lt;/a&gt; and test your first prompt at &lt;a href="https://wisgate.ai/studio/image" rel="noopener noreferrer"&gt;wisgate.ai/studio/image&lt;/a&gt; before touching your production integration.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
