To put simply, you are not charged for creating AMIs but you will be charged for the storage it takes.
So, when you create an AMI of an EC2 instance which is attached to an EBS volume, the AMI will be made up of snapshots of those EBS volumes. You have to only pay storage fees for those snapshots.
S3-backed AMIs will store the data in S3 so you will pay the S3 storage fees. If you store in S3, you have to pay the recurring charges even if the instance is not running.