1) Language detection is a separate API call. If you're just calling translation, you're only charged for translation, whether you set the source language or let it get detected.
2) Translation pricing is per translation. So $20 per 1M chars.
Google's translation API pricing structure is fairly standard, see https://modelfront.com/compare.