diff --git a/gopro-plus.cabal b/gopro-plus.cabal
--- a/gopro-plus.cabal
+++ b/gopro-plus.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 7978d726abfc1fe3a9d4deb3534ee342c213838e7d02d8dd92726d8e08e97b2d
+-- hash: 87bd8a0ef055649ead5b4800185675050d93de453e6dc6a6eb9a0f9af0e3cd68
 
 name:           gopro-plus
-version:        0.6.2.0
+version:        0.6.2.1
 synopsis:       GoPro Plus Client API.
 description:    Please see the README on GitHub at <https://github.com/dustin/gopro-plus#readme>
 category:       Web
diff --git a/src/GoPro/Plus/Media.hs b/src/GoPro/Plus/Media.hs
--- a/src/GoPro/Plus/Media.hs
+++ b/src/GoPro/Plus/Media.hs
@@ -60,6 +60,7 @@
 import           Network.Wreq                 (asJSON, deleteWith, responseBody)
 import           Network.Wreq.Types           (Putable)
 import           System.Random                (getStdRandom, randomR)
+import           Text.Read                    (readMaybe)
 
 import           GoPro.Plus.Auth
 import           GoPro.Plus.Internal.AuthHTTP
@@ -106,7 +107,7 @@
   toJSON = J.String . T.pack . show
 
 instance FromJSON MediumType where
-  parseJSON (J.String x) = pure . read . T.unpack $ x
+  parseJSON (J.String x) = maybe (fail ("Unexpected MediumType: " <> show x)) pure . readMaybe . T.unpack $ x
   parseJSON invalid      = typeMismatch "Response" invalid
 
 data ReadyToViewType = ViewReady
diff --git a/src/GoPro/Plus/Upload.hs b/src/GoPro/Plus/Upload.hs
--- a/src/GoPro/Plus/Upload.hs
+++ b/src/GoPro/Plus/Upload.hs
@@ -46,7 +46,7 @@
 import           Data.Char                    (toUpper)
 import           Data.List.NonEmpty           (NonEmpty (..))
 import qualified Data.List.NonEmpty           as NE
-import           Data.Maybe                   (fromJust)
+import           Data.Maybe                   (fromJust, fromMaybe)
 import qualified Data.Text                    as T
 import           Data.Time.Clock.POSIX        (getCurrentTime)
 import qualified Data.Vector                  as V
@@ -54,6 +54,7 @@
 import           System.FilePath.Posix        (takeExtension, takeFileName)
 import           System.IO                    (IOMode (..), SeekMode (..), hSeek, withFile)
 import           System.Posix.Files           (fileSize, getFileStatus)
+import           Text.Read                    (readMaybe)
 import           UnliftIO                     (MonadUnliftIO (..))
 
 import           GoPro.Plus.Auth              (AuthInfo (..), HasGoProAuth (..))
@@ -241,7 +242,7 @@
 
   where
     tInt :: T.Text -> Integer
-    tInt = read . T.unpack
+    tInt = fromMaybe 0 . readMaybe . T.unpack
     aChunk v = liftA3 UploadPart (v ^? key "Content-Length" . _String . to tInt)
                                  (v ^? key "part" . _Integer . to toInteger)
                                  (v ^? key "url" . _String . to T.unpack)
