AWS Marketplace (SageMaker)
Falcon 2.1 is available on AWS Marketplace as an Amazon SageMaker model package. You subscribe with your AWS account, deploy an endpoint in that account, and call it directly. There is no Murf API key, and no Murf server is in the request path. The container runs with SageMaker network isolation, so text and audio never leave your endpoint. AWS bills you and pays Murf.
The package ships the same production voice prompts as the Murf API: 141 voices across 42 locales and 35 languages. Streaming first audio is about 50 ms on a recommended instance.
This package is Falcon 2.1 text-to-speech only. Speech to Text is not included. For a Murf-licensed deployment on your own servers, see On-Premise deployment.
Regions
As of November 2026, the listing is available in 16 AWS Regions:
us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, sa-east-1, eu-west-1, eu-west-2, eu-west-3, eu-central-1, eu-north-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2.
Pick the Region on the listing configuration page and copy the model package ARN from there. The ARN is different in every Region.
Prerequisites
- Subscribe.
AWSMarketplaceManageSubscriptions, or theaws-marketplace:ViewSubscriptions,Subscribe, andUnsubscribeactions. - Deploy.
AmazonSageMakerFullAccessandiam:PassRoleon a SageMaker execution role. SageMaker Studio and notebook instances already have a role you can use. - GPU quota. In Service Quotas → Amazon SageMaker, set
ml.g6e.xlarge for endpoint usageto at least 1. For batch transform,ml.g6e.xlarge for transform job usageis often 0 until you request it. Quota increases can take a day or more. If ml.g6e is not available in your Region, useml.g6.xlargeorml.g5.xlarge.
Quickstart
About 15 minutes, most of it waiting for the endpoint to start. The notebook does the same steps: paste the ARN into the first cell and run the rest.
Subscribe and copy the ARN
Open the listing, choose Continue to subscribe, review pricing and the EULA, then Accept offer. Choose Continue to configuration, pick your Region, and copy the product ARN.
Already subscribed? AWS Marketplace → Manage subscriptions → Murf Falcon 2.1 → Configure, select AWS CLI and your Region, and copy the ARN.
Deploy the endpoint
EnableNetworkIsolation keeps the container off the network. The startup health check needs 900 seconds because the model takes a few minutes to load.
The endpoint is ready in about 8–10 minutes.
Delete the endpoint when you are done
You pay AWS for the GPU instance while the endpoint exists, whether or not you send requests. Delete test endpoints when you finish.
The subscription stays active, so you can deploy again later. To end it, delete your models first, then cancel under AWS Marketplace → Manage subscriptions.
Voices, languages, and styles
Ask the endpoint for its catalog. Voice IDs match the production Falcon catalog (for example en-US-gordon), and you can preview the same voices in the Voice Library.
Each voice includes:
locale: the language it speaks by default, such asen_US.supported_locales: every language it can speak, and the styles available in each. Many voices speak more than one language.styles: speaking styles for the default locale.
locale and style are optional. The default is the voice’s own locale and the first style listed for it. Locale codes use an underscore (hi_IN), not the hyphenated form the hosted API uses (hi-IN).
Ways to call the endpoint
Response streaming. Send "stream": true. The response is the audio itself (mp3 by default, or wav, ogg_opus, or raw PCM). "stream_format": "ndjson" returns JSON lines instead: {"type": "chunk", ...}, {"type": "timestamps", ...}, and a final {"type": "done"}. Word timestamps need ndjson.
Bidirectional streaming. One session carries many turns. Send a config frame, then text frames as tokens arrive. flush ends a turn and speaks any remaining text. cancel stops speech for barge-in. close ends the session. boto3 does not support this API yet. Use examples/invoke.py ... bidi, which needs aws-sdk-sagemaker-runtime-http2 and Python 3.12+.
Batch transform. One JSON request per S3 object, ContentType application/json, SplitType None, and "response_format": "binary" for playable files. The notebook has a full example.
Field names, audio formats, sample rates, and error codes are in the request reference. Real-time responses are JSON with base64 audio, duration_s, usage.characters, and request_id. words is present only when add_timestamps is true.
Instances and performance
The 2xlarge and 4xlarge sizes of these families, and ml.g6e.12xlarge, are also supported. Batch transform runs on ml.g6e.xlarge, ml.g6.xlarge, and ml.g5.xlarge.
Requests beyond the concurrent streams queue for up to 2 seconds, then return HTTP 429 capacity_exceeded. Add instances or use SageMaker auto scaling.
Measured on one ml.g6e.xlarge in November 2026, streaming 157-character requests from a client in the same Region:
English intelligibility on that run was 1.0–1.4% word error rate for en-US-natalie, en-AU-estelle, and en-UK-hazel, with 10 concurrent streams. That figure is for those English passages only.
Differences from the Murf API
The catalog matches production Falcon voices, with these exceptions:
- No voice cloning or custom voices. The catalog is fixed.
- No romanized Hindi.
hi-LATNis not supported. Send Hindi in Devanagari with localehi_IN. - No Romanian.
- No pronunciation dictionaries, inline IPA, dashboard, API keys, or Murf-hosted regions. Send plain text. The container normalizes numbers, dates, currencies, and abbreviations when
normalize_textis true (the default). - Different request shape. Fields are snake_case (
voice_id,sample_rate). Locales use underscores (en_US). This is not the/v1/speech/streamschema.
Not every voice speaks every language. A 422 unsupported_locale or unsupported_style response lists the values that voice accepts.
Pricing
Real-time and streaming endpoints are billed per 1,000 input characters. Batch transform jobs are billed per instance-hour. Both charges are in addition to the SageMaker instance cost, which you pay to AWS. Current prices are on the listing.
Troubleshooting
The endpoint writes one line per request to CloudWatch Logs (/aws/sagemaker/Endpoints/<endpoint-name>) with character count, audio length, and latency. Text is never logged.
Security and privacy
- Text and audio stay in your account. With network isolation, the container has no network access and sends nothing to Murf or any third party.
- Everything the model needs is inside the model package. Nothing is downloaded at start-up.
- Generated audio carries an inaudible AudioSeal watermark that marks it as synthetic speech.
Support
Murf cannot see your requests, text, or audio. Email support@murf.ai with the AWS Region, model package version, the request_id from the response, and the error message. Billing disputes go through AWS Marketplace.