This commit is contained in:
ct
2025-06-20 23:40:27 +08:00
parent 201837441d
commit e8e3def103
7 changed files with 69 additions and 18 deletions

View File

@@ -3,18 +3,39 @@
namespace App\Helpers\FirstParty\Maintenance;
use App\Helpers\FirstParty\AI\OpenAI;
use App\Helpers\FirstParty\Meme\MemeGenerator;
use App\Models\Category;
use App\Models\MemeMedia;
use ProtoneMedia\LaravelFFMpeg\Support\FFMpeg;
class MemeMediaMaintenance
{
public static function generateMemesByCategories()
{
Category::where('system_memes_generated_count', '<', 1)
->chunk(10, function ($categories) {
foreach ($categories as $category) {
dump('Processing ' . $category->name);
$meme = MemeGenerator::generateMemeByCategory($category);
if (!is_null($meme)) {
$category->system_memes_generated_count++;
$category->save();
}
}
});
}
public static function patchMemeKeywords()
{
$meme_medias = MemeMedia::whereNull('action_keywords')->get();
foreach ($meme_medias as $key => $meme_media) {
dump('Processing '.$key + 1 .'/'.$meme_medias->count().': '.$meme_media->name);
dump('Processing ' . $key + 1 . '/' . $meme_medias->count() . ': ' . $meme_media->name);
$meme_keywords_response = OpenAI::getMemeKeywords($meme_media->name, $meme_media->description);

View File

@@ -92,13 +92,13 @@ public static function generateMemeByCategory(Category $category)
}
if (! is_null($meme) && $meme->status == self::STATUS_PENDING) {
// populate meme_id
$meme->meme_id = self::getSuitableMemeMedia($meme)->id;
$meme->background_id = self::generateBackgroundMediaWithRunware($meme_output->background)->id;
// populate meme_media_id
$meme->meme_media_id = self::getSuitableMemeMedia($meme)->id;
$meme->background_media_id = self::generateBackgroundMediaWithRunware($meme_output->background)->id;
if (
//!is_null($meme->meme_id) &&
! is_null($meme->background_id)
//!is_null($meme->meme_media_id) &&
! is_null($meme->background_media_id)
) {
$meme->status = self::STATUS_COMPLETED;
}