neoban/backend/app/Http/Controllers/SocialMediaPostController.php

32 lines
932 B
PHP

<?php
namespace App\Http\Controllers;
use App\Ai\Agents\CreativeDirectorAgent;
use App\Ai\Agents\ContentWriterAgent;
use App\Http\Requests\SocialMediaPostRequest;
use Illuminate\Http\JsonResponse;
class SocialMediaPostController extends Controller
{
/**
* Generate a social media post and a matching image from the given prompt.
*/
public function generate(
SocialMediaPostRequest $request,
ContentWriterAgent $socialMediaAgent,
CreativeDirectorAgent $creativeDirectorAgent
): JsonResponse {
$socialMediaResponse = $socialMediaAgent->prompt($request->input('prompt'));
$postText = $socialMediaResponse->text;
$imagePromptResponse = $creativeDirectorAgent->prompt($postText);
$imagePrompt = $imagePromptResponse->text;
return response()->json([
'post' => $postText,
'image_prompt' => $imagePrompt,
]);
}
}