File size: 2,972 Bytes
e34fa80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
---
license: apache-2.0
language:
- tr
metrics:
- character
base_model: microsoft/Phi-3.5-MoE-instruct
pipeline_tag: text-to-video
library_name: flair
tags:
- art
---
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
import pyttsx3
from moviepy.editor import TextClip, CompositeVideoClip, AudioFileClip

# Model ve tokenizer yükleme
model_name = "meta-llama/Meta-Llama-3.1-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

# Hikaye ve karakter bilgileri
hikaye = "Bir zamanlar uzak bir diyarda..."
karakterler = {
    "Karakter1": "Cesur ve güçlü bir savaşçı.",
    "Karakter2": "Bilge ve yaşlı bir büyücü."
}

# Kategori seçimi
kategori = "Anime"

# Hikaye oluşturma
def hikaye_olustur(hikaye, karakterler):
    input_text = hikaye + "\n\nKarakterler:\n"
    for isim, tanim in karakterler.items():
        input_text += f"{isim}: {tanim}\n"
    return input_text

# Modeli kullanarak hikaye oluşturma
input_text = hikaye_olustur(hikaye, karakterler)
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)

# Seslendirme oluşturma
engine = pyttsx3.init()
for isim, tanim in karakterler.items():
    engine.save_to_file(tanim, f"{isim}_ses.mp3")
engine.runAndWait()

# Animasyon ve seslendirme oluşturma
klipler = []
for isim, tanim in karakterler.items():
    text_clip = TextClip(tanim, fontsize=70, color="white").set_duration(5)
    audio_clip = AudioFileClip(f"{isim}_ses.mp3").subclip(0, 5)
    klipler.append(text_clip.set_audio(audio_clip))

# Çizgi filmi oluşturma
final_clip = CompositeVideoClip(klipler)
final_clip.write_videofile("cizgi_film.mp4", fps=24)

# Kategoriye göre video oluşturma
def kategoriye_gore_video_olustur(kategori, hikaye, karakterler):
    if kategori == "Anime":
        # Anime tarzında video oluşturma kodları
        pass
    elif kategori == "Animasyon":
        # Animasyon tarzında video oluşturma kodları
        pass
    elif kategori == "Gerçekçilik":
        # Gerçekçilik tarzında video oluşturma kodları
        pass
    elif kategori == "Karakalem":
        # Karakalem tarzında video oluşturma kodları
        pass
    elif kategori == "Suluboya":
        # Suluboya tarzında video oluşturma kodları
        pass
    elif kategori == "3D Karikatür":
        # 3D Karikatür tarzında video oluşturma kodları
        pass
    elif kategori == "Disney Karakteri":
        # Disney Karakteri tarzında video oluşturma kodları
        pass
    elif kategori == "Piksel Sanatı":
        # Piksel Sanatı tarzında video oluşturma kodları
        pass
    elif kategori == "Amerikan Çizgi Romanı":
        # Amerikan Çizgi Romanı tarzında video oluşturma kodları
        pass

# Örnek kullanım
kategori = "Anime"
kategoriye_gore_video_olustur(kategori, hikaye, karakterler)