import 'package:json_annotation/json_annotation.dart'; /// Karakterin biyolojik/sosyal cinsiyeti. enum Cinsiyet { @JsonValue('kadin') kadin, @JsonValue('erkek') erkek, @JsonValue('belirsiz') belirsiz, } /// Sahne içerik tipi — üretim hattının hangi kolu kullanılacağını belirler. enum SahneTipi { @JsonValue('video') video, @JsonValue('gorsel') gorsel, @JsonValue('lipsync_segment') lipsyncSegment, @JsonValue('ara_gorsel') araGorsel, } /// Sahne yaşam döngüsü durumları. enum SahneDurum { @JsonValue('bos') bos, @JsonValue('kuyruk') kuyruk, @JsonValue('uretiliyor') uretiliyor, @JsonValue('tamam') tamam, @JsonValue('hata') hata, @JsonValue('atlandi') atlandi, } /// Job orchestrator için kuyruk durumu (SahneDurum ile aynı değerler). enum KuyrukDurumu { @JsonValue('bos') bos, @JsonValue('kuyruk') kuyruk, @JsonValue('uretiliyor') uretiliyor, @JsonValue('tamam') tamam, @JsonValue('hata') hata, @JsonValue('atlandi') atlandi, } /// Job tipi — orkestratörün hangi pipeline'i koşacağını belirler. enum JobTipi { @JsonValue('sahne_uret') sahneUret, @JsonValue('gorsel_uret') gorselUret, @JsonValue('ses_uret') sesUret, @JsonValue('birlestir') birlestir, @JsonValue('face_fix') faceFix, @JsonValue('lipsync_fix') lipsyncFix, } /// Ses analizinden gelen enerji seviyesi (sahne önerisinde kullanılır). enum EnerjiSeviyesi { @JsonValue('sessizlik') sessizlik, @JsonValue('dusuk') dusuk, @JsonValue('orta') orta, @JsonValue('yuksek') yuksek, @JsonValue('doruk') doruk, } /// Üretim modeli yetenek tipi. enum ModelTipi { @JsonValue('video_i2v') videoI2V, @JsonValue('video_t2v') videoT2V, @JsonValue('video_lipsync') videoLipsync, @JsonValue('gorsel') gorsel, @JsonValue('ses_tts') sesTTS, @JsonValue('postprocess') postprocess, } /// Pipeline'da yer alan sağlayıcılar. enum SaglayiciTipi { @JsonValue('wangp') wangp, @JsonValue('ace_step') aceStep, @JsonValue('face_fusion') faceFusion, @JsonValue('ffmpeg') ffmpeg, } /// Yüz onarım sağlayıcısı. enum FaceRestoreSaglayici { @JsonValue('gfpgan') gfpgan, @JsonValue('codeformer') codeformer, @JsonValue('yok') yok, } /// Lipsync modu (InfiniteTalk single/multi/post). enum LipsyncMod { @JsonValue('infinite_talk_single') infiniteTalkSingle, @JsonValue('infinite_talk_multi') infiniteTalkMulti, @JsonValue('wav2lip_post') wav2lipPost, @JsonValue('yok') yok, } /// Hizalama / en-boy oranı. enum Hizalama { @JsonValue('yatay') yatay, @JsonValue('dikey') dikey, @JsonValue('kare') kare, } /// Hedef yayın platformu (cikis ayarlarında). enum HedefPlatform { @JsonValue('instagram') instagram, @JsonValue('tiktok') tiktok, @JsonValue('youtube_shorts') youtubeShorts, @JsonValue('youtube_long') youtubeLong, @JsonValue('twitter') twitter, @JsonValue('genel') genel, }