Ваш код будет отлично работать на 99,9% серверов, но, видимо из-за особенности данного сервиса, точнее обработки запросов на нём, для конкретной задачи не применим.
Могу предложить CURL решение:
$key = 'ТУТ МОЙ КЛЮЧ ОТ АПИ https://tinypng.com/developers';
$serviceUrl = 'https://api.tinify.com/shrink';
$imgUrl = 'https://tinypng.com/images/panda-happy.png';
$headers = [
'Content-Type: application/json',
'Accept: */*',
'Authorization: Basic ' . base64_encode('api:' . $key)
];
$arData = [
'source' => [
'url' => $imgUrl
]
];
$myCurl = curl_init();
curl_setopt_array($myCurl, [
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $serviceUrl,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($arData)
]);
$response = curl_exec($myCurl);
curl_close($myCurl);
var_dump($response);