A simple, unofficial AWS Polly client in dart. Supports generating a URL given an input text and voice identifier.
Flutter AWS Polly Plugin #
Getting Started #
Add this to your package's
dependencies: aws_polly: ^1.0.3
AWS Console #
Here are the steps to generate a functional
Pool ID in the AWS Console
- You must have first have an account with AWS.
- Go to the Amazon Cognito console.
- Click on
Manage Identity Poolsand
Create new identity pool.
- Name the new identity pool and make sure to check
Enable access to unauthenticated identities.
- After creating the pool you'll be given your
Identity pool ID, which will look something like
- Now we need to give our new IAM policy the correct permissions, so go to the IAM Console.
- Click on Roles, find your newly created
Unauth_Roleand click it.
- Click on
Attach policiesand search for
AmazonPollyReadOnlyAccessand add it to the role.
Then you just have to import the package with
In order to generate a URL to play first create the client using your new poolId and region (
USEast1 is the default).
final AwsPolly _awsPolly = AwsPolly.instance( poolId: 'us-east-1:xxxx-xxx-xxxxx', region: AWSRegionType.USEast1, );
Then in order to generate a new URL, simply call on the
final url = await _awsPolly.getUrl( voiceId: AWSPolyVoiceId.nicole, input: 'This is a sample text playing through Poly!', );
Be sure to check the example project to see how to turn the .mp3 URL into a playable audio file.
Please feel free to give me any feedback helping support this plugin !