From f954c17de8d1523e3951769d3e7716fd80f3fc33 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 7 Dec 2023 02:02:39 -0500 Subject: [PATCH 1/3] route to TTS results or media file results based on token moving TTS results to media files --- .../SessionTtsInferenceResultsList.tsx | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx b/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx index 2f35b63462..8632af0baf 100644 --- a/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx +++ b/packages/fakeyou.com/src/v2/view/_common/SessionTtsInferenceResultsList.tsx @@ -123,7 +123,15 @@ function SessionTtsInferenceResultList(props: Props) { let audioLink = new BucketConfig().getGcsUrl( job.maybeResultPublicBucketMediaPath ); - let ttsPermalink = `/tts/result/${job.maybeResultToken}`; + + // NB(bt,2023-12-07): We're migrating TTS results from the "tts_results" table (token + // prefix "TR:") to the "media_files" table (token prefix "m_") + let ttsPermalink; + if ((job.maybeResultToken || "").startsWith("m_")) { + ttsPermalink = `/media/${job.maybeResultToken}`; + } else { + ttsPermalink = `/tts/result/${job.maybeResultToken}`; + } let wavesurfers = ; @@ -229,7 +237,14 @@ function SessionTtsInferenceResultList(props: Props) { let audioLink = new BucketConfig().getGcsUrl( job.maybePublicBucketWavAudioPath ); - let ttsPermalink = `/tts/result/${job.maybeResultToken}`; + // NB(bt,2023-12-07): We're migrating TTS results from the "tts_results" table (token + // prefix "TR:") to the "media_files" table (token prefix "m_") + let ttsPermalink; + if ((job.maybeResultToken || "").startsWith("m_")) { + ttsPermalink = `/media/${job.maybeResultToken}`; + } else { + ttsPermalink = `/tts/result/${job.maybeResultToken}`; + } let wavesurfers = ; From 743a25d88d2f4b8b8f362d5895c75aa41845bfa0 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 8 Dec 2023 05:16:04 -0500 Subject: [PATCH 2/3] media file support for face animator (hacky) --- .../view/pages/face_animator/FaceAnimator.tsx | 49 ++++++++++++++++--- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/packages/fakeyou.com/src/v2/view/pages/face_animator/FaceAnimator.tsx b/packages/fakeyou.com/src/v2/view/pages/face_animator/FaceAnimator.tsx index 80470943d3..ce5ca3aca7 100644 --- a/packages/fakeyou.com/src/v2/view/pages/face_animator/FaceAnimator.tsx +++ b/packages/fakeyou.com/src/v2/view/pages/face_animator/FaceAnimator.tsx @@ -80,19 +80,52 @@ export default function FaceAnimator({ enqueueInferenceJob, sessionSubscription .then((responses) => { if ("upload_token" in responses.image) { indexSet(3); // set face animator API working page - return EnqueueFaceAnimation({ + + // NB(bt,2023-12-08): We currently still have "media_files" and "media_uploads" as distinct backend record + // types (and APIs for each). One of our ongoing tasks is to phase out media_uploads entirely and make + // everything a media_file. + // + // Since the flow for this code is somewhat rigid, we're going to change the token type based on the token + // structure. Ordinarily this should **NEVER** be done, but hopefully this migration state is short enough + // that we won't need to worry about multiple token formats for long. + // + // Tokens starting with: + // + // m_* => media file tokens + // mu_* => media upload tokens + // + const audioIsMediaFile = responses.audio.upload_token.startsWith("m_"); + const imageIsMediaFile = responses.image.upload_token.startsWith("m_"); + + let request : any = { uuid_idempotency_token: uuidv4(), - audio_source: { - maybe_media_upload_token: responses.audio.upload_token, - }, - image_source: { - maybe_media_upload_token: responses.image.upload_token, - }, + audio_source: undefined, + image_source: undefined, + //audio_source: { + // maybe_media_upload_token: responses.audio.upload_token, + //}, + //image_source: { + // maybe_media_upload_token: responses.image.upload_token, + //}, make_still: still, disable_face_enhancement: disableFaceEnhancement, remove_watermark: removeWatermark, dimensions: frameDimensions, - }); + }; + + if (audioIsMediaFile) { + request.audio_source = { maybe_media_file_token: responses.audio.upload_token }; + } else { + request.audio_source = { maybe_media_upload_token: responses.audio.upload_token }; + } + + if (imageIsMediaFile) { + request.image_source = { maybe_media_file_token: responses.image.upload_token }; + } else { + request.image_source = { maybe_media_upload_token: responses.image.upload_token }; + } + + return EnqueueFaceAnimation(request); } }) .then((res) => { From 13222be1d656e2e8875042bdce5b7f4ecab365e4 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 8 Dec 2023 05:57:41 -0500 Subject: [PATCH 3/3] broken URLs --- .../components/layout/InferenceJobsList/InferenceJobsList.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fakeyou.com/src/components/layout/InferenceJobsList/InferenceJobsList.tsx b/packages/fakeyou.com/src/components/layout/InferenceJobsList/InferenceJobsList.tsx index 2acd014f4e..ebb520e099 100644 --- a/packages/fakeyou.com/src/components/layout/InferenceJobsList/InferenceJobsList.tsx +++ b/packages/fakeyou.com/src/components/layout/InferenceJobsList/InferenceJobsList.tsx @@ -109,7 +109,7 @@ export default function InferenceJobsList({ filter, onSelect, statusTxt, t, infe { job.maybeResultToken ?