withHeaders([ 'Content-Type' => 'application/json', 'Authorization' => 'Bearer '.$api_key, ]) ->post('https://api.runware.ai/v1', [ [ 'taskUUID' => $uuid, 'taskType' => 'imageInference', 'width' => $width, 'height' => $height, 'numberResults' => 1, 'outputFormat' => 'WEBP', 'outputType' => ['URL'], 'includeCost' => true, 'inputImages' => [], 'positivePrompt' => $prompt, 'model' => 'runware:100@1', ], ]); // Check if the request was successful if ($response->successful()) { $data = $response->json(); // Extract the image URL from the response if (isset($data['data']) && count($data['data']) > 0) { $imageData = collect($data['data']) ->where('taskType', 'imageInference') ->first(); if ($imageData && isset($imageData['imageURL'])) { return $imageData['imageURL']; } } throw new \Exception('Image URL not found in response'); } throw new \Exception('API request failed: '.$response->status().' - '.$response->body()); } catch (\Exception $e) { // Log the error or handle as needed \Log::error('RunwareAI API Error: '.$e->getMessage()); throw $e; } } }