$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Authorization: Bearer {$apiKey}
Content-Type: application/json
",
'content' => json_encode(['model' => 'claude-3-5-sonnet', 'stream' => true, 'messages' => $messages])
]
]);
$stream = fopen('https://api.anthropic.com/v1/messages', 'r', false, $context);
while (!feof($stream)) {
$line = fgets($stream);
if (str_starts_with($line, 'data: ')) {
echo substr($line, 6);
ob_flush(); flush();
}
}
fclose($stream);