<?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: J.Goutin</title>
    <description>The latest articles on DEV Community by J.Goutin (@jgoutin).</description>
    <link>https://dev.to/jgoutin</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%2F3670759%2F87ff2cd0-83f7-4aa0-ac58-10133f39e604.png</url>
      <title>DEV Community: J.Goutin</title>
      <link>https://dev.to/jgoutin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jgoutin"/>
    <language>en</language>
    <item>
      <title>Deploy Your Own Private ChatGPT on AWS in 30 Minutes</title>
      <dc:creator>J.Goutin</dc:creator>
      <pubDate>Thu, 19 Feb 2026 21:20:44 +0000</pubDate>
      <link>https://dev.to/jgoutin/deploy-your-own-private-chatgpt-on-aws-in-30-minutes-f37</link>
      <guid>https://dev.to/jgoutin/deploy-your-own-private-chatgpt-on-aws-in-30-minutes-f37</guid>
      <description>&lt;p&gt;What if you could deploy a &lt;strong&gt;fully private ChatGPT alternative&lt;/strong&gt; — on your own AWS infrastructure, with your own data sovereignty rules — in 30 minutes?&lt;/p&gt;

&lt;p&gt;No data leaving your account. No vendor lock-in. No per-user subscriptions. Just 3 Terraform commands.&lt;/p&gt;

&lt;p&gt;Here's how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/open-webui/open-webui" rel="noopener noreferrer"&gt;&lt;strong&gt;Open WebUI&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;ChatGPT-like interface (100,000+ ⭐ on GitHub)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;OpenAI-compatible API gateway for AWS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Access to 80+ foundation models&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; sits between Open WebUI and AWS Bedrock, translating OpenAI API calls into native AWS requests. Any tool that speaks the OpenAI protocol — Open WebUI, n8n, VS Code AI assistants, custom apps — works immediately. No plugins, no custom integrations.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Open WebUI → stdapi.ai → AWS Bedrock → Claude Opus 4.6, DeepSeek, Kimi, Mistral…
                                             → AWS Polly (text-to-speech)
                                             → AWS Transcribe (speech-to-text)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What You Get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;80+ AI models&lt;/strong&gt; — Claude Opus 4.6, DeepSeek, Kimi, Mistral, Cohere, Stability AI, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full multi-modal support&lt;/strong&gt; — Chat, voice input/output, image generation/editing, document RAG&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region access&lt;/strong&gt; — Configure multiple AWS regions for the widest model selection and availability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay-per-use&lt;/strong&gt; — No ChatGPT subscriptions, no per-seat fees. You pay only for actual AWS Bedrock usage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production-ready infrastructure&lt;/strong&gt; — ECS Fargate with auto-scaling, Aurora PostgreSQL + pgvector for RAG, ElastiCache Valkey, dedicated VPC, HTTPS with ALB&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data Sovereignty &amp;amp; Compliance
&lt;/h2&gt;

&lt;p&gt;This is where it gets interesting for regulated industries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Region restrictions&lt;/strong&gt; — Lock inference to specific AWS regions matching your compliance requirements (GDPR, HIPAA, data residency laws, industry regulations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No data shared with model providers&lt;/strong&gt; — AWS Bedrock does not share your inference data with model providers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No training on your data&lt;/strong&gt; — Your prompts and responses are never used for model training&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything stays in your AWS account&lt;/strong&gt; — No external data transmission beyond AWS services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated VPC&lt;/strong&gt; — Isolated network for your AI workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you need to keep data in the EU, in specific US regions, or within national boundaries for government requirements — you configure the allowed regions and stdapi.ai enforces it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy in 30 Minutes
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/stdapi-ai/samples.git
&lt;span class="nb"&gt;cd &lt;/span&gt;samples/getting_started_openwebui/terraform

&lt;span class="c"&gt;# ⚙️ Customize your settings (regions, models, scaling…)&lt;/span&gt;
&lt;span class="c"&gt;# → Check the full documentation in the repo to tailor the deployment to your needs&lt;/span&gt;

terraform init &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; terraform apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. 3 commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Terraform deploys for you:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Open WebUI on &lt;strong&gt;ECS Fargate&lt;/strong&gt; with auto-scaling&lt;/li&gt;
&lt;li&gt;stdapi.ai as the &lt;strong&gt;OpenAI-compatible AI gateway&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aurora PostgreSQL&lt;/strong&gt; with pgvector extension for RAG&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache Valkey&lt;/strong&gt; for caching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated, isolated VPC&lt;/strong&gt; with HTTPS via ALB&lt;/li&gt;
&lt;li&gt;All environment variables pre-configured and ready to go&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How stdapi.ai Works Under the Hood
&lt;/h2&gt;

&lt;p&gt;stdapi.ai is more than a simple proxy. It's an AI gateway purpose-built for AWS that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Translates the OpenAI API&lt;/strong&gt; — Chat completions, embeddings, images (generation/editing/variations), audio (speech/transcription/translation), and model listing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Handles multi-region routing&lt;/strong&gt; — Automatically selects the best region and inference profile for each model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposes advanced Bedrock features&lt;/strong&gt; — Prompt caching, reasoning modes (extended thinking), guardrails, service tiers, and model-specific parameters&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrates native AWS AI services&lt;/strong&gt; — Amazon Polly for TTS, Amazon Transcribe for STT with speaker diarization, Amazon Translate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your existing OpenAI-powered tools work without modification. Change the base URL, and you're on AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is This For?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Teams&lt;/strong&gt; that want a private ChatGPT with full data control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulated industries&lt;/strong&gt; (finance, healthcare, government) that need data residency guarantees&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Companies&lt;/strong&gt; tired of paying per-seat ChatGPT subscriptions when usage varies wildly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developers&lt;/strong&gt; who want to use the OpenAI ecosystem on AWS infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ops engineers&lt;/strong&gt; who want production-grade AI infrastructure as code&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;📦 &lt;strong&gt;Deployment repo:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples/tree/main/getting_started_openwebui" rel="noopener noreferrer"&gt;github.com/stdapi-ai/samples&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📖 &lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;stdapi.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📩 &lt;strong&gt;Need help?&lt;/strong&gt; We can help you deploy and customize this solution for your needs. Reach out to us.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;3 commands. 30 minutes. Your private ChatGPT is in production.&lt;/em&gt; 🎯&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>cloud</category>
      <category>api</category>
    </item>
    <item>
      <title>Deploy Your Own Private ChatGPT on AWS in 30 Minutes</title>
      <dc:creator>J.Goutin</dc:creator>
      <pubDate>Thu, 19 Feb 2026 21:15:15 +0000</pubDate>
      <link>https://dev.to/jgoutin/deploy-your-own-private-chatgpt-on-aws-in-30-minutes-14n1</link>
      <guid>https://dev.to/jgoutin/deploy-your-own-private-chatgpt-on-aws-in-30-minutes-14n1</guid>
      <description>&lt;p&gt;What if you could deploy a &lt;strong&gt;fully private ChatGPT alternative&lt;/strong&gt; — on your own AWS infrastructure, with your own data sovereignty rules — in 30 minutes?&lt;/p&gt;

&lt;p&gt;No data leaving your account. No vendor lock-in. No per-user subscriptions. Just 3 Terraform commands.&lt;/p&gt;

&lt;p&gt;Here's how.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://github.com/open-webui/open-webui" rel="noopener noreferrer"&gt;&lt;strong&gt;Open WebUI&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;ChatGPT-like interface (100,000+ ⭐ on GitHub)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;OpenAI-compatible API gateway for AWS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;AWS Bedrock&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Access to 80+ foundation models&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; sits between Open WebUI and AWS Bedrock, translating OpenAI API calls into native AWS requests. Any tool that speaks the OpenAI protocol — Open WebUI, n8n, VS Code AI assistants, custom apps — works immediately. No plugins, no custom integrations.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User → Open WebUI → stdapi.ai → AWS Bedrock → Claude Opus 4.6, DeepSeek, Kimi, Mistral…
                                             → AWS Polly (text-to-speech)
                                             → AWS Transcribe (speech-to-text)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What You Get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;80+ AI models&lt;/strong&gt; — Claude Opus 4.6, DeepSeek, Kimi, Mistral, Cohere, Stability AI, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full multi-modal support&lt;/strong&gt; — Chat, voice input/output, image generation/editing, document RAG&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region access&lt;/strong&gt; — Configure multiple AWS regions for the widest model selection and availability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pay-per-use&lt;/strong&gt; — No ChatGPT subscriptions, no per-seat fees. You pay only for actual AWS Bedrock usage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production-ready infrastructure&lt;/strong&gt; — ECS Fargate with auto-scaling, Aurora PostgreSQL + pgvector for RAG, ElastiCache Valkey, dedicated VPC, HTTPS with ALB&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Data Sovereignty &amp;amp; Compliance
&lt;/h2&gt;

&lt;p&gt;This is where it gets interesting for regulated industries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Region restrictions&lt;/strong&gt; — Lock inference to specific AWS regions matching your compliance requirements (GDPR, HIPAA, data residency laws, industry regulations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No data shared with model providers&lt;/strong&gt; — AWS Bedrock does not share your inference data with model providers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No training on your data&lt;/strong&gt; — Your prompts and responses are never used for model training&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything stays in your AWS account&lt;/strong&gt; — No external data transmission beyond AWS services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated VPC&lt;/strong&gt; — Isolated network for your AI workloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you need to keep data in the EU, in specific US regions, or within national boundaries for government requirements — you configure the allowed regions and stdapi.ai enforces it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy in 30 Minutes
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/stdapi-ai/samples.git
&lt;span class="nb"&gt;cd &lt;/span&gt;samples/getting_started_openwebui/terraform

&lt;span class="c"&gt;# ⚙️ Customize your settings (regions, models, scaling…)&lt;/span&gt;
&lt;span class="c"&gt;# → Check the full documentation in the repo to tailor the deployment to your needs&lt;/span&gt;

terraform init &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; terraform apply
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. 3 commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Terraform deploys for you:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Open WebUI on &lt;strong&gt;ECS Fargate&lt;/strong&gt; with auto-scaling&lt;/li&gt;
&lt;li&gt;stdapi.ai as the &lt;strong&gt;OpenAI-compatible AI gateway&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Aurora PostgreSQL&lt;/strong&gt; with pgvector extension for RAG&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ElastiCache Valkey&lt;/strong&gt; for caching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated, isolated VPC&lt;/strong&gt; with HTTPS via ALB&lt;/li&gt;
&lt;li&gt;All environment variables pre-configured and ready to go&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How stdapi.ai Works Under the Hood
&lt;/h2&gt;

&lt;p&gt;stdapi.ai is more than a simple proxy. It's an AI gateway purpose-built for AWS that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Translates the OpenAI API&lt;/strong&gt; — Chat completions, embeddings, images (generation/editing/variations), audio (speech/transcription/translation), and model listing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Handles multi-region routing&lt;/strong&gt; — Automatically selects the best region and inference profile for each model&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exposes advanced Bedrock features&lt;/strong&gt; — Prompt caching, reasoning modes (extended thinking), guardrails, service tiers, and model-specific parameters&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrates native AWS AI services&lt;/strong&gt; — Amazon Polly for TTS, Amazon Transcribe for STT with speaker diarization, Amazon Translate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your existing OpenAI-powered tools work without modification. Change the base URL, and you're on AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Is This For?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Teams&lt;/strong&gt; that want a private ChatGPT with full data control&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulated industries&lt;/strong&gt; (finance, healthcare, government) that need data residency guarantees&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Companies&lt;/strong&gt; tired of paying per-seat ChatGPT subscriptions when usage varies wildly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developers&lt;/strong&gt; who want to use the OpenAI ecosystem on AWS infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ops engineers&lt;/strong&gt; who want production-grade AI infrastructure as code&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;📦 &lt;strong&gt;Deployment repo:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples/tree/main/getting_started_openwebui" rel="noopener noreferrer"&gt;github.com/stdapi-ai/samples&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📖 &lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;stdapi.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📩 &lt;strong&gt;Need help?&lt;/strong&gt; We can help you deploy and customize this solution for your needs. Reach out to us.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;3 commands. 30 minutes. Your private ChatGPT is in production.&lt;/em&gt; 🎯&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>openai</category>
      <category>terraform</category>
    </item>
    <item>
      <title>Use AWS Bedrock &amp; AI Services (Claude, Nova, Polly, Transcribe) with Your Existing OpenAI Code</title>
      <dc:creator>J.Goutin</dc:creator>
      <pubDate>Fri, 19 Dec 2025 14:58:08 +0000</pubDate>
      <link>https://dev.to/jgoutin/use-aws-bedrock-ai-services-claude-nova-polly-transcribe-with-your-existing-openai-code-1ci6</link>
      <guid>https://dev.to/jgoutin/use-aws-bedrock-ai-services-claude-nova-polly-transcribe-with-your-existing-openai-code-1ci6</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Use your existing OpenAI-compatible tools (OpenWebUI, n8n, Cline, Cursor) with AWS Bedrock's 80+ models and AWS AI services (Polly, Transcribe). Just change the endpoint - no code changes needed. Deploy to your AWS account in 15 minutes with Terraform. Data stays in your AWS environment for HIPAA/GDPR compliance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution in 30 Seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="c1"&gt;# Just change this line ↓
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://your-aws-api/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Everything else stays the same ↓
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Claude 4.5 on Bedrock
&lt;/span&gt;    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello from AWS!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What this enables:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use OpenWebUI, n8n, Cline, Cursor with AWS Bedrock and AWS AI services&lt;/li&gt;
&lt;li&gt;Access Claude 4.5, Nova, Qwen, DeepSeek, Mistral, Cohere, and 75+ more models&lt;/li&gt;
&lt;li&gt;Text-to-speech (Polly), speech-to-text (Transcribe), image generation, embeddings&lt;/li&gt;
&lt;li&gt;Keep all data in your AWS account (HIPAA, GDPR, FedRAMP ready)&lt;/li&gt;
&lt;li&gt;Multi-region model access from a single endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Problem We Solved
&lt;/h2&gt;

&lt;p&gt;Most modern AI tools are built for OpenAI's API, but AWS Bedrock uses a completely different SDK. This forces you to choose between using familiar tools or switching to AWS for compliance/cost reasons and rewriting everything.&lt;/p&gt;

&lt;p&gt;We ran into this while working with a customer who needed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: All data in their AWS account (GDPR requirements)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choice&lt;/strong&gt;: Multiple models (Claude, Nova, Qwen, Mistral, DeepSeek, Stability AI, Cohere)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region access&lt;/strong&gt;: Different Bedrock models available in different AWS regions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard tooling&lt;/strong&gt;: OpenWebUI, n8n, IDE coding agents (Cline, Cursor)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full AWS AI stack&lt;/strong&gt;: Bedrock models plus Polly (TTS) and Transcribe (STT)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Our Approach: An OpenAI-Compatible Translation Layer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; is an API gateway that sits in your AWS account and translates OpenAI API calls to AWS services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;OpenAI API Compatibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your existing code works without modifications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://your-deployment.example.com/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Chat completions
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.nova-pro-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain AWS Lambda&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Text-to-speech with Polly
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;speech&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.polly-neural&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Welcome to the future of voice technology!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Speech-to-text with Transcribe
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meeting-recording.mp3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;audio_file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;transcription&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;transcriptions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.transcribe&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;audio_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;response_format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Image generation with Bedrock
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stability.stable-image-ultra-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A serene mountain landscape at sunset&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Embeddings with Bedrock
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;embeddings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;cohere.embed-v4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Semantic search transforms how we find information&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Multi-Region Access&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Access models across multiple AWS Bedrock regions from a single endpoint. Different models are available in different regions. You can configure which regions to include based on your requirements. AWS Bedrock inference profiles handle automatic routing when needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-Modal Capabilities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Process text, images, videos, and documents together in a single request. Supports HTTP URLs, S3 URLs (for direct access to your data), and base64 data URIs. Perfect for vision tasks, document analysis, and RAG applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deployment
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deploy to your AWS account in 5-15 minutes using Terraform.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sample configurations set up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application Load Balancer with ECS/Fargate&lt;/li&gt;
&lt;li&gt;IAM roles with least-privilege access&lt;/li&gt;
&lt;li&gt;CloudWatch logging&lt;/li&gt;
&lt;li&gt;S3 storage&lt;/li&gt;
&lt;li&gt;Optional: Custom domain with ACM certificate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Get started:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples" rel="noopener noreferrer"&gt;Sample Terraform configurations&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chat interfaces&lt;/strong&gt;: OpenWebUI or LibreChat for private ChatGPT alternatives&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflow automation&lt;/strong&gt;: n8n connecting AI to 400+ services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer tools&lt;/strong&gt;: IDE coding agents (Cline, Cursor, Continue)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge management&lt;/strong&gt;: AI-powered note-taking and semantic search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal AI tools&lt;/strong&gt;: Custom chatbots for Slack, Discord, Teams&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Details
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Converts OpenAI API format to Bedrock's format&lt;/li&gt;
&lt;li&gt;Maps model IDs to appropriate AWS services and regions&lt;/li&gt;
&lt;li&gt;Provides unified access to models across configured AWS regions&lt;/li&gt;
&lt;li&gt;Converts Bedrock responses back to OpenAI format&lt;/li&gt;
&lt;li&gt;Supports streaming via Server-Sent Events (SSE)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All traffic stays within your AWS account&lt;/li&gt;
&lt;li&gt;IAM role-based access control&lt;/li&gt;
&lt;li&gt;Optional API key authentication&lt;/li&gt;
&lt;li&gt;VPC deployment supported&lt;/li&gt;
&lt;li&gt;Integrates with AWS Bedrock guardrails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low latency translation layer&lt;/li&gt;
&lt;li&gt;Streaming response support&lt;/li&gt;
&lt;li&gt;Scales with ECS/Fargate auto-scaling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open Source &amp;amp; Commercial Options
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; is available as open source (AGPL-3.0) for experimentation and internal use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For production deployments, we recommend the AWS Marketplace version&lt;/strong&gt;, which includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardened container images&lt;/li&gt;
&lt;li&gt;Regular security updates&lt;/li&gt;
&lt;li&gt;Production support&lt;/li&gt;
&lt;li&gt;14-day free trial&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The commercial license also removes AGPL obligations for proprietary applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🏢 Recommended:&lt;/strong&gt; &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-su2dajk5zawpo" rel="noopener noreferrer"&gt;AWS Marketplace&lt;/a&gt; (14-day free trial, production-ready)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Open source:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/stdapi.ai" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; (AGPL-3.0 for experimentation)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📦 Sample deployments:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples" rel="noopener noreferrer"&gt;Terraform configurations&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📚 Documentation:&lt;/strong&gt; &lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;Full guides and API reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This translation layer approach solves the AWS Bedrock compatibility gap while keeping everything AWS-native.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero code changes&lt;/strong&gt;: Your OpenAI SDK code works as-is&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS-native&lt;/strong&gt;: Fully integrated with Bedrock, Polly, Transcribe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region&lt;/strong&gt;: Access models across AWS regions from one endpoint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production-ready&lt;/strong&gt;: Terraform deployment, CloudWatch integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'd love to hear your feedback! Have you solved this problem differently? What challenges have you faced integrating Bedrock into your workflow?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;We're planning detailed tutorials on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deploying OpenWebUI on AWS&lt;/strong&gt;: Private ChatGPT alternative with Bedrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building n8n workflows&lt;/strong&gt;: AWS AI services in automation pipelines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IDE coding agents setup&lt;/strong&gt;: Configuring Cline and Cursor with Bedrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAG applications&lt;/strong&gt;: Document search with Bedrock embeddings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Want a specific tutorial?&lt;/strong&gt; Drop a comment or open an issue on GitHub!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>aws</category>
      <category>openai</category>
    </item>
    <item>
      <title>Use AWS Bedrock &amp; AI Services (Claude, Nova, Polly, Transcribe) with Your Existing OpenAI Code</title>
      <dc:creator>J.Goutin</dc:creator>
      <pubDate>Fri, 19 Dec 2025 14:32:38 +0000</pubDate>
      <link>https://dev.to/jgoutin/use-aws-bedrock-ai-services-claude-nova-polly-transcribe-with-your-existing-openai-code-4bgl</link>
      <guid>https://dev.to/jgoutin/use-aws-bedrock-ai-services-claude-nova-polly-transcribe-with-your-existing-openai-code-4bgl</guid>
      <description>&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Use your existing OpenAI-compatible tools (OpenWebUI, n8n, Cline, Cursor) with AWS Bedrock's 80+ models and AWS AI services (Polly, Transcribe). Just change the endpoint - no code changes needed. Deploy to your AWS account in 15 minutes with Terraform. Data stays in your AWS environment for HIPAA/GDPR compliance.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution in 30 Seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="c1"&gt;# Just change this line ↓
&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://your-aws-api/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Everything else stays the same ↓
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;anthropic.claude-sonnet-4-5-20250929-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Claude 4.5 on Bedrock
&lt;/span&gt;    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello from AWS!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What this enables:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use OpenWebUI, n8n, Cline, Cursor with AWS Bedrock and AWS AI services&lt;/li&gt;
&lt;li&gt;Access Claude 4.5, Nova, Qwen, DeepSeek, Mistral, Cohere, and 75+ more models&lt;/li&gt;
&lt;li&gt;Text-to-speech (Polly), speech-to-text (Transcribe), image generation, embeddings&lt;/li&gt;
&lt;li&gt;Keep all data in your AWS account (HIPAA, GDPR, FedRAMP ready)&lt;/li&gt;
&lt;li&gt;Multi-region model access from a single endpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Problem We Solved
&lt;/h2&gt;

&lt;p&gt;Most modern AI tools are built for OpenAI's API, but AWS Bedrock uses a completely different SDK. This forces you to choose between using familiar tools or switching to AWS for compliance/cost reasons and rewriting everything.&lt;/p&gt;

&lt;p&gt;We ran into this while working with a customer who needed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: All data in their AWS account (GDPR requirements)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choice&lt;/strong&gt;: Multiple models (Claude, Nova, Qwen, Mistral, DeepSeek, Stability AI, Cohere)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region access&lt;/strong&gt;: Different Bedrock models available in different AWS regions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standard tooling&lt;/strong&gt;: OpenWebUI, n8n, IDE coding agents (Cline, Cursor)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full AWS AI stack&lt;/strong&gt;: Bedrock models plus Polly (TTS) and Transcribe (STT)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Our Approach: An OpenAI-Compatible Translation Layer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; is an API gateway that sits in your AWS account and translates OpenAI API calls to AWS services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;OpenAI API Compatibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your existing code works without modifications:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;base_url&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://your-deployment.example.com/v1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;your-api-key&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Chat completions
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.nova-pro-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Explain AWS Lambda&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Text-to-speech with Polly
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;speech&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.polly-neural&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Welcome to the future of voice technology!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Speech-to-text with Transcribe
&lt;/span&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;meeting-recording.mp3&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;audio_file&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;transcription&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;transcriptions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;amazon.transcribe&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="nb"&gt;file&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;audio_file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;response_format&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Image generation with Bedrock
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;images&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;generate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stability.stable-image-ultra-v1:0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;A serene mountain landscape at sunset&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Embeddings with Bedrock
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;embeddings&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;cohere.embed-v4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Semantic search transforms how we find information&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Multi-Region Access&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Access models across multiple AWS Bedrock regions from a single endpoint. Different models are available in different regions. You can configure which regions to include based on your requirements. AWS Bedrock inference profiles handle automatic routing when needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multi-Modal Capabilities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Process text, images, videos, and documents together in a single request. Supports HTTP URLs, S3 URLs (for direct access to your data), and base64 data URIs. Perfect for vision tasks, document analysis, and RAG applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deployment
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Deploy to your AWS account in 5-15 minutes using Terraform.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sample configurations set up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Application Load Balancer with ECS/Fargate&lt;/li&gt;
&lt;li&gt;IAM roles with least-privilege access&lt;/li&gt;
&lt;li&gt;CloudWatch logging&lt;/li&gt;
&lt;li&gt;S3 storage&lt;/li&gt;
&lt;li&gt;Optional: Custom domain with ACM certificate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Get started:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples" rel="noopener noreferrer"&gt;Sample Terraform configurations&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Use Cases
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chat interfaces&lt;/strong&gt;: OpenWebUI or LibreChat for private ChatGPT alternatives&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workflow automation&lt;/strong&gt;: n8n connecting AI to 400+ services&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Developer tools&lt;/strong&gt;: IDE coding agents (Cline, Cursor, Continue)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge management&lt;/strong&gt;: AI-powered note-taking and semantic search&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Internal AI tools&lt;/strong&gt;: Custom chatbots for Slack, Discord, Teams&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Details
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;How It Works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Converts OpenAI API format to Bedrock's format&lt;/li&gt;
&lt;li&gt;Maps model IDs to appropriate AWS services and regions&lt;/li&gt;
&lt;li&gt;Provides unified access to models across configured AWS regions&lt;/li&gt;
&lt;li&gt;Converts Bedrock responses back to OpenAI format&lt;/li&gt;
&lt;li&gt;Supports streaming via Server-Sent Events (SSE)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Security:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All traffic stays within your AWS account&lt;/li&gt;
&lt;li&gt;IAM role-based access control&lt;/li&gt;
&lt;li&gt;Optional API key authentication&lt;/li&gt;
&lt;li&gt;VPC deployment supported&lt;/li&gt;
&lt;li&gt;Integrates with AWS Bedrock guardrails&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low latency translation layer&lt;/li&gt;
&lt;li&gt;Streaming response support&lt;/li&gt;
&lt;li&gt;Scales with ECS/Fargate auto-scaling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open Source &amp;amp; Commercial Options
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;stdapi.ai&lt;/strong&gt; is available as open source (AGPL-3.0) for experimentation and internal use.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For production deployments, we recommend the AWS Marketplace version&lt;/strong&gt;, which includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hardened container images&lt;/li&gt;
&lt;li&gt;Regular security updates&lt;/li&gt;
&lt;li&gt;Production support&lt;/li&gt;
&lt;li&gt;14-day free trial&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The commercial license also removes AGPL obligations for proprietary applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;🏢 Recommended:&lt;/strong&gt; &lt;a href="https://aws.amazon.com/marketplace/pp/prodview-su2dajk5zawpo" rel="noopener noreferrer"&gt;AWS Marketplace&lt;/a&gt; (14-day free trial, production-ready)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Open source:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/stdapi.ai" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; (AGPL-3.0 for experimentation)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📦 Sample deployments:&lt;/strong&gt; &lt;a href="https://github.com/stdapi-ai/samples" rel="noopener noreferrer"&gt;Terraform configurations&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📚 Documentation:&lt;/strong&gt; &lt;a href="https://stdapi.ai" rel="noopener noreferrer"&gt;Full guides and API reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This translation layer approach solves the AWS Bedrock compatibility gap while keeping everything AWS-native.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key benefits:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Zero code changes&lt;/strong&gt;: Your OpenAI SDK code works as-is&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AWS-native&lt;/strong&gt;: Fully integrated with Bedrock, Polly, Transcribe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-region&lt;/strong&gt;: Access models across AWS regions from one endpoint&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Production-ready&lt;/strong&gt;: Terraform deployment, CloudWatch integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'd love to hear your feedback! Have you solved this problem differently? What challenges have you faced integrating Bedrock into your workflow?&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;We're planning detailed tutorials on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Deploying OpenWebUI on AWS&lt;/strong&gt;: Private ChatGPT alternative with Bedrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Building n8n workflows&lt;/strong&gt;: AWS AI services in automation pipelines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IDE coding agents setup&lt;/strong&gt;: Configuring Cline and Cursor with Bedrock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RAG applications&lt;/strong&gt;: Document search with Bedrock embeddings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Want a specific tutorial?&lt;/strong&gt; Drop a comment or open an issue on GitHub!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>openai</category>
      <category>aiops</category>
    </item>
  </channel>
</rss>
