Files
memefast/app/Http/Controllers/TestController.php
2025-06-20 13:03:52 +08:00

75 lines
1.9 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Helpers\FirstParty\AI\OpenAI;
use App\Helpers\FirstParty\AI\RunwareAI;
use App\Helpers\FirstParty\AspectRatio;
use App\Helpers\FirstParty\Meme\MemeGenerator;
use App\Models\Category;
use App\Models\MemeMedia;
use Str;
class TestController extends Controller
{
public function index()
{
//
}
public function getMemeKeywords()
{
$meme_media = MemeMedia::whereNull('action_keywords')->first();
$meme_keywords_response = OpenAI::getMemeKeywords($meme_media->name, $meme_media->description);
$meme_keywords_output = json_decode(OpenAI::getOpenAIOutput($meme_keywords_response));
$meme_media->description = $meme_keywords_output->description;
$meme_media->action_keywords = $meme_keywords_output->action_keywords;
$meme_media->emotion_keywords = $meme_keywords_output->emotion_keywords;
$meme_media->misc_keywords = $meme_keywords_output->misc_keywords;
$meme_media->save();
}
public function aspectRatio()
{
$aspect_ratio = AspectRatio::get(1024, 1024);
dd($aspect_ratio);
}
public function generateMeme()
{
$category = Category::inRandomOrder()->first();
$meme = MemeGenerator::generateMemeByCategory($category);
dd($meme);
}
public function populateDuration()
{
\App\Helpers\FirstParty\Maintenance\MemeMediaMaintenance::populateDurations();
}
public function writeMeme()
{
$meme_response = OpenAI::getSingleMemeGenerator('Write me 1 meme about workplace stress');
$meme_output = json_decode(OpenAI::getOpenAIOutput($meme_response));
dd($meme_output);
}
public function generateSchnellImage()
{
$uuid = Str::uuid();
$image_url = RunwareAI::generateSchnellImage($uuid, 'office desk cluttered with papers and a computer', 1024, 1024);
dd($image_url);
}
}