Ошибка, с которой вы столкнулись, указывает на проблему с заголовком `Content-Type` в вашем запросе. Сервер ожидает получить данные в виде JSON, но вы отправляете их с некорректным заголовком. Попробуем исправить это.
Пример реализации API FusionBrain на PHP с использованием cURL может выглядеть следующим образом:
```php
<?php
// URL вашего API
$url = 'https://ваш_адрес/api/v1/text2image/run';
// Данные, которые вы хотите отправить
$data = [
'text' => 'Ваш текст',
'other_parameter' => 'значение'
];
// Инициализация cURL
$ch = curl_init($url);
// Настройки cURL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json', // Указываем правильный Content-Type
'Authorization: Bearer ваш_токен' // Если требуется токен авторизации, укажите его здесь
]);
// Преобразуем массив данных в JSON формат
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
// Выполняем запрос
$response = curl_exec($ch);
// Проверяем наличие ошибок
if (curl_errno($ch)) {
echo 'Ошибка cURL: ' . curl_error($ch);
}
// Закрываем cURL сессию
curl_close($ch);
// Печатаем ответ
echo $response;
?>
```
### Объяснение кода
1. **URL**: Замените `ваш_адрес` на фактический адрес вашего API.
2. **Данные**: `data` — это массив с данными, которые вы хотите отправить. Убедитесь, что ключи и значения соответствуют ожиданиям API.
3. **cURL**:
- `curl_setopt($ch, CURLOPT_HTTPHEADER, ...)` – устанавливаем `Content-Type` как `application/json`. Это важно, так как сервер ожидает JSON.
- Делаем `json_encode($data)` для преобразования массива PHP в JSON строку.
4. **Обработка ответа**: Если вызов API прошёл успешно, вы можете обработать ответ как нужно.
### Причины ошибки 415
- Неправильный заголовок `Content-Type`: на сервер отправляется `application/json;boundary=...`, что недопустимо для JSON. Убедитесь, что вы используете только `application/json`.
- Неверный формат отправляемых данных: убедитесь, что ваши данные корректно сериализуются в JSON.
Попробуйте этот код, и он должен сработать, если ваш API доступен по указанному адресу и настройки верны.