mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 09:28:11 +00:00
Merge pull request #652 from storytold/rename-to-lipsync-liveportrait
renamed Face Animator to Lipsync, AI Face Mirror to Live Portrait
This commit is contained in:
12 files changed
+54
-26
No files matched your search
@@ -19,10 +19,10 @@
|
||||
"heroButtonUpgradePlan": "Upgrade Plan",
|
||||
"heroText": "Use FakeYou's deepfake technology to generate audio or videos of your favorite characters saying anything you want.",
|
||||
"heroTitle": "AI Music, Text to Speech, and Voice to Voice",
|
||||
"productFaceAnimatorText": "Animate faces with audio",
|
||||
"productFaceAnimatorTitle": "Face Animator",
|
||||
"productFaceMirrorText": "Transfer motion & audio between portaits",
|
||||
"productFaceMirrorTitle": "AI Face Mirror",
|
||||
"productLipsyncText": "Animate faces with audio",
|
||||
"productLipsyncTitle": "Lipsync",
|
||||
"productLivePortraitText": "Transfer motion & audio between portaits",
|
||||
"productLivePortraitTitle": "Live Portrait",
|
||||
"productImageGenText": "Create images from text",
|
||||
"productImageGenTitle": "Text to Image",
|
||||
"productNewTag": "NEW",
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"headings": {
|
||||
"audio": "Audio",
|
||||
"image": "Image",
|
||||
"subtitle": "Select and image with a clear face, and an audio sample, and generate a lipsynced video.",
|
||||
"title": "Lipsync"
|
||||
},
|
||||
"inputs": {
|
||||
"downloadFile": "Download File",
|
||||
"generate": "Generate",
|
||||
"makeAnother": "Make another",
|
||||
"viewResult": "View result",
|
||||
"yourJobs": "Your jobs"
|
||||
},
|
||||
"status": {
|
||||
"animationComplete": "Animation complete!",
|
||||
"animationDead": "Animation request dead",
|
||||
"animationFailed": "Animation failed {{attemptCount}} attempt(s). Will retry...",
|
||||
"animationInProgress": "Animation in progress",
|
||||
"animationPending": "Animation pending...",
|
||||
"animationSuccess": "Animation successful",
|
||||
"requestingAnimation": "Requesting Animation",
|
||||
"uploadingAudio": "Uploading Audio",
|
||||
"uploadingImage": "Uploading Image"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@
|
||||
"communityTitle": "Community",
|
||||
"communityUploadModels": "Upload Models",
|
||||
"infoPricing": "Pricing",
|
||||
"lipsync": "Lipsync",
|
||||
"logOutButton": "Log Out",
|
||||
"loginButton": "Login",
|
||||
"profileButton": "Profile",
|
||||
@@ -23,4 +24,4 @@
|
||||
"videoTitle": "Video Generation",
|
||||
"videoW2l": "Video Lip Sync",
|
||||
"videoWorkflow": "Video Workflow"
|
||||
}
|
||||
}
|
||||
@@ -14,9 +14,10 @@
|
||||
"infoTitle": "Info",
|
||||
"pricingTitle": "Pricing",
|
||||
"productFaceAnimator": "Face Animator",
|
||||
"productLipsync": "Lipsync",
|
||||
"productTts": "Text to Speech",
|
||||
"productUploadModels": "Upload Models",
|
||||
"productVc": "Voice to Voice",
|
||||
"productVideo": "Video Lip Sync",
|
||||
"productsTitle": "AI Tools"
|
||||
}
|
||||
}
|
||||
@@ -470,7 +470,7 @@ export default function SideNav({
|
||||
icon={faFaceViewfinder}
|
||||
className="sidebar-heading-icon"
|
||||
/>
|
||||
{t("videoFaceAnimator")}
|
||||
{t("lipsync")}
|
||||
</NavLink>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -721,7 +721,7 @@ export default function TopNav({
|
||||
icon={faFaceViewfinder}
|
||||
className="sidebar-heading-icon"
|
||||
/>
|
||||
{t("videoFaceAnimator")}
|
||||
{t("productLipsync")}
|
||||
</NavLink>
|
||||
</li>
|
||||
|
||||
|
||||
+2
-2
@@ -29,7 +29,7 @@ export default function AIFaceMirrorCTA({ className }: Props) {
|
||||
<div {...{ className: "cta-ai-face-mirror-tint" }}></div>
|
||||
<div {...{ className: "cta-ai-face-mirror-overlay" }}>
|
||||
<div {...{ className: "cta-ai-face-mirror-copy" }}>
|
||||
<h1 className="fw-bold">AI Face Mirror</h1>
|
||||
<h1 className="fw-bold">Live Portrait</h1>
|
||||
<p>Reflect motion from one portrait to another</p>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@ export default function AIFaceMirrorCTA({ className }: Props) {
|
||||
{...{
|
||||
className: "cta-ai-face-mirror-button",
|
||||
label: "Create now",
|
||||
to: "/ai-face-mirror",
|
||||
// to: "/ai-face-mirror",
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -34,10 +34,10 @@ export default function AITools() {
|
||||
},
|
||||
{
|
||||
to: "/face-animator",
|
||||
title: t("productFaceAnimatorTitle"),
|
||||
text: t("productFaceAnimatorText"),
|
||||
title: t("productLipsyncTitle"),
|
||||
text: t("productLipsyncText"),
|
||||
imgSrc: "/images/landing/select-fa.webp",
|
||||
imgAlt: "Face Animator",
|
||||
imgAlt: "Lipsync",
|
||||
},
|
||||
{
|
||||
to: "/style-video",
|
||||
@@ -53,10 +53,10 @@ export default function AITools() {
|
||||
},
|
||||
{
|
||||
to: "/ai-face-mirror",
|
||||
title: t("productFaceMirrorTitle"),
|
||||
text: t("productFaceMirrorText"),
|
||||
title: t("productLivePortraitTitle"),
|
||||
text: t("productLivePortraitText"),
|
||||
imgSrc: "/images/landing/select-fm.webp",
|
||||
imgAlt: "AI Face Mirror",
|
||||
imgAlt: "Live Portrait",
|
||||
badgeContent: {
|
||||
type: "new",
|
||||
icon: faSparkles,
|
||||
|
||||
@@ -260,7 +260,7 @@ function TopNav(props: Props) {
|
||||
icon={faFaceViewfinder}
|
||||
className="me-2"
|
||||
/>
|
||||
{t("productFaceAnimator")}
|
||||
{t("productLipsync")}
|
||||
</Link>
|
||||
</li>
|
||||
<hr className="my-2" />
|
||||
|
||||
@@ -91,7 +91,7 @@ export default function AIFaceMirror({ sessionSubscriptionsWrapper }: Props) {
|
||||
</video>
|
||||
<div {...{ className: "fy-ai-face-mirror-header-content" }}>
|
||||
<div {...{ className: "fy-ai-face-mirror-title" }}>
|
||||
<h1>AI Face Mirror</h1>
|
||||
<h1>Live Portrait</h1>
|
||||
<p>
|
||||
Use AI to transfer facial expressions, audio, and vocals from
|
||||
one face video to an image or a video
|
||||
|
||||
+6
-6
@@ -30,10 +30,10 @@ export default function CreatorToolsPage(props: CreatorToolsPageProps) {
|
||||
const videoProducts = [
|
||||
{
|
||||
to: "/face-animator",
|
||||
title: t("productFaceAnimatorTitle"),
|
||||
text: t("productFaceAnimatorText"),
|
||||
title: t("productLipsyncTitle"),
|
||||
text: t("productLipsyncText"),
|
||||
imgSrc: "/images/landing/select-fa.webp",
|
||||
imgAlt: "Face Animator",
|
||||
imgAlt: "Lipsync",
|
||||
},
|
||||
// {
|
||||
// to: "/text-to-image",
|
||||
@@ -62,10 +62,10 @@ export default function CreatorToolsPage(props: CreatorToolsPageProps) {
|
||||
|
||||
{
|
||||
to: "/ai-face-mirror",
|
||||
title: t("productFaceMirrorTitle"),
|
||||
text: t("productFaceMirrorText"),
|
||||
title: t("productLivePortraitTitle"),
|
||||
text: t("productLivePortraitText"),
|
||||
imgSrc: "/images/landing/select-fm.webp",
|
||||
imgAlt: "AI Face Mirror",
|
||||
imgAlt: "Live Portrait",
|
||||
badgeContent: {
|
||||
type: "new",
|
||||
icon: faSparkles,
|
||||
|
||||
@@ -37,8 +37,8 @@ export default function FaceAnimator({
|
||||
}: FaceAnimatorCore) {
|
||||
const { mediaToken } = useParams<{ mediaToken: string }>();
|
||||
const { media: presetAudio } = useMedia({ mediaToken });
|
||||
const { t } = useLocalize("FaceAnimator");
|
||||
usePrefixedDocumentTitle("AI Face Animator");
|
||||
const { t } = useLocalize("Lipsync");
|
||||
usePrefixedDocumentTitle("Lipsync");
|
||||
|
||||
// the ready states are set by functions which run after the upload input animation is completed, which then illuminates the respective checkmark in a staggered way to draw attention to the workflow, and reduces concurrent animations
|
||||
|
||||
|
||||
Reference in new issue
Block a user