stdapi.ai is under active development with regular feature releases. Nine major releases delivered since launch (v1.0-v1.9) with continuous improvements.
Latest: v1.9 – Files API & Images API JSON Body (OpenAI and Anthropic Files API backed by Amazon S3, multipart uploads, JSON body for image edits and variations)
The following features may be implemented in future releases based on community demand and feedback. Implementation priority is determined by user requests and use case requirements.
This release introduces a Files API backed by Amazon S3, available through both the OpenAI-compatible and Anthropic-compatible interfaces. Files uploaded via either API share the same S3 storage and can be referenced across both interfaces. Large files can be uploaded incrementally using the OpenAI multipart uploads API. Stored files can be referenced by ID directly in image edit and variation requests (JSON body), as well as in chat completion messages as document or image inputs. The image edits endpoint now also accepts an application/json body as an alternative to multipart form-data, making it easier to chain pipeline steps without re-uploading files.
New Required Configuration
Files API requires AWS_S3_BUCKET to be configured (shared with the image URL response feature). The S3 prefix for stored files defaults to files/ and is configurable via AWS_S3_FILES_PREFIX. Ensure your IAM role includes read, write, delete, and list permissions on the files prefix in addition to the existing S3 permissions for presigned URLs.
Document inputs via S3 URLs are not supported as Bedrock Converse API inputs for some models (e.g., Claude) — now properly detected and handled
v1.8.0 – Broader Model Compatibility & Structured Output¶
This release focuses on improving reliability and compatibility across a wide variety of models. Structured response formats (JSON object and JSON schema) are now supported on OpenAI chat completions, and request metadata can be forwarded to Bedrock. Tool handling has been significantly improved—both for model-specific system tools and for Amazon Nova's grounding tool, including multi-turn support. Region routing is now more robust, correctly enforcing non-global inference profiles for region-restricted models and handling edge cases gracefully.
New Required IAM Permissions
v1.8.0 requires two new IAM permissions to attach request metadata tags to jobs:
bedrock:TagResource on arn:aws:bedrock:*:*:async-invoke/* — needed for Bedrock asynchronous invocation jobs (see IAM Permissions). The twelvelabs.marengo-embed-3-0-v1:0 and twelvelabs.marengo-embed-2-7-v1:0 models rely on asynchronous invocation and will fail with an access denied error if this permission is missing.
transcribe:TagResource on arn:aws:transcribe:*:*:transcription-job/* — needed for Amazon Transcribe transcription jobs (see IAM Permissions). The amazon.transcribe model will fail with an access denied error if this permission is missing.
Ensure your IAM role or user policy includes both statements before upgrading to v1.8.0.
Region-restricted models are now always assigned non-global inference profiles, preventing requests from bypassing configured region restrictions
Region routing edge case handling
Region routing gracefully handles cases where no usable regions are available
ECS-based server ID
When running on ECS, server_id in logs is set to task_id.container_name for precise instance identification across tasks and containers
Request metadata tagging
stdapi.ai request context (request_id, server_id, user_id) is automatically attached as tags to every Bedrock and Amazon Transcribe job, making it easy to trace API calls across AWS service logs
Fix systemTool_ prefix handling: removed broken auto-promotion logic; system tools require specific tool output handling not compatible with generic tool forwarding
AWS_BEDROCK_LEGACY default changed from true to false to prevent access denied errors on legacy models that have not been actively used recently
Bedrock read timeouts are now handled as standard model errors (503) instead of unhandled exceptions, and are properly retried across regions when multi-region routing is enabled
v1.7.0 – Automatic Region Routing, Deprecated Model Fallback & Resilience Improvements¶
The headline feature of v1.7 is automatic multi-region routing: stdapi.ai now intelligently distributes requests across your configured AWS regions, failing over automatically on quota limits or unavailability—and because each region carries its own independent quota, adding regions directly multiplies your effective tokens-per-minute and daily limits. Alongside this, deprecated model IDs are transparently redirected to their replacements so clients survive AWS model retirements without any code changes. This release also adds S3 URL support for file inputs across all relevant endpoints, a configurable AI response timeout, and memory efficiency improvements.
Automatic region routing with configurable strategies
Intelligently distributes Bedrock requests across configured AWS regions with automatic failover on quota limits or unavailability; supports ordered, lowest_latency, and round_robin strategies
Deprecated model fallback
Transparently reroute deprecated model IDs to their replacements; extend or override the built-in mapping; warns on legacy model usage
AI response timeout
Configurable timeout for AI model responses to prevent indefinitely hanging requests
Expanded file input support
File inputs (images, documents, audio) now support S3 URLs in addition to HTTP URLs, data URIs, and plain base64 across all relevant endpoints; improves memory efficiency by releasing file data as early as possible
Model lifecycle timestamps
Model created/updated timestamps now derived from lifecycle data (startOfLifeTime, endOfLifeTime)
Fix SSE stream error handling in monitoring to handle specific API and AWS client errors gracefully
Fix audio MIME type detection failure when libmagic's in-memory buffer path silently returns application/octet-stream; fall back to file-based detection to ensure correct format is sent to Bedrock
v1.6.0 – Anthropic API Compatibility & Advanced Claude Capabilities¶
Introduces a full Anthropic-compatible API layer, enabling direct use of the Anthropic SDK and Claude-native tools with AWS Bedrock. Adds Claude server tools support via OpenAI chat completions, token count estimation, automatic Anthropic beta flag filtering, and configurable route prefixes.
Introduces advanced reasoning capabilities with Amazon Nova 2 and Anthropic Claude 4.6+ adaptive reasoning, enhanced system prompt handling for broader model compatibility.
Add "/" route to avoid 404 errors on root endpoint
Fix empty system content block handling (improves AWS Bedrock Converse API compatibility)
v1.5.1
Fix Amazon Nova Canvas image editing to fall back to TEXT_IMAGE task type when no mask is provided
v1.4.0 – Audio Enhancements & Model Compatibility¶
Expands audio capabilities with Mistral Voxtral support, speaker diarization, audio formats for chat completions, and introduces prompt caching TTL and model aliasing for better OpenAI compatibility.
Adds support for OpenAI's image editing and variation endpoints, enabling image manipulation capabilities backed by Amazon Bedrock. Includes maintenance updates for content block handling, tool call validation, streaming fixes, and TTS optimization.
Refactor content block handling to skip empty entries in assistant responses
v1.3.4
Handle invalid tool call arguments with robust JSON content validation
Add deprecation mapping for amazon.titan-image-generator-v2:0 → amazon.nova-canvas-v1:0
v1.3.3
Remove premature stop condition for contentBlockStop in streaming chat completions
v1.3.2
Support image[] array-style notation for OpenAI image edits
Handle empty audio segments in transcription duration calculation
v1.3.1
Improve JSON parsing for tool arguments and results
Correct example → examples in OpenAPI model path parameter
v1.2.0 – Service Tiers, System Tools & Performance Enhancements¶
Introduces service tiers and latency headers for all Bedrock routes, Bedrock-specific system tools (Nova grounding), GPT5.2 API compatibility, configurable guardrail overrides, and Python 3.14 optimization.