mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-06 18:21:12 +00:00
select style is good
This commit is contained in:
1 parent
7589e7c0bd
commit
7ed5522372
42 files changed
+342
-135
No files matched your search
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "ভয়েস টু ভয়েস",
|
||||
"productVdText": "আপনার নিজস্ব AI ভয়েস তৈরি করুন",
|
||||
"productVdTitle": "ভয়েস ডিজাইনার",
|
||||
"productVideoStyleTransferText": "আপনার ভিডিওতে শৈলী প্রয়োগ করুন",
|
||||
"productVideoStyleTransferTitle": "ভিডিও শৈলী স্থানান্তর",
|
||||
"productsTitle": "এআই টুলস"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "আপলোড করুন"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "আপনার ভিডিওর স্টাইল একটি থেকে অন্যটিতে পরিবর্তন করুন",
|
||||
"title": "ভিডিও শৈলী স্থানান্তর"
|
||||
"subtitle": "এই বিটাতে, আমরা আপনার ভিডিওটিকে কার্টুন শৈলীতে পরিবর্তন করি",
|
||||
"title": "ভিডিও শৈলী স্থানান্তর (বিটা।)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "এখানে প্রম্পট টাইপ করুন। যেমন: মানুষ ভাল্লুক নয়",
|
||||
"prompt": "এখানে প্রম্পট টাইপ করুন। যেমন: ম্যান অ্যানিমে স্টাইলে নাচছে"
|
||||
"prompt": "এখানে প্রম্পট টাইপ করুন। যেমন: ম্যান অ্যানিমে স্টাইলে নাচছে",
|
||||
"selectStyle": "এবং কিন্তুএবং কিন্তুএবং কিন্তুএবং কিন্তুএবং কিন্তু"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "শক্তি"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "একটি শৈলী নির্বাচন করুন"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Stimme zu Stimme",
|
||||
"productVdText": "Erstellen Sie Ihre eigene KI-Stimme",
|
||||
"productVdTitle": "Sprachdesigner",
|
||||
"productVideoStyleTransferText": "Wenden Sie Stile auf Ihre Videos an",
|
||||
"productVideoStyleTransferTitle": "Übertragung des Videostils",
|
||||
"productsTitle": "KI-Tools"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Hochladen"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Ändern Sie den Stil Ihres Videos von einem zum anderen",
|
||||
"title": "Übertragung des Videostils"
|
||||
"subtitle": "In dieser Beta verwandeln wir Ihr Video in einen Cartoon-Stil",
|
||||
"title": "Videostilübertragung (Beta)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Geben Sie hier prompt ein. ZB: Der Mensch ist kein Bär",
|
||||
"prompt": "Geben Sie hier prompt ein. Beispiel: Mann tanzt im Anime-Stil"
|
||||
"prompt": "Geben Sie hier prompt ein. Beispiel: Mann tanzt im Anime-Stil",
|
||||
"selectStyle": "Nichts ausgewählt"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Stärke"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Wählen Sie einen Stil aus"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Voice to Voice",
|
||||
"productVdText": "Create your own AI voice",
|
||||
"productVdTitle": "Voice Designer",
|
||||
"productVideoStyleTransferText": "Apply styles to your videos",
|
||||
"productVideoStyleTransferTitle": "Video Style Transfer",
|
||||
"productsTitle": "AI Tools"
|
||||
}
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Type prompt here. Eg: Man is not a bear",
|
||||
"prompt": "Type prompt here. Eg: Man dancing in the style of anime"
|
||||
"prompt": "Type prompt here. Eg: Man dancing in the style of anime",
|
||||
"selectStyle": "None Selected"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Strength"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Select a style"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Voz a Voz",
|
||||
"productVdText": "Crea tu propia voz de IA",
|
||||
"productVdTitle": "Diseñador de voz",
|
||||
"productVideoStyleTransferText": "Aplica estilos a tus videos",
|
||||
"productVideoStyleTransferTitle": "Transferencia de estilo de vídeo",
|
||||
"productsTitle": "Herramientas de IA"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Subir"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Cambia el estilo de tu vídeo de uno a otro",
|
||||
"title": "Transferencia de estilo de vídeo"
|
||||
"subtitle": "En esta versión beta, cambiamos tu video al estilo de dibujos animados.",
|
||||
"title": "Transferencia de estilo de vídeo (beta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Escriba el mensaje aquí. Por ejemplo: el hombre no es un oso",
|
||||
"prompt": "Escriba el mensaje aquí. Por ejemplo: hombre bailando al estilo anime."
|
||||
"prompt": "Escriba el mensaje aquí. Por ejemplo: hombre bailando al estilo anime.",
|
||||
"selectStyle": "Ninguna seleccionada"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Fortaleza"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Selecciona un estilo"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Voix à voix",
|
||||
"productVdText": "Créez votre propre voix IA",
|
||||
"productVdTitle": "Concepteur de voix",
|
||||
"productVideoStyleTransferText": "Appliquez des styles à vos vidéos",
|
||||
"productVideoStyleTransferTitle": "Transfert de style vidéo",
|
||||
"productsTitle": "Outils d'IA"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Télécharger"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Changez le style de votre vidéo de l'un à l'autre",
|
||||
"title": "Transfert de style vidéo"
|
||||
"subtitle": "Dans cette version bêta, nous transformons votre vidéo en style dessin animé",
|
||||
"title": "Transfert de style vidéo (bêta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Tapez l'invite ici. Ex : L'homme n'est pas un ours",
|
||||
"prompt": "Tapez l'invite ici. Par exemple : un homme qui danse à la manière d'un anime"
|
||||
"prompt": "Tapez l'invite ici. Par exemple : un homme qui danse à la manière d'un anime",
|
||||
"selectStyle": "Aucune sélection"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Force"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Sélectionnez un style"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "आवाज से आवाज",
|
||||
"productVdText": "अपनी खुद की एआई आवाज बनाएं",
|
||||
"productVdTitle": "आवाज डिजाइनर",
|
||||
"productVideoStyleTransferText": "अपने वीडियो में शैलियाँ लागू करें",
|
||||
"productVideoStyleTransferTitle": "वीडियो शैली स्थानांतरण",
|
||||
"productsTitle": "एआई उपकरण"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "डालना"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "अपने वीडियो की शैली को एक से दूसरे में बदलें",
|
||||
"title": "वीडियो शैली स्थानांतरण"
|
||||
"subtitle": "इस बीटा में, हम आपके वीडियो को कार्टून शैली में बदलते हैं",
|
||||
"title": "वीडियो शैली स्थानांतरण (बीटा)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "यहां प्रॉम्प्ट टाइप करें। उदाहरणार्थ: मनुष्य भालू नहीं है",
|
||||
"prompt": "यहां प्रॉम्प्ट टाइप करें। जैसे: आदमी एनीमे की शैली में नृत्य कर रहा है"
|
||||
"prompt": "यहां प्रॉम्प्ट टाइप करें। जैसे: आदमी एनीमे की शैली में नृत्य कर रहा है",
|
||||
"selectStyle": "कोई भी नहीं चुना गया"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "ताकत"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "एक शैली चुनें"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Suara ke Suara",
|
||||
"productVdText": "Buat suara AI Anda sendiri",
|
||||
"productVdTitle": "Desainer Suara",
|
||||
"productVideoStyleTransferText": "Terapkan gaya ke video Anda",
|
||||
"productVideoStyleTransferTitle": "Transfer Gaya Video",
|
||||
"productsTitle": "Alat AI"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Mengunggah"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Ubah gaya video Anda dari satu ke yang lain",
|
||||
"title": "Transfer Gaya Video"
|
||||
"subtitle": "Dalam versi beta ini, kami mengubah video Anda menjadi gaya kartun",
|
||||
"title": "Transfer Gaya Video (beta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Ketik perintah di sini. Misalnya: Manusia bukan beruang",
|
||||
"prompt": "Ketik perintah di sini. Misalnya: Pria menari dengan gaya anime"
|
||||
"prompt": "Ketik perintah di sini. Misalnya: Pria menari dengan gaya anime",
|
||||
"selectStyle": "Tidak ada yang di pilih"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Kekuatan"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Pilih gaya"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Da voce a voce",
|
||||
"productVdText": "Crea la tua voce AI",
|
||||
"productVdTitle": "Progettista vocale",
|
||||
"productVideoStyleTransferText": "Applica stili ai tuoi video",
|
||||
"productVideoStyleTransferTitle": "Trasferimento di stili video",
|
||||
"productsTitle": "Strumenti di intelligenza artificiale"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Caricamento"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Cambia lo stile del tuo video da uno all'altro",
|
||||
"title": "Trasferimento di stili video"
|
||||
"subtitle": "In questa beta, trasformiamo il tuo video in stile cartone animato",
|
||||
"title": "Trasferimento stile video (beta)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Digita la richiesta qui. Ad esempio: l'uomo non è un orso",
|
||||
"prompt": "Digita la richiesta qui. Ad esempio: un uomo che balla in stile anime"
|
||||
"prompt": "Digita la richiesta qui. Ad esempio: un uomo che balla in stile anime",
|
||||
"selectStyle": "Nessuno selezionato"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Forza"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Seleziona uno stile"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "声から声へ",
|
||||
"productVdText": "独自の AI 音声を作成する",
|
||||
"productVdTitle": "ボイスデザイナー",
|
||||
"productVideoStyleTransferText": "動画にスタイルを適用する",
|
||||
"productVideoStyleTransferTitle": "ビデオスタイルの転送",
|
||||
"productsTitle": "AIツール"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "アップロード"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "ビデオのスタイルを別のスタイルに変更する",
|
||||
"title": "ビデオスタイルの転送"
|
||||
"subtitle": "このベータ版では、ビデオを漫画スタイルに変更します",
|
||||
"title": "ビデオ スタイル転送 (ベータ版)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "ここに「プロンプト」と入力します。例: 人間はクマではありません",
|
||||
"prompt": "ここに「プロンプト」と入力します。例: アニメ風に踊る男性"
|
||||
"prompt": "ここに「プロンプト」と入力します。例: アニメ風に踊る男性",
|
||||
"selectStyle": "何も選択されていません"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "強さ"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "スタイルを選択してください"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "음성 대 음성",
|
||||
"productVdText": "나만의 AI 목소리 만들기",
|
||||
"productVdTitle": "보이스 디자이너",
|
||||
"productVideoStyleTransferText": "비디오에 스타일 적용",
|
||||
"productVideoStyleTransferTitle": "비디오 스타일 전송",
|
||||
"productsTitle": "AI 도구"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "업로드"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "비디오 스타일을 다른 스타일로 변경하세요.",
|
||||
"title": "비디오 스타일 전송"
|
||||
"subtitle": "이 베타에서는 비디오를 만화 스타일로 변경합니다.",
|
||||
"title": "비디오 스타일 전송(베타)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "여기에 프롬프트를 입력하세요. 예: 사람은 곰이 아니다",
|
||||
"prompt": "여기에 프롬프트를 입력하세요. 예: 애니메이션 스타일로 춤추는 남자"
|
||||
"prompt": "여기에 프롬프트를 입력하세요. 예: 애니메이션 스타일로 춤추는 남자",
|
||||
"selectStyle": "선택한 항목 없음"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "힘"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "스타일을 선택하세요"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Voz para Voz",
|
||||
"productVdText": "Crie sua própria voz de IA",
|
||||
"productVdTitle": "Designer de voz",
|
||||
"productVideoStyleTransferText": "Aplique estilos aos seus vídeos",
|
||||
"productVideoStyleTransferTitle": "Transferência de estilo de vídeo",
|
||||
"productsTitle": "Ferramentas de IA"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Carregar"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Mude o estilo do seu vídeo de um para outro",
|
||||
"title": "Transferência de estilo de vídeo"
|
||||
"subtitle": "Nesta versão beta, transformamos seu vídeo em estilo cartoon",
|
||||
"title": "Transferência de estilo de vídeo (beta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Digite prompt aqui. Ex.: O homem não é um urso",
|
||||
"prompt": "Digite prompt aqui. Ex.: Homem dançando no estilo anime"
|
||||
"prompt": "Digite prompt aqui. Ex.: Homem dançando no estilo anime",
|
||||
"selectStyle": "Nenhum selecionado"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Força"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Selecione um estilo"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Голос в голос",
|
||||
"productVdText": "Создайте свой собственный голос с искусственным интеллектом",
|
||||
"productVdTitle": "Голосовой дизайнер",
|
||||
"productVideoStyleTransferText": "Применяйте стили к своим видео",
|
||||
"productVideoStyleTransferTitle": "Передача стиля видео",
|
||||
"productsTitle": "Инструменты искусственного интеллекта"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Загрузить"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Меняйте стиль вашего видео с одного на другой",
|
||||
"title": "Передача стиля видео"
|
||||
"subtitle": "В этой бета-версии мы преобразуем ваше видео в мультяшный стиль.",
|
||||
"title": "Перенос стилей видео (бета-версия)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Введите подсказку здесь. Например: Человек не медведь",
|
||||
"prompt": "Введите подсказку здесь. Например: Мужчина танцует в стиле аниме."
|
||||
"prompt": "Введите подсказку здесь. Например: Мужчина танцует в стиле аниме.",
|
||||
"selectStyle": "Не выбрано, ничего не выбрано"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Сила"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Выберите стиль"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "เสียงเป็นเสียง",
|
||||
"productVdText": "สร้างเสียง AI ของคุณเอง",
|
||||
"productVdTitle": "นักออกแบบเสียง",
|
||||
"productVideoStyleTransferText": "ใช้สไตล์กับวิดีโอของคุณ",
|
||||
"productVideoStyleTransferTitle": "การถ่ายโอนสไตล์วิดีโอ",
|
||||
"productsTitle": "เครื่องมือ AI"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "ที่อัพโหลด"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "เปลี่ยนสไตล์วิดีโอของคุณจากที่หนึ่งไปอีกที่หนึ่ง",
|
||||
"title": "การถ่ายโอนสไตล์วิดีโอ"
|
||||
"subtitle": "ในรุ่นเบต้านี้ เราจะเปลี่ยนวิดีโอของคุณให้เป็นสไตล์การ์ตูน",
|
||||
"title": "การโอนสไตล์วิดีโอ (เบต้า)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "พิมพ์ prompt ที่นี่ เช่น มนุษย์ไม่ใช่หมี",
|
||||
"prompt": "พิมพ์ prompt ที่นี่ เช่น ผู้ชายเต้นตามสไตล์อนิเมะ"
|
||||
"prompt": "พิมพ์ prompt ที่นี่ เช่น ผู้ชายเต้นตามสไตล์อนิเมะ",
|
||||
"selectStyle": "ไม่ได้เลือกเลย"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "ความแข็งแกร่ง"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "เลือกสไตล์"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Sesten Sese",
|
||||
"productVdText": "Kendi yapay zeka sesinizi yaratın",
|
||||
"productVdTitle": "Ses Tasarımcısı",
|
||||
"productVideoStyleTransferText": "Videolarınıza stiller uygulayın",
|
||||
"productVideoStyleTransferTitle": "Video Stili Aktarımı",
|
||||
"productsTitle": "Yapay Zeka Araçları"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Yüklemek"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Videonuzun stilini birinden diğerine değiştirin",
|
||||
"title": "Video Stili Aktarımı"
|
||||
"subtitle": "Bu betada videonuzu çizgi film stiline dönüştürüyoruz",
|
||||
"title": "Video Stili Aktarımı (beta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "İstemi buraya yazın. Örnek: İnsan ayı değildir",
|
||||
"prompt": "İstemi buraya yazın. Örnek: Anime tarzında dans eden adam"
|
||||
"prompt": "İstemi buraya yazın. Örnek: Anime tarzında dans eden adam",
|
||||
"selectStyle": "Hiçbiri seçilmedi"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Kuvvet"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Bir stil seçin"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "Giọng nói thành giọng nói",
|
||||
"productVdText": "Tạo giọng nói AI của riêng bạn",
|
||||
"productVdTitle": "Nhà thiết kế giọng nói",
|
||||
"productVideoStyleTransferText": "Áp dụng kiểu cho video của bạn",
|
||||
"productVideoStyleTransferTitle": "Chuyển kiểu video",
|
||||
"productsTitle": "Công cụ AI"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "Tải lên"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "Thay đổi phong cách video của bạn từ cái này sang cái khác",
|
||||
"title": "Chuyển kiểu video"
|
||||
"subtitle": "Trong phiên bản beta này, chúng tôi thay đổi video của bạn thành phong cách hoạt hình",
|
||||
"title": "Chuyển kiểu video (beta.)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "Nhập lời nhắc ở đây. Ví dụ: Con người không phải là gấu",
|
||||
"prompt": "Nhập lời nhắc ở đây. Ví dụ: Người đàn ông nhảy theo phong cách anime"
|
||||
"prompt": "Nhập lời nhắc ở đây. Ví dụ: Người đàn ông nhảy theo phong cách anime",
|
||||
"selectStyle": "Không có gì được chọn"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "Sức mạnh"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "Chọn một phong cách"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -30,5 +30,7 @@
|
||||
"productVcTitle": "语音到语音",
|
||||
"productVdText": "创建您自己的人工智能声音",
|
||||
"productVdTitle": "声音设计师",
|
||||
"productVideoStyleTransferText": "将样式应用到您的视频",
|
||||
"productVideoStyleTransferTitle": "视频风格迁移",
|
||||
"productsTitle": "人工智能工具"
|
||||
}
|
||||
@@ -7,8 +7,8 @@
|
||||
"upload": "上传"
|
||||
},
|
||||
"headings": {
|
||||
"subtitle": "将视频风格从一种更改为另一种",
|
||||
"title": "视频风格迁移"
|
||||
"subtitle": "在此测试版中,我们将您的视频更改为卡通风格",
|
||||
"title": "视频风格迁移(测试版)"
|
||||
},
|
||||
"image": {
|
||||
"label": {
|
||||
@@ -24,10 +24,14 @@
|
||||
},
|
||||
"placeholder": {
|
||||
"negPrompt": "在此输入提示。例如:人不是熊",
|
||||
"prompt": "在此输入提示。例如:以动漫风格跳舞的男人"
|
||||
"prompt": "在此输入提示。例如:以动漫风格跳舞的男人",
|
||||
"selectStyle": "未选择"
|
||||
},
|
||||
"thumbtip": {
|
||||
"styleStrength": "力量"
|
||||
},
|
||||
"title": {
|
||||
"selectStyle": "选择风格"
|
||||
}
|
||||
},
|
||||
"message": {
|
||||
|
||||
@@ -20,18 +20,21 @@ export type SelectModalData = {
|
||||
|
||||
interface SelectModalProps {
|
||||
label?: string;
|
||||
placeholder?: string;
|
||||
modalTitle?: string;
|
||||
value?: string | SelectModalData;
|
||||
onClear: () => void;
|
||||
forcedClose?: Date; //if you need to force close modal, supply date
|
||||
required?: boolean;
|
||||
children: ReactNode
|
||||
}
|
||||
|
||||
export default memo(function SelectModal ({
|
||||
label,
|
||||
// tabs,
|
||||
modalTitle = "Select",
|
||||
placeholder = "None selected",
|
||||
onClear,
|
||||
forcedClose,
|
||||
value:valueProps = "",
|
||||
required,
|
||||
children
|
||||
@@ -39,7 +42,7 @@ export default memo(function SelectModal ({
|
||||
const [isModalOpen, setModalOpen] = useState(false)
|
||||
const openModal = () => setModalOpen(true);
|
||||
const closeModal = () => setModalOpen(false);
|
||||
useEffect(closeModal, [valueProps]);
|
||||
useEffect(closeModal, [valueProps, forcedClose]);
|
||||
const value = typeof valueProps === "string" ? valueProps : valueProps.title;
|
||||
|
||||
return (
|
||||
@@ -60,7 +63,7 @@ export default memo(function SelectModal ({
|
||||
<Input
|
||||
disabled={true}
|
||||
wrapperClassName="w-100"
|
||||
placeholder="None selected"
|
||||
placeholder={placeholder}
|
||||
onClick={openModal}
|
||||
value={value}
|
||||
/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Override the $spacers variable
|
||||
$spacers: (
|
||||
0: 0,
|
||||
0: 0rem,
|
||||
1: 0.25rem,
|
||||
2: 0.5rem,
|
||||
3: 1rem,
|
||||
|
||||
+5
-1
@@ -26,12 +26,16 @@ import {
|
||||
landscapePreset,
|
||||
typogPreset,
|
||||
defaultPreset,
|
||||
} from "./cnPresets";
|
||||
} from "./dataCnPresets";
|
||||
|
||||
export default function SectionAdvanceOptions({
|
||||
debug,
|
||||
t,
|
||||
vstValues: vstVal,
|
||||
onChange: handleOnChange,
|
||||
}: {
|
||||
debug?: boolean;
|
||||
t: Function;
|
||||
vstValues: VSTType;
|
||||
onChange: (val: {
|
||||
[key: string]: number | string | boolean | undefined;
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
import React, {useRef, useState} from 'react';
|
||||
|
||||
import {
|
||||
MasonryGrid,
|
||||
WeightsCards }
|
||||
from 'components/common';
|
||||
import { SelectModalV2 } from "components/common/SelectModal";
|
||||
import { WeightCategory } from "@storyteller/components/src/api/_common/enums/WeightCategory";
|
||||
|
||||
import styleModels from './dataStyleModels';
|
||||
|
||||
export default function CompStyleModal({
|
||||
debug,
|
||||
t,
|
||||
value,
|
||||
onChange,
|
||||
}:{
|
||||
debug?: boolean;
|
||||
t: Function;
|
||||
value: string;
|
||||
onChange: (val: {
|
||||
[key: string]: number | string | boolean | undefined;
|
||||
}) => void;
|
||||
}){
|
||||
const gridContainerRef = useRef<HTMLDivElement | null>(null);
|
||||
const [onSelectTimeStamp, setOnSelectTimeStamp] = useState<Date>(new Date());
|
||||
return(
|
||||
<SelectModalV2
|
||||
modalTitle={t("input.title.selectStyle")}
|
||||
label={t("input.label.selectStyle")}
|
||||
value={value}
|
||||
placeholder={t("input.placeholder.selectStyle")}
|
||||
forcedClose={onSelectTimeStamp}
|
||||
onClear={()=>onChange({
|
||||
sdModelToken: "",
|
||||
sdModelTitle: "",
|
||||
})}
|
||||
>
|
||||
<MasonryGrid
|
||||
gridRef={gridContainerRef}
|
||||
onLayoutComplete={() => {if(debug)console.log("Layout complete!")}}
|
||||
>
|
||||
{styleModels.map((data: any, key: number) => {
|
||||
const weightProps: any = {
|
||||
data,
|
||||
type: "weights",
|
||||
inSelectModal: true,
|
||||
onResultSelect: (data: any)=>{
|
||||
onChange({
|
||||
sdModelToken:data.token,
|
||||
sdModelTitle: data.title,
|
||||
})
|
||||
setOnSelectTimeStamp(new Date());
|
||||
}
|
||||
};
|
||||
console.log(data);
|
||||
return (
|
||||
<div key={key}
|
||||
className="col-12 col-sm-6 col-xl-4 grid-item"
|
||||
>
|
||||
<WeightsCards
|
||||
type={WeightCategory.SD}
|
||||
props={weightProps}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</MasonryGrid>
|
||||
</SelectModalV2>
|
||||
);
|
||||
|
||||
}
|
||||
File renamed without changes.
+2
-2
@@ -1,5 +1,5 @@
|
||||
import { defaultPreset as defaultCN } from "./cnPresets";
|
||||
import styleModels from "./styleModel";
|
||||
import { defaultPreset as defaultCN } from "./dataCnPresets";
|
||||
import styleModels from "./dataStyleModels";
|
||||
export {initialValues, hiddenValues};
|
||||
const initialValues = {
|
||||
//files Settings
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
const styleModels = [
|
||||
{
|
||||
"weight_token": "weight_yqexh77ntqyawzgh9fzash798",
|
||||
"weight_type": "sd_1.5",
|
||||
"weight_category": "image_generation",
|
||||
"title": "Flat2D Animerge v3",
|
||||
"maybe_cover_image_public_bucket_path": "/media/2/t/5/a/q/2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n/upload_2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n.png",
|
||||
"cover_image": {
|
||||
"maybe_cover_image_public_bucket_path": "/media/2/t/5/a/q/2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n/upload_2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n.png",
|
||||
"default_cover": {
|
||||
"image_index": 16,
|
||||
"color_index": 2
|
||||
}
|
||||
},
|
||||
"creator": {
|
||||
"user_token": "U:38X9ACM68GFK7",
|
||||
"username": "crossproduct1",
|
||||
"display_name": "crossproduct1",
|
||||
"gravatar_hash": "e7cc43eed149c304c917383c665fe9e2",
|
||||
"default_avatar": {
|
||||
"image_index": 4,
|
||||
"color_index": 8
|
||||
}
|
||||
},
|
||||
"creator_set_visibility": "public",
|
||||
"file_size_bytes": 0,
|
||||
"file_checksum_sha2": "5dd56bfa12e9ea2f1f3e86a04d0d2cde06a58f2cdf3bfc46cbff6aaa8f00921d",
|
||||
"creator_username": "crossproduct1",
|
||||
"creator_display_name": "crossproduct1",
|
||||
"creator_email_gravatar_hash": "e7cc43eed149c304c917383c665fe9e2",
|
||||
"stats": {
|
||||
"positive_rating_count": 2,
|
||||
"bookmark_count": 1
|
||||
},
|
||||
"created_at": "2024-02-28T21:00:43Z",
|
||||
"updated_at": "2024-02-28T21:00:43Z"
|
||||
},
|
||||
// {
|
||||
// "weight_token": "weight_vbz0wq7wkv80casj3vfptrrpg",
|
||||
// "title": "Aniverse V15 Pruned",
|
||||
// "weight_type": "sd_1.5",
|
||||
// "weight_category": "image_generation",
|
||||
// "description_markdown": "Used In Ghibli Style with Ghubli Lora",
|
||||
// "description_rendered_html": "",
|
||||
// "creator": {
|
||||
// "user_token": "U:38X9ACM68GFK7",
|
||||
// "username": "crossproduct1",
|
||||
// "display_name": "crossproduct1",
|
||||
// "gravatar_hash": "e7cc43eed149c304c917383c665fe9e2",
|
||||
// "default_avatar": {
|
||||
// "image_index": 4,
|
||||
// "color_index": 8
|
||||
// }
|
||||
// },
|
||||
// "creator_set_visibility": "public",
|
||||
// "file_size_bytes": 0,
|
||||
// "file_checksum_sha2": "3335ce7830ff1de58ba1b120c91091935c8e84581244f63c94d01eeb53d42797",
|
||||
// "cover_image": {
|
||||
// "maybe_cover_image_public_bucket_path": "/media/3/x/5/z/5/3x5z550m80v7cz0x23jmb7aerbwasq71/upload_3x5z550m80v7cz0x23jmb7aerbwasq71.png",
|
||||
// "default_cover": {
|
||||
// "image_index": 1,
|
||||
// "color_index": 5
|
||||
// }
|
||||
// },
|
||||
// "maybe_cover_image_public_bucket_path": "/media/3/x/5/z/5/3x5z550m80v7cz0x23jmb7aerbwasq71/upload_3x5z550m80v7cz0x23jmb7aerbwasq71.png",
|
||||
// "stats": {
|
||||
// "positive_rating_count": 1,
|
||||
// "bookmark_count": 1
|
||||
// },
|
||||
// "version": 0,
|
||||
// "created_at": "2024-02-29T19:49:52Z",
|
||||
// "updated_at": "2024-02-29T19:49:52Z"
|
||||
// }
|
||||
]
|
||||
|
||||
export default styleModels;
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
import { hiddenValues } from "./defaultValues";
|
||||
import { hiddenValues } from "./dataDefaultValues";
|
||||
|
||||
export type VSTType = {
|
||||
// File Settings
|
||||
|
||||
+36
-40
@@ -2,22 +2,21 @@ import React, { useState } from "react";
|
||||
import { NavLink } from "react-router-dom";
|
||||
import { useParams, useHistory } from "react-router-dom";
|
||||
|
||||
import { Button, Panel, TextArea, WeightsCards } from "components/common";
|
||||
import { Button, Panel, TextArea } from "components/common";
|
||||
import VideoQuickTrim, {
|
||||
QuickTrimData,
|
||||
} from "components/common/VideoQuickTrim";
|
||||
import { SelectModalV2 } from "components/common/SelectModal";
|
||||
import EnqueueVideoStyleTransfer from "@storyteller/components/src/api/video_styleTransfer";
|
||||
|
||||
import { Action, State } from "../../reducer";
|
||||
import { initialValues } from "./defaultValues";
|
||||
import { initialValues } from "./dataDefaultValues";
|
||||
import { mapRequest, VSTType } from "./helpers";
|
||||
|
||||
import styleModels from "./styleModel";
|
||||
import SectionAdvanceOptions from "./sectionAdvanceOptions";
|
||||
import CompStyleModal from "./compStyleModal";
|
||||
import CompAdvanceOptions from "./compAdvanceOptions";
|
||||
|
||||
export default function PageVSTApp({
|
||||
debug,
|
||||
debug: debugProps,
|
||||
t,
|
||||
pageState,
|
||||
dispatchPageState,
|
||||
@@ -29,6 +28,7 @@ export default function PageVSTApp({
|
||||
parentPath: string;
|
||||
dispatchPageState: (action: Action) => void;
|
||||
}) {
|
||||
const debug = debugProps || true;
|
||||
const { mediaToken } = useParams<any>();
|
||||
|
||||
const [vstValues, setVstValues] = useState<VSTType>({
|
||||
@@ -109,51 +109,26 @@ export default function PageVSTApp({
|
||||
}}
|
||||
/>
|
||||
|
||||
<SelectModalV2
|
||||
modalTitle="Select Styles"
|
||||
label="Select Style"
|
||||
<CompStyleModal
|
||||
debug={debug}
|
||||
t={t}
|
||||
value={vstValues.sdModelTitle}
|
||||
onClear={() => {
|
||||
setVstValues(curr => ({
|
||||
...curr,
|
||||
sdModelToken: "",
|
||||
}));
|
||||
}}
|
||||
>
|
||||
{styleModels.map((data: any, key: number) => {
|
||||
const weightProps = { data };
|
||||
console.log(data);
|
||||
return (
|
||||
<WeightsCards type="image_generation" props={weightProps} />
|
||||
);
|
||||
})}
|
||||
</SelectModalV2>
|
||||
|
||||
<SectionAdvanceOptions
|
||||
onChange={handleOnChange}
|
||||
/>
|
||||
<CompAdvanceOptions
|
||||
debug={debug}
|
||||
t={t}
|
||||
onChange={handleOnChange}
|
||||
vstValues={vstValues}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
{/* <div className="row g-3 mt-4">
|
||||
<SectionAdvanceOptions
|
||||
onChange={handleOnChange}
|
||||
vstValues={vstValues}
|
||||
/>
|
||||
</div> */}
|
||||
|
||||
<div className="row g-3 mt-4">
|
||||
<div className="col-12 d-flex justify-content-between">
|
||||
<NavLink to={`${parentPath}`}>
|
||||
<Button label={t("button.cancel")} variant="secondary" />
|
||||
</NavLink>
|
||||
{/* <Button
|
||||
label="Fake Gen"
|
||||
onClick={()=>{
|
||||
const request = mapRequest(vstValues);
|
||||
console.log(request);
|
||||
}}
|
||||
variant="secondary"
|
||||
/> */}
|
||||
<Button
|
||||
label={t("button.enqueue")}
|
||||
onClick={handleGenerate}
|
||||
@@ -161,6 +136,27 @@ export default function PageVSTApp({
|
||||
disabled={vstValues.trimEnd === 0}
|
||||
/>
|
||||
</div>
|
||||
{debug &&
|
||||
<div className="col-12 d-flex justify-content-end align-items-center">
|
||||
<p className="me-3"><b>Debug Values: </b></p>
|
||||
<Button
|
||||
className="me-3"
|
||||
label="Console Log State"
|
||||
onClick={()=>{
|
||||
console.log(vstValues);
|
||||
}}
|
||||
variant="secondary"
|
||||
/>
|
||||
<Button
|
||||
label="Console Log Request"
|
||||
onClick={()=>{
|
||||
const request = mapRequest(vstValues);
|
||||
console.log(request);
|
||||
}}
|
||||
variant="secondary"
|
||||
/>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</Panel>
|
||||
);
|
||||
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
const styleModels = [
|
||||
{
|
||||
"weight_token": "weight_yqexh77ntqyawzgh9fzash798",
|
||||
"weight_type": "sd_1.5",
|
||||
"weight_category": "image_generation",
|
||||
"title": "Flat2D Animerge v3",
|
||||
"maybe_cover_image_public_bucket_path": "/media/2/t/5/a/q/2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n/upload_2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n.png",
|
||||
"cover_image": {
|
||||
"maybe_cover_image_public_bucket_path": "/media/2/t/5/a/q/2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n/upload_2t5aq2nvtdt4zcfvmx8xm6xqzg0tka7n.png",
|
||||
"default_cover": {
|
||||
"image_index": 16,
|
||||
"color_index": 2
|
||||
}
|
||||
},
|
||||
"creator": {
|
||||
"user_token": "U:38X9ACM68GFK7",
|
||||
"username": "crossproduct1",
|
||||
"display_name": "crossproduct1",
|
||||
"gravatar_hash": "e7cc43eed149c304c917383c665fe9e2",
|
||||
"default_avatar": {
|
||||
"image_index": 4,
|
||||
"color_index": 8
|
||||
}
|
||||
},
|
||||
"creator_set_visibility": "public",
|
||||
"file_size_bytes": 0,
|
||||
"file_checksum_sha2": "5dd56bfa12e9ea2f1f3e86a04d0d2cde06a58f2cdf3bfc46cbff6aaa8f00921d",
|
||||
"creator_username": "crossproduct1",
|
||||
"creator_display_name": "crossproduct1",
|
||||
"creator_email_gravatar_hash": "e7cc43eed149c304c917383c665fe9e2",
|
||||
"stats": {
|
||||
"positive_rating_count": 2,
|
||||
"bookmark_count": 1
|
||||
},
|
||||
"created_at": "2024-02-28T21:00:43Z",
|
||||
"updated_at": "2024-02-28T21:00:43Z"
|
||||
},
|
||||
]
|
||||
|
||||
export default styleModels;
|
||||
|
||||
Reference in new issue
Block a user