@adminide-stack/yantra-mobile 12.0.129-alpha.0 → 12.0.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/compute.js +57 -1
- package/lib/compute.js.map +1 -1
- package/lib/features/agent-chat/NativeAgentChat.js +3 -2
- package/lib/features/agent-chat/NativeAgentChat.js.map +1 -1
- package/lib/features/apps/AppsCatalog.js +10 -0
- package/lib/features/apps/AppsCatalog.js.map +1 -1
- package/lib/features/apps/mobileAppCatalog.js +11 -0
- package/lib/features/apps/mobileAppCatalog.js.map +1 -1
- package/lib/features/canvas/AudioEditorExperience.js +448 -105
- package/lib/features/canvas/AudioEditorExperience.js.map +1 -1
- package/lib/features/canvas/CanvasAgentChatPane.js +33 -14
- package/lib/features/canvas/CanvasAgentChatPane.js.map +1 -1
- package/lib/features/canvas/CanvasBoardsGrid.js +493 -41
- package/lib/features/canvas/CanvasBoardsGrid.js.map +1 -1
- package/lib/features/canvas/CanvasChatResultCard.js.map +1 -1
- package/lib/features/canvas/CanvasEditToolsPanel.js +37 -1
- package/lib/features/canvas/CanvasEditToolsPanel.js.map +1 -1
- package/lib/features/canvas/CanvasExperience.js +237 -22
- package/lib/features/canvas/CanvasExperience.js.map +1 -1
- package/lib/features/canvas/CanvasGeneratePanel.js +119 -26
- package/lib/features/canvas/CanvasGeneratePanel.js.map +1 -1
- package/lib/features/canvas/CanvasLooksPanel.js +17 -6
- package/lib/features/canvas/CanvasLooksPanel.js.map +1 -1
- package/lib/features/canvas/CanvasTasksPanel.js +18 -1
- package/lib/features/canvas/CanvasTasksPanel.js.map +1 -1
- package/lib/features/canvas/DesignCategoryGallery.js +423 -0
- package/lib/features/canvas/DesignCategoryGallery.js.map +1 -0
- package/lib/features/canvas/ImageEditorExperience.js +763 -187
- package/lib/features/canvas/ImageEditorExperience.js.map +1 -1
- package/lib/features/canvas/SetStudioExperience.js +199 -11
- package/lib/features/canvas/SetStudioExperience.js.map +1 -1
- package/lib/features/canvas/VideoEditorExperience.js +59 -40
- package/lib/features/canvas/VideoEditorExperience.js.map +1 -1
- package/lib/features/canvas/VideoGeneratorExperience.js +134 -34
- package/lib/features/canvas/VideoGeneratorExperience.js.map +1 -1
- package/lib/features/canvas/aiEdit.js +4 -2
- package/lib/features/canvas/aiEdit.js.map +1 -1
- package/lib/features/canvas/audioEditor/AudioWaveform.js +96 -0
- package/lib/features/canvas/audioEditor/AudioWaveform.js.map +1 -0
- package/lib/features/canvas/audioEditor/audioPeaks.js +93 -0
- package/lib/features/canvas/audioEditor/audioPeaks.js.map +1 -0
- package/lib/features/canvas/canvasTaskSync.js +34 -7
- package/lib/features/canvas/canvasTaskSync.js.map +1 -1
- package/lib/features/canvas/canvasTasks.js +23 -3
- package/lib/features/canvas/canvasTasks.js.map +1 -1
- package/lib/features/canvas/canvasTheme.js +10 -24
- package/lib/features/canvas/canvasTheme.js.map +1 -1
- package/lib/features/canvas/canvasUi.js +1 -1
- package/lib/features/canvas/canvasUi.js.map +1 -1
- package/lib/features/canvas/createTiles.js +17 -9
- package/lib/features/canvas/createTiles.js.map +1 -1
- package/lib/features/canvas/deepLinks.js +35 -5
- package/lib/features/canvas/deepLinks.js.map +1 -1
- package/lib/features/canvas/designCatalog.js +165 -0
- package/lib/features/canvas/designCatalog.js.map +1 -0
- package/lib/features/canvas/designCategories.js +262 -0
- package/lib/features/canvas/designCategories.js.map +1 -0
- package/lib/features/canvas/editorControls.js +406 -0
- package/lib/features/canvas/editorControls.js.map +1 -0
- package/lib/features/canvas/generationModels.js +5 -3
- package/lib/features/canvas/generationModels.js.map +1 -1
- package/lib/features/canvas/generationTasks.js +162 -0
- package/lib/features/canvas/generationTasks.js.map +1 -0
- package/lib/features/canvas/generator/BottomSheet.js +167 -0
- package/lib/features/canvas/generator/BottomSheet.js.map +1 -0
- package/lib/features/canvas/generator/BusinessCardChatCard.js +155 -0
- package/lib/features/canvas/generator/BusinessCardChatCard.js.map +1 -0
- package/lib/features/canvas/generator/DirectorSheet.js +163 -0
- package/lib/features/canvas/generator/DirectorSheet.js.map +1 -0
- package/lib/features/canvas/generator/ReframePreview.js +122 -0
- package/lib/features/canvas/generator/ReframePreview.js.map +1 -0
- package/lib/features/canvas/generator/RunLogCard.js +119 -0
- package/lib/features/canvas/generator/RunLogCard.js.map +1 -0
- package/lib/features/canvas/generator/ShotPanel.js +261 -0
- package/lib/features/canvas/generator/ShotPanel.js.map +1 -0
- package/lib/features/canvas/generator/businessCardWidget.js +117 -0
- package/lib/features/canvas/generator/businessCardWidget.js.map +1 -0
- package/lib/features/canvas/generator/cameraVocabulary.js +142 -0
- package/lib/features/canvas/generator/cameraVocabulary.js.map +1 -0
- package/lib/features/canvas/generator/cinematicVocabulary.js +416 -0
- package/lib/features/canvas/generator/cinematicVocabulary.js.map +1 -0
- package/lib/features/canvas/generator/direction.js +41 -0
- package/lib/features/canvas/generator/direction.js.map +1 -0
- package/lib/features/canvas/generator/reframeGeometry.js +108 -0
- package/lib/features/canvas/generator/reframeGeometry.js.map +1 -0
- package/lib/features/canvas/generator/runLog.js +71 -0
- package/lib/features/canvas/generator/runLog.js.map +1 -0
- package/lib/features/canvas/generator/shot.js +133 -0
- package/lib/features/canvas/generator/shot.js.map +1 -0
- package/lib/features/canvas/generator/useShotSpec.js +87 -0
- package/lib/features/canvas/generator/useShotSpec.js.map +1 -0
- package/lib/features/canvas/home/HeroComposer.js +214 -0
- package/lib/features/canvas/home/HeroComposer.js.map +1 -0
- package/lib/features/canvas/home/HeroMonitor.js +225 -0
- package/lib/features/canvas/home/HeroMonitor.js.map +1 -0
- package/lib/features/canvas/home/LookDetail.js +185 -0
- package/lib/features/canvas/home/LookDetail.js.map +1 -0
- package/lib/features/canvas/home/LoopingVideo.js +37 -0
- package/lib/features/canvas/home/LoopingVideo.js.map +1 -0
- package/lib/features/canvas/home/TemplatesGallery.js +253 -0
- package/lib/features/canvas/home/TemplatesGallery.js.map +1 -0
- package/lib/features/canvas/home/heroShots.js +100 -0
- package/lib/features/canvas/home/heroShots.js.map +1 -0
- package/lib/features/canvas/homeWork.js +62 -3
- package/lib/features/canvas/homeWork.js.map +1 -1
- package/lib/features/canvas/imageEditor/ImageMarkup.js +195 -0
- package/lib/features/canvas/imageEditor/ImageMarkup.js.map +1 -0
- package/lib/features/canvas/imageEditor/imageEditOps.js +367 -0
- package/lib/features/canvas/imageEditor/imageEditOps.js.map +1 -0
- package/lib/features/canvas/nativeViewerRegistry.js.map +1 -1
- package/lib/features/canvas/rankedCatalogSearch.js +375 -0
- package/lib/features/canvas/rankedCatalogSearch.js.map +1 -0
- package/lib/features/canvas/recorder/CameraRecorderExperience.js +68 -20
- package/lib/features/canvas/recorder/CameraRecorderExperience.js.map +1 -1
- package/lib/features/canvas/recorder/RecordingReview.js +272 -0
- package/lib/features/canvas/recorder/RecordingReview.js.map +1 -0
- package/lib/features/canvas/recorder/RecordingsList.js +179 -0
- package/lib/features/canvas/recorder/RecordingsList.js.map +1 -0
- package/lib/features/canvas/recorder/recorderOps.js +99 -0
- package/lib/features/canvas/recorder/recorderOps.js.map +1 -0
- package/lib/features/canvas/seedanceShowcase.js +314 -0
- package/lib/features/canvas/seedanceShowcase.js.map +1 -0
- package/lib/features/canvas/serverTasks.js +149 -15
- package/lib/features/canvas/serverTasks.js.map +1 -1
- package/lib/features/canvas/sessionRenewal.js +114 -0
- package/lib/features/canvas/sessionRenewal.js.map +1 -0
- package/lib/features/canvas/set/SetViewportWebView.js +34 -1
- package/lib/features/canvas/set/SetViewportWebView.js.map +1 -1
- package/lib/features/canvas/set/agent/setTurn.js +4 -2
- package/lib/features/canvas/set/agent/setTurn.js.map +1 -1
- package/lib/features/canvas/set/setPresets.js +85 -0
- package/lib/features/canvas/set/setPresets.js.map +1 -0
- package/lib/features/canvas/set/setProject.js +4 -1
- package/lib/features/canvas/set/setProject.js.map +1 -1
- package/lib/features/canvas/studioCatalog.js +59 -4
- package/lib/features/canvas/studioCatalog.js.map +1 -1
- package/lib/features/canvas/studioLooks.js +31 -4
- package/lib/features/canvas/studioLooks.js.map +1 -1
- package/lib/features/canvas/surfaceIndex.js +1 -14
- package/lib/features/canvas/surfaceIndex.js.map +1 -1
- package/lib/features/canvas/templateSearch.js +489 -0
- package/lib/features/canvas/templateSearch.js.map +1 -0
- package/lib/features/canvas/useCanvasSession.js +28 -6
- package/lib/features/canvas/useCanvasSession.js.map +1 -1
- package/lib/features/canvas/useStudioCatalogTemplates.js +41 -5
- package/lib/features/canvas/useStudioCatalogTemplates.js.map +1 -1
- package/lib/features/canvas/videoEditor/EditorPanels.js +531 -0
- package/lib/features/canvas/videoEditor/EditorPanels.js.map +1 -0
- package/lib/features/canvas/videoEditor/agent/AgentCutPane.js +48 -4
- package/lib/features/canvas/videoEditor/agent/AgentCutPane.js.map +1 -1
- package/lib/features/canvas/videoEditor/agent/agentLoop.js +2 -0
- package/lib/features/canvas/videoEditor/agent/agentLoop.js.map +1 -1
- package/lib/features/canvas/videoEditor/agent/brainClient.js +97 -27
- package/lib/features/canvas/videoEditor/agent/brainClient.js.map +1 -1
- package/lib/features/canvas/videoEditor/agent/cutTools.js +707 -3
- package/lib/features/canvas/videoEditor/agent/cutTools.js.map +1 -1
- package/lib/features/canvas/videoEditor/audioServices.js +165 -0
- package/lib/features/canvas/videoEditor/audioServices.js.map +1 -0
- package/lib/features/canvas/videoEditor/captions.js +144 -0
- package/lib/features/canvas/videoEditor/captions.js.map +1 -0
- package/lib/features/canvas/videoEditor/compileTimeline.js +24 -16
- package/lib/features/canvas/videoEditor/compileTimeline.js.map +1 -1
- package/lib/features/canvas/videoEditor/editorModel.js +12 -2
- package/lib/features/canvas/videoEditor/editorModel.js.map +1 -1
- package/lib/features/canvas/videoEditor/exportTask.js +89 -7
- package/lib/features/canvas/videoEditor/exportTask.js.map +1 -1
- package/lib/features/canvas/videoEditor/layers.js +117 -0
- package/lib/features/canvas/videoEditor/layers.js.map +1 -0
- package/lib/features/canvas/videoEditor/remoteMediaClient.js +45 -18
- package/lib/features/canvas/videoEditor/remoteMediaClient.js.map +1 -1
- package/lib/features/canvas/videoEditor/renderTimeline.js +18 -6
- package/lib/features/canvas/videoEditor/renderTimeline.js.map +1 -1
- package/lib/features/canvas/videoEditor/revoice.js +138 -0
- package/lib/features/canvas/videoEditor/revoice.js.map +1 -0
- package/lib/features/canvas/videoEditor/storageUpload.js +34 -0
- package/lib/features/canvas/videoEditor/storageUpload.js.map +1 -0
- package/lib/features/canvas/videoEditor/textMotion.js +109 -0
- package/lib/features/canvas/videoEditor/textMotion.js.map +1 -0
- package/lib/features/canvas/videoEditor/transitions.js +31 -0
- package/lib/features/canvas/videoEditor/transitions.js.map +1 -0
- package/lib/features/chat/TemplatesChatCards.js +8 -3
- package/lib/features/chat/TemplatesChatCards.js.map +1 -1
- package/lib/features/design/DesignEditorExperience.js +674 -644
- package/lib/features/design/DesignEditorExperience.js.map +1 -1
- package/lib/features/design/DesignExperience.js +285 -538
- package/lib/features/design/DesignExperience.js.map +1 -1
- package/lib/features/design/designCore.js +2 -212
- package/lib/features/design/designCore.js.map +1 -1
- package/lib/features/design/designIndex.js +1 -50
- package/lib/features/design/designIndex.js.map +1 -1
- package/lib/features/design/doc/aiDesign.js +247 -0
- package/lib/features/design/doc/aiDesign.js.map +1 -0
- package/lib/features/design/doc/artifacts.js +280 -0
- package/lib/features/design/doc/artifacts.js.map +1 -0
- package/lib/features/design/doc/chart.js +98 -0
- package/lib/features/design/doc/chart.js.map +1 -0
- package/lib/features/design/doc/crop.js +104 -0
- package/lib/features/design/doc/crop.js.map +1 -0
- package/lib/features/design/doc/curve.js +49 -0
- package/lib/features/design/doc/curve.js.map +1 -0
- package/lib/features/design/doc/docOps.js +397 -0
- package/lib/features/design/doc/docOps.js.map +1 -0
- package/lib/features/design/doc/findReplace.js +112 -0
- package/lib/features/design/doc/findReplace.js.map +1 -0
- package/lib/features/design/doc/fonts.js +79 -0
- package/lib/features/design/doc/fonts.js.map +1 -0
- package/lib/features/design/doc/frames.js +17 -0
- package/lib/features/design/doc/frames.js.map +1 -0
- package/lib/features/design/doc/geometry.js +133 -0
- package/lib/features/design/doc/geometry.js.map +1 -0
- package/lib/features/design/doc/imageAdjust.js +203 -0
- package/lib/features/design/doc/imageAdjust.js.map +1 -0
- package/lib/features/design/doc/legacyDoc.js +107 -0
- package/lib/features/design/doc/legacyDoc.js.map +1 -0
- package/lib/features/design/doc/newDoc.js +335 -0
- package/lib/features/design/doc/newDoc.js.map +1 -0
- package/lib/features/design/doc/pageRange.js +17 -0
- package/lib/features/design/doc/pageRange.js.map +1 -0
- package/lib/features/design/doc/pathScale.js +68 -0
- package/lib/features/design/doc/pathScale.js.map +1 -0
- package/lib/features/design/doc/qr.js +62 -0
- package/lib/features/design/doc/qr.js.map +1 -0
- package/lib/features/design/doc/shapes.js +366 -0
- package/lib/features/design/doc/shapes.js.map +1 -0
- package/lib/features/design/doc/sizes.js +230 -0
- package/lib/features/design/doc/sizes.js.map +1 -0
- package/lib/features/design/doc/textEffects.js +134 -0
- package/lib/features/design/doc/textEffects.js.map +1 -0
- package/lib/features/design/doc/textLayout.js +182 -0
- package/lib/features/design/doc/textLayout.js.map +1 -0
- package/lib/features/design/doc/types.js +30 -0
- package/lib/features/design/doc/types.js.map +1 -0
- package/lib/features/design/editor/AiPanel.js +194 -0
- package/lib/features/design/editor/AiPanel.js.map +1 -0
- package/lib/features/design/editor/ChartDataPanel.js +182 -0
- package/lib/features/design/editor/ChartDataPanel.js.map +1 -0
- package/lib/features/design/editor/CropOverlay.js +199 -0
- package/lib/features/design/editor/CropOverlay.js.map +1 -0
- package/lib/features/design/editor/DesignCanvas.js +363 -0
- package/lib/features/design/editor/DesignCanvas.js.map +1 -0
- package/lib/features/design/editor/ExportSheet.js +123 -0
- package/lib/features/design/editor/ExportSheet.js.map +1 -0
- package/lib/features/design/editor/FindReplacePanel.js +93 -0
- package/lib/features/design/editor/FindReplacePanel.js.map +1 -0
- package/lib/features/design/editor/ImageTools.js +188 -0
- package/lib/features/design/editor/ImageTools.js.map +1 -0
- package/lib/features/design/editor/LayerTools.js +485 -0
- package/lib/features/design/editor/LayerTools.js.map +1 -0
- package/lib/features/design/editor/PageStrip.js +203 -0
- package/lib/features/design/editor/PageStrip.js.map +1 -0
- package/lib/features/design/editor/Slideshow.js +97 -0
- package/lib/features/design/editor/Slideshow.js.map +1 -0
- package/lib/features/design/editor/ToolPanels.js +695 -0
- package/lib/features/design/editor/ToolPanels.js.map +1 -0
- package/lib/features/design/editor/controls.js +630 -0
- package/lib/features/design/editor/controls.js.map +1 -0
- package/lib/features/design/editor/useDesignSave.js +91 -0
- package/lib/features/design/editor/useDesignSave.js.map +1 -0
- package/lib/features/design/export/exportDesign.js +170 -0
- package/lib/features/design/export/exportDesign.js.map +1 -0
- package/lib/features/design/export/pdf.js +143 -0
- package/lib/features/design/export/pdf.js.map +1 -0
- package/lib/features/design/home/DesignHome.js +688 -0
- package/lib/features/design/home/DesignHome.js.map +1 -0
- package/lib/features/design/home/studioHome.js +61 -0
- package/lib/features/design/home/studioHome.js.map +1 -0
- package/lib/features/design/pickDesignImage.js +60 -0
- package/lib/features/design/pickDesignImage.js.map +1 -0
- package/lib/features/design/render/DesignPageView.js +69 -0
- package/lib/features/design/render/DesignPageView.js.map +1 -0
- package/lib/features/design/render/PageCapture.js +288 -0
- package/lib/features/design/render/PageCapture.js.map +1 -0
- package/lib/features/design/render/TextMeasure.js +115 -0
- package/lib/features/design/render/TextMeasure.js.map +1 -0
- package/lib/features/design/render/fontRegistry.js +110 -0
- package/lib/features/design/render/fontRegistry.js.map +1 -0
- package/lib/features/design/render/layers.js +392 -0
- package/lib/features/design/render/layers.js.map +1 -0
- package/lib/features/design/render/svg.js +35 -0
- package/lib/features/design/render/svg.js.map +1 -0
- package/lib/features/design/render/svgParts.js +435 -0
- package/lib/features/design/render/svgParts.js.map +1 -0
- package/lib/features/design/surface/BoardScreen.js +529 -0
- package/lib/features/design/surface/BoardScreen.js.map +1 -0
- package/lib/features/design/surface/CompareView.js +138 -0
- package/lib/features/design/surface/CompareView.js.map +1 -0
- package/lib/features/design/surface/CreationScreen.js +294 -0
- package/lib/features/design/surface/CreationScreen.js.map +1 -0
- package/lib/features/design/surface/DesignAgentChatPane.js +444 -0
- package/lib/features/design/surface/DesignAgentChatPane.js.map +1 -0
- package/lib/features/design/surface/DesignBoards.js +441 -0
- package/lib/features/design/surface/DesignBoards.js.map +1 -0
- package/lib/features/design/surface/DesignPreview.js +159 -0
- package/lib/features/design/surface/DesignPreview.js.map +1 -0
- package/lib/features/design/surface/DesignSurfaceExperience.js +80 -0
- package/lib/features/design/surface/DesignSurfaceExperience.js.map +1 -0
- package/lib/features/design/surface/FullScreenPreview.js +59 -0
- package/lib/features/design/surface/FullScreenPreview.js.map +1 -0
- package/lib/features/design/surface/NewSystemDialog.js +122 -0
- package/lib/features/design/surface/NewSystemDialog.js.map +1 -0
- package/lib/features/design/surface/PickerSheet.js +175 -0
- package/lib/features/design/surface/PickerSheet.js.map +1 -0
- package/lib/features/design/surface/TemplatesGallery.js +156 -0
- package/lib/features/design/surface/TemplatesGallery.js.map +1 -0
- package/lib/features/design/surface/WetPaint.js +140 -0
- package/lib/features/design/surface/WetPaint.js.map +1 -0
- package/lib/features/design/surface/agentTurn.js +229 -0
- package/lib/features/design/surface/agentTurn.js.map +1 -0
- package/lib/features/design/surface/designBoard.js +218 -0
- package/lib/features/design/surface/designBoard.js.map +1 -0
- package/lib/features/design/surface/designChannel.js +186 -0
- package/lib/features/design/surface/designChannel.js.map +1 -0
- package/lib/features/design/surface/designChat.js +141 -0
- package/lib/features/design/surface/designChat.js.map +1 -0
- package/lib/features/design/surface/designConnector.js +266 -0
- package/lib/features/design/surface/designConnector.js.map +1 -0
- package/lib/features/design/surface/designDocument.js +40 -0
- package/lib/features/design/surface/designDocument.js.map +1 -0
- package/lib/features/design/surface/designExport.js +55 -0
- package/lib/features/design/surface/designExport.js.map +1 -0
- package/lib/features/design/surface/designLinks.js +64 -0
- package/lib/features/design/surface/designLinks.js.map +1 -0
- package/lib/features/design/surface/designPalette.js +24 -0
- package/lib/features/design/surface/designPalette.js.map +1 -0
- package/lib/features/design/surface/designRun.js +161 -0
- package/lib/features/design/surface/designRun.js.map +1 -0
- package/lib/features/design/surface/designTheme.js +119 -0
- package/lib/features/design/surface/designTheme.js.map +1 -0
- package/lib/features/design/surface/execStream.js +206 -0
- package/lib/features/design/surface/execStream.js.map +1 -0
- package/lib/features/design/surface/metaball.js +48 -0
- package/lib/features/design/surface/metaball.js.map +1 -0
- package/lib/features/design/surface/pickReferenceFiles.js +35 -0
- package/lib/features/design/surface/pickReferenceFiles.js.map +1 -0
- package/lib/features/design/surface/useDesignSurface.js +379 -0
- package/lib/features/design/surface/useDesignSurface.js.map +1 -0
- package/lib/features/docs/DocBlockRow.js +336 -0
- package/lib/features/docs/DocBlockRow.js.map +1 -0
- package/lib/features/docs/DocsEditorExperience.js +949 -0
- package/lib/features/docs/DocsEditorExperience.js.map +1 -0
- package/lib/features/docs/DocsToolbar.js +247 -0
- package/lib/features/docs/DocsToolbar.js.map +1 -0
- package/lib/features/docs/blocks.js +560 -0
- package/lib/features/docs/blocks.js.map +1 -0
- package/lib/features/docs/docArtifacts.js +129 -0
- package/lib/features/docs/docArtifacts.js.map +1 -0
- package/lib/features/docs/docEdits.js +201 -0
- package/lib/features/docs/docEdits.js.map +1 -0
- package/lib/features/docs/docExport.js +235 -0
- package/lib/features/docs/docExport.js.map +1 -0
- package/lib/features/docs/docShare.js +62 -0
- package/lib/features/docs/docShare.js.map +1 -0
- package/lib/features/links/openInApp.js +38 -2
- package/lib/features/links/openInApp.js.map +1 -1
- package/lib/routes.json +54 -0
- package/lib/screens/DesignNative/index.js +35 -0
- package/lib/screens/DesignNative/index.js.map +1 -0
- package/package.json +4 -4
- package/lib/features/design/exportDesign.js +0 -133
- package/lib/features/design/exportDesign.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seedanceShowcase.js","sources":["../../../src/features/canvas/seedanceShowcase.ts"],"sourcesContent":["/**\n * Seedance 2.0 showcase: native twin of canvas-surface `data/seedanceShowcase.ts`.\n * What the video lane makes, shown on home: posters, with the centred tile playing (home/LoopingVideo).\n *\n * Ported verbatim; regenerate from the web file rather than hand-editing (its\n * build-time probe is what keeps dead Cloudflare Stream ids out).\n *\n * LICENSING: every clip is CC-BY-4.0, which requires attribution. The author\n * and source link are part of the data, not decoration, and the tile renders\n * them (tapping the credit opens `sourceUrl`). Do not add a row without both.\n * These are community examples of what the model can do; the UI must never\n * present them as the user's own work.\n */\n\nexport interface ShowcaseClip {\n id: string;\n title: string;\n /** The prompt that made it: seeds the video generator when the tile is used. */\n prompt: string;\n aspect: string;\n /** Poster frame. */\n poster: string;\n /** HLS manifest (unused on native for now; kept so the data stays the web's). */\n hls: string;\n author: string;\n sourceUrl: string;\n license: string;\n tags: string[];\n}\n\nexport const SEEDANCE_SHOWCASE: readonly ShowcaseClip[] = [\n {\n id: '3d-animated-boy-building-lego',\n title: '3D Animated Boy Building Lego',\n prompt: \"Scene: A boy in a room seriously assembling Lego blocks. The visual style is 3D animation with vibrant colors, smooth lines, full of childlike fun and vitality. A time-lapse effect is added to show the assembly process.\\nScene: Wide shot of the room, sunlight spilling onto the desk through the window. The boy sits at the desk focused on assembling Lego, with a serious expression. The camera slowly zooms in.\\nScene: Time-lapse effect showing the boy quickly snapping Lego pieces together, the blocks gradually taking shape in his hands. The camera switches to different angles.\\nScene: Close-up of hands, showing details of the boy skillfully assembling Lego, fingers moving nimbly. The camera follows the hand movements.\\nScene: Time-lapse effect continues showing the assembly process. The Lego creation becomes complete, and the boy's expression changes from focused to satisfied.\\nScene: The boy looks up with a satisfied smile. The camera pulls back to reveal the finished Lego masterpiece.\\n\\nDuration: 00:20\",\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/2dba80d5da706c3ea078ed69096c67d3/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/2dba80d5da706c3ea078ed69096c67d3/manifest/video.m3u8',\n author: 'Alex Zhang',\n sourceUrl: 'https://x.com/jojogh_007/status/2049123558102810714',\n license: 'CC-BY-4.0',\n tags: [],\n },\n {\n id: 'a-decade-of-refinement-glow-up',\n title: 'A Decade of Refinement Glow-Up',\n prompt: 'Create a 15-second ultra-realistic cinematic transformation video using the exact same man from the uploaded reference image. Maintain perfect face consistency, same hairstyle, facial features, identity, and body proportions throughout. No face change. Concept: “2026 is the new 2016” nostalgia-to-luxury glow-up. Scene 1: 2016 version — simple casual clothes, basic hairstyle, walking alone on a normal street, warm nostalgic colors, old Instagram aesthetic, simple life, no luxury. Scene 2: Flashback cuts — old bike ride, cheap café alone, late-night dreams, city lights, silent ambition in his eyes. Scene 3: Strong transition — speed-ramp effect, screen crack cinematic transition, time shifts from 2016 to 2026, luxury watch appears, black suit transformation begins. Scene 4: 2026 version — walking confidently in Dubai downtown, luxury black suit, sunglasses, expensive watch, black luxury car behind him, people turn and stare. Scene 5: Hero shot — rooftop skyline at sunset, slow motion, wind moving, camera rotating around him, strong eye contact, main character energy. Final scene: cinematic ending with the feeling “Same Man. Different Era.” Style: hyper-realistic, Netflix-level production, luxury transformation, dramatic lighting, viral Instagram reel style, strong masculine aura, editorial fashion visuals, 4K ultra realism, emotional and powerful storytelling.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d2d6d15cbc6ef4d4d4c8c9a7de7007d7/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d2d6d15cbc6ef4d4d4c8c9a7de7007d7/manifest/video.m3u8',\n author: 'Maverick | AI',\n sourceUrl: 'https://x.com/RizwanAly07/status/2048948726623056366',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'fantasy', 'product'],\n },\n {\n id: 'ancient-guardian-dragon-rescue',\n title: 'Ancient Guardian Dragon Rescue',\n prompt: 'Shot 1 (00:00–00:02) – WS, Rainy Night, Forward Tracking. A narrow, ancient village alley drenched in relentless rain. Water streams down slanted rooftops and floods uneven stone pathways, reflecting flickering lantern light. A young girl runs barefoot through the water, her soaked dress clinging to her as she struggles to keep balance. Behind her, shadowy figures move unnaturally—distorted, stretching and glitching with each lightning flash as they close in. VFX: Heavy rain simulation, reflective wet surfaces, lightning illuminating distorted shadows. SFX: Thunder cracks, rapid splashing footsteps, howling wind. Shot 2 (00:02–00:04) – CU, Panic Fall, Slight Handheld Shake. She suddenly slips and crashes onto the wet stone. Water splashes outward. Close on her face—rain mixes with tears, her breath sharp and uneven. Her trembling hands push against the ground as she tries to move back, eyes locked on the approaching darkness. VFX: Detailed splash simulation, motion blur, lens water droplets. SFX: Intensifying heartbeat, heavy breathing, rain striking surfaces. Shot 3 (00:04–00:06) – LS, Violent Ground Eruption. The ground beneath the shadows fractures violently. Stone explodes upward in a powerful shockwave, sending debris and water into the air. A massive dragon bursts from below—its body dark and armored, faint glowing veins pulsing beneath its scales. It rises between the girl and the shadows, instantly scattering them into fragments of darkness. VFX: Ground destruction, flying debris, glowing cracks, volumetric dust. SFX: Deep impact boom, layered dragon roar with sub-bass rumble. Shot 4 (00:06–00:08) – CU, Emotional Realization, Slow Push-In. The girl freezes, looking up. Her fear begins to fade. Lightning briefly illuminates the dragon’s face—its glowing eye calm, focused. The reflection of that eye fills hers. The rain appears to slow slightly in this moment. VFX: Eye reflection detail, subtle slow-motion rain, soft glow from dragon’s eye. SFX: Thunder fades into low ambient tone, rain softens. Shot 5 (00:08–00:11) – MS, Gentle Interaction, Static Frame. The dragon slowly lowers its massive head toward her, movements controlled and careful. It gently nudges her shoulder. Water droplets slide across its scales, glowing faintly as they fall. She hesitates, then slowly lifts her hand toward it, tension leaving her body. VFX: Subtle bioluminescent pulses under scales, detailed water interaction. SFX: Deep calm breathing, soft ambient hum. Shot 6 (00:11–00:13) – LS, Protective Wing Expansion. The dragon spreads its massive wings wide, forming a protective barrier around her. Rain violently hits the outer surface of the wings, but inside the space becomes still—dry, warm, and silent. The contrast between chaos outside and calm inside is immediate and striking. VFX: Rain deflection on wings, cold blue tones outside vs warm',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/18d35c93cc1d6ab0a8eff2a68e6d701b/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/18d35c93cc1d6ab0a8eff2a68e6d701b/manifest/video.m3u8',\n author: 'Jasmine Ai',\n sourceUrl: 'https://x.com/jasminekhan90_/status/2049038597333090769',\n license: 'CC-BY-4.0',\n tags: ['fantasy', 'action'],\n },\n {\n id: 'ancient-indian-kingdom-fpv-video',\n title: 'Ancient Indian Kingdom FPV Video',\n prompt: 'extremely fast-paced cinematic FPV flying through the ancient Indian Dandaka kingdom, dense mystical forests, towering sal and teak trees, tribal settlements, ancient ashrams, sages meditating, wildlife moving through fog, dramatic sunlight rays piercing canopy, rivers cutting through rugged terrain, ruined temples covered in vines, hyper-realistic textures, high-speed aerial dives and sharp turns, immersive depth, volumetric lighting, earthy tones, epic scale, realism, cinematic color grading, smooth stabilization, ultra-detailed environment, intense atmosphere',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/146717bc1b96541c0da02f0ba053b9c3/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/146717bc1b96541c0da02f0ba053b9c3/manifest/video.m3u8',\n author: 'Shushant Lakhyani',\n sourceUrl: 'https://x.com/shushant_l/status/2049141805233672529',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'nature'],\n },\n {\n id: 'animation-transfer-and-camera-tracking-prompt',\n title: 'Animation transfer and camera tracking prompt',\n prompt: 'apply the walking animation of @anim exactly as it is to @char7. the camera tracks the character exactly in place, camera angle does not change',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/089e7cd70d20131d6d1b44741520eaee/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/089e7cd70d20131d6d1b44741520eaee/manifest/video.m3u8',\n author: 'Olivio Sarikas',\n sourceUrl: 'https://x.com/OlivioSarikas/status/2049093762077630628',\n license: 'CC-BY-4.0',\n tags: [],\n },\n {\n id: 'character-intro-motion-graphics-sequence',\n title: 'Character Intro Motion Graphics Sequence',\n prompt: 'Based on the three characters in the reference images. High definition, Unreal Engine rendering, cinematic quality, candy-colored palette, Japanese-style aesthetics, artistic, with strong sense of rhythm.\\n\\n0–2s: Empty scene, a small dot at the center, thin-line UI frame, subtle particles. Text: “STATUS: STANDBY” “SYSTEM: INIT”.\\n\\n2–4s: The fox on the left from image2 appears, riding a hovering skateboard, waves toward the camera. Curved motion trails behind. Text: “ID: 01” “CODENAME: RED” “ROLE: TACTICIAN”.\\n\\n4–6s: The rabbit on the right from image1 appears, swings a carrot weapon and takes a combat stance. Circular motion trails. Text: “ID: 02” “CODENAME: KANA” “ROLE: EXECUTIONER” “WEAPON: CARROT”.\\n\\n6–8s: The corgi from image3 appears, looks left and right, showing a simple, friendly smile. Concentric circle UI under its feet. Text: “ID: 03” “CODENAME: Arthur” “ROLE: COMMANDER”.\\n\\n8–15s: The three characters align horizontally, from left to right: FIREBIRD, SAGE, MAD RABBIT. Snap alignment, unified circular platform beneath. Text: “SYSTEM SYNC COMPLETE” “UNIT READY”. Add UI overlay to each character: tracking frames, data bars, simplified charts. Text: “TRACKING” “ANALYSIS” “LOCKED”.\\n\\nLarge title “CHAOS UNIT” appears, breaking into geometric fragments that expand outward. Text: “SYSTEM ERROR” “DATA BREAK”. The fragments then reassemble into “CHAOS UNIT”, centered layout with subtle circular guide lines. Text: “REBUILD COMPLETE” “SYSTEM ONLINE” “KANAWORKS_AI”.\\n\\nFinal frame: “CHAOS UNIT” at the top, the three characters standing side by side below, with a clean circular platform at the bottom. Text: “STATUS: LOCKED” “UNIT: ACTIVE”.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d7697b00e2a3cb0ecb91273a772eda39/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d7697b00e2a3cb0ecb91273a772eda39/manifest/video.m3u8',\n author: 'KANA',\n sourceUrl: 'https://x.com/KanaWorks_AI/status/2049281443956974029',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'fantasy', '3d-render'],\n },\n {\n id: 'cinematic-birthday-celebration-sequence',\n title: 'Cinematic Birthday Celebration Sequence',\n prompt: '0s–4s\\nClose-up of a young girl waking up in a softly lit bedroom, warm golden sunlight through curtains, she gently smiles while checking her phone filled with birthday wishes, natural makeup, SAME facial features as reference image, cinematic lighting, shallow depth of field, ultra-realistic, 4K\\n\\n4s–8s\\nCut to a cozy, beautifully decorated room with balloons and fairy lights, her friends surprise her with a birthday cake, everyone cheering, she laughs happily, SAME face as reference image, joyful expressions, cinematic camera movement, vibrant colors, soft glow, high detail\\n\\n8s–12s\\nHer boyfriend enters — a well-dressed young man with neatly styled dark hair, sharp jawline, warm expressive eyes, wearing a clean elegant outfit (white shirt with a fitted blazer), minimal accessories, charming and calm presence ,he presents a beautiful bouquet of fresh flowers, she looks surprised and emotional, soft eye contact, SAME facial features maintained, romantic cinematic tone, warm lighting, slight slow motion, realistic textures, elegant framing\\n\\n12s–16s\\nFinal scene: she stands surrounded by friends, holding the bouquet and cake, boyfriend beside her smiling softly, candles glowing, she closes her eyes to make a wish, SAME face consistency, cinematic wide shot, dreamy atmosphere, soft bokeh lights, high-end film look',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/47f113f50f5bd3794cbd83d2bb99320b/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/47f113f50f5bd3794cbd83d2bb99320b/manifest/video.m3u8',\n author: 'Soulful Ai',\n sourceUrl: 'https://x.com/soulful__ai/status/2048908956178001993',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'fantasy', 'cinematic-romance'],\n },\n {\n id: 'cinematic-dragon-interaction-flight',\n title: 'Cinematic Dragon Interaction & Flight',\n prompt: 'STYLE Handheld + aerial camera blend Soft motion blur (only during fast transitions) Teal–orange cinematic grade Cool tones during dragon moments, warm tones at emotional peak ⏱ TIMELINE (15s) 0–2s (HOOK) Close-up on woman standing at a cliff Wind moving through hair A giant shadow passes over her → she slowly turns Low rumble builds tension 2–5s (CONNECTION) Dragon lands behind her with heavy presence It lowers its head slowly She hesitates, then touches its face Wind + dust particles react subtly Quiet emotional moment (no aggression) 5–8s (TAKEOFF) She climbs onto its back Dragon launches powerfully into the sky Camera follows upward, slight rotation Clouds rush past, strong sense of speed 8–12s (FLIGHT SEQUENCE) Fast but controlled cuts: Flying through clouds Passing mountain peaks Close-up of wings moving Her expression shifting to awe Wide aerial shot showing scale 12–15s (FINAL MOMENT) Above the clouds in golden light Dragon slows and stabilizes She stands confidently on its back Wide cinematic shot → calm, powerful ending',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/f72b7a26635bdf580a2899bf2682f7f6/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/f72b7a26635bdf580a2899bf2682f7f6/manifest/video.m3u8',\n author: 'simply',\n sourceUrl: 'https://x.com/kingofdairyque/status/2049052738924023976',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'fantasy', 'action'],\n },\n {\n id: 'cinematic-east-asian-woman-hand-dance',\n title: 'Cinematic East Asian Woman Hand Dance',\n prompt: '1 0-3s Extreme close-up of the face, exquisite and three-dimensional features, cold and elegant eyes locked on the lens, sword dance opening pose: hands quickly swipe from both sides of the cheeks to a fixed point in front of the chest, clean fingertip movements. 15-second vertical screen 9:16, 24fps, 8K ultra-high definition, realistic movie texture, stable screen without flicker. Top-tier East Asian young female, exquisite features, delicate and transparent skin with natural luster, clear and bright atmosphere makeup, distinct hair strands. Cold and confident gaze locked on the lens throughout, hands quickly swiping from cheeks to chest, clean sword dance hand gestures, clear fingertip details. Soft ring light, soft facial light and shadow without dead blacks, clear and bright eye light, camera moves forward slightly at a uniform speed, subject always in the center of the frame, first-person interaction, natural color saturation, full of details. Cold impact, strong freeze frame at the first heavy drum beat, hand gestures perfectly match the beat.\\n\\n2 3-6s Medium close-up of the upper body, showing shoulder and neck lines and smooth arms, core sword dance cutting hand gestures, combined with shoulder rhythmic beats, body swaying slightly left and right, eyes never leaving the lens. Vertical screen 9:16, 24fps, 8K, realistic texture, stable screen. Young woman with smooth and tight body lines, superior shoulder and neck lines, wearing a slim black short top, coherent and smooth movements, core sword dance hand gestures, matching shoulder rhythmic beats, body swaying slightly with the rhythm, eyes always locked on the lens. Warm atmosphere light, distinct levels of light and dark, camera moves horizontally slowly, subject in the center throughout, no distortion, no lag in movement. Sharp beats, rhythmic progression with 3 consecutive light drum beats, each hand movement precisely hitting the beat.\\n\\n3 6-9s Full-body wide shot, fully displaying superior body proportions and dance rhythm, iconic sword dance double-hand circling + body wave combination, small steps matching the beat, movements stretched and powerful. Vertical screen 9:16, 24fps, 8K, realistic movie texture, stable screen without shaking. Female with superior head-to-body ratio, tight waist and abdominal lines, long legs, wearing slim high-waisted black pants, smooth and coherent movements without lag, iconic sword dance circling + body wave, small footsteps matching the rhythm, stretched and powerful movements. Modern minimalist luxury white background wall, soft top light + side light compensation, rich light and shadow layers, camera slowly and uniformly pulls back, subject remains in the center throughout, no clipping or deformation. Grand and elegant, full of rhythm at the heavy drum burst point, wave movement peak precisely hits the heavy drum.\\n\\n4 9-12s Local close-up of hands + waist and hips, sword dance fingertip fixed-point details, matching slight waist and hip swaying, highlighting body curves and gesture details, clean and precise movements. Vertical screen 9:16, 24fps, 8K, realistic texture, stable screen. Fingertip detail movements, long and slender fingers, clean and exquisite nails, matching rhythmic waist and hip swaying, tight and smooth waist and abdominal lines, precise and sharp movements. Soft side light outlines the body, camera moves slightly following hand movements, focus always on gestures and body lines, clear picture without blurring. Detailed and high-end texture with consecutive light drum beats, each fingertip movement hitting the beat.\\n\\n5 12-15s Quick zoom from full body back to upper body + face close-up, sword dance closing pose, eyebrow raise + confident smile, eyes locked on the lens throughout, clean ending. Vertical screen 9:16, 24fps, 8K, realistic movie texture, stable screen without flicker. Top-tier beauty and figure, closing sword dance pose, hands sharply fixed in front of the chest, confident smile, eyes locked on the lens, clean ending. Soft ring light, soft facial light and shadow, camera quickly and uniformly zooms from full body to face close-up, final frame frozen on the face, subject always in the center, no distortion, coherent movement. Explosive ending with full memory points at the last heavy drum beat, pose synchronized with the drum, frozen for 3 frames.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3b2699622675dd4b8b24808a1d7c4a34/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3b2699622675dd4b8b24808a1d7c4a34/manifest/video.m3u8',\n author: '阿绎 AYi',\n sourceUrl: 'https://x.com/AYi_AInotes/status/2049047545435889883',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'action'],\n },\n {\n id: 'cinematic-emotional-face-close-up',\n title: 'Cinematic Emotional Face Close-up',\n prompt: 'A realistic human face with highly detailed skin texture, pores, and micro-musculature. Scene: Tight portrait close-up against a dark, void-like background. Style: Cinematic realism, 35mm film aesthetic, shallow depth of field with soft bokeh, moody and introspective. Lighting: Dynamic emotional lighting that shifts in color temperature and direction to match the internal state. Audio: Ambient atmospheric drone, soft rhythmic breathing, subtle emotional orchestral swells. Avoid: Identity drift, jitter, distorted limbs, unnatural morphing artifacts. [0-3s] Camera: Slow, imperceptible push-in. Action: The face breaks into a genuine, soft smile; eyes crinkle at the corners and the cheeks lift. Lighting: Warm golden-hour glow, soft and frontal. Vfx: Subtle lens flare. [3-6s] Camera: Static extreme close-up. Action: The smile dissolves into a heavy, downward curve; eyes well up with glistening tears that catch the light, and the lower lip trembles. Lighting: Transition to a cool, melancholy blue wash from above. [6-9s] Camera: Controlled lateral pan. Action: The brow furrows deeply into a sharp V-shape; the jaw clenches visibly, and nostrils flare with rhythmic, heavy breathing. Lighting: Harsh, high-contrast red and orange side-lighting creating deep shadows. [9-12s] Camera: Subtle handheld micro-shake for tension. Action: The eyes snap wide, pupils dilating; the face pales as the muscles go taut, and the mouth hangs slightly open in a shallow gasp. Lighting: Dim, desaturated, flickering low-key light. [12-15s] Camera: Gentle pull-out to a medium close-up. Action: All tension drains from the face; the eyes slowly close, and the features settle into a mask of perfect, serene stillness. Lighting: Soft, diffused white light enveloping the subject like a halo.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/4a47ba646e7cedd79363c861864b8714/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/4a47ba646e7cedd79363c861864b8714/manifest/video.m3u8',\n author: 'Ai Doctor',\n sourceUrl: 'https://x.com/DoctorAmna11/status/2049119918755283014',\n license: 'CC-BY-4.0',\n tags: ['portrait', 'cinematic', 'action'],\n },\n {\n id: 'cinematic-marine-biologist-exploration',\n title: 'Cinematic Marine Biologist Exploration',\n prompt: 'A marine biologist in a sleek wetsuit swims through the vibrant coral reefs of the Great Barrier Reef. At the 3-second mark, he dives deeper to approach an ancient shipwreck. The camera follows him as schools of colorful fish dart around. He retrieves a mysterious artifact from the wreck just as a curious shark glides by.\\nUnderwater ruins, coral reef exploration, ancient artifact retrieval, marine life encounter, cinematic underwater lighting, 4K.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/4394ac601188eb66755d2c92451665c6/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/4394ac601188eb66755d2c92451665c6/manifest/video.m3u8',\n author: 'LudovicCreator',\n sourceUrl: 'https://x.com/LudovicCreator/status/2049190693550055726',\n license: 'CC-BY-4.0',\n tags: ['cinematic'],\n },\n {\n id: 'cinematic-music-podcast-and-guitar-technique',\n title: 'Cinematic Music Podcast and Guitar Technique',\n prompt: '**Cinematic Truth Source & Setup** \\nProfessional music podcast video production, shot on Sony FX6 cinema camera in 4K DCI, anamorphic lenses with natural breathing and subtle flare, controlled studio lighting using ARRI Skypanels and practical LED backlights, clean broadcast color science with warm highlights and rich mid-tones exactly like high-end Netflix music documentaries. Realistic 24fps motion, light film grain, zero stylization.\\n\\n** Image Reference & Legend** \\nNo external image reference supplied. Original generation locked to user character tagged @character on frame 0. Exact black electric guitar (Stratocaster style with whammy bar) must remain 100% consistent in shape, color, and wear. Back wall behind character locked with large professional podcast branding text “StudioName\" in bold modern sans-serif font, subtly backlit with soft neon glow. No deviation allowed on character identity @character , guitar model/design/colors, or background text.\\n\\n** Timeline (Second-by-Second)** \\n0-3s: Medium close-up handheld camera on guitarist seated in modern podcast studio, microphone visible stage left. Left hand frets high note on 3rd string while right hand picks aggressively; camera slowly pushes in toward guitar neck. Pinch harmonic executed at 2.2s — thumb edge lightly touches string node creating exact “nguik” squealing overtone with natural string vibration and slight whammy bar dive. Back wall clearly shows large “StudioName” podcast name text. Studio monitors in background show faint reflection of hands. \\n\\n3-7s: Cut to tighter ECU on right hand performing rapid pinch-harmonic technique; strings visibly bend and ring with realistic metallic sustain and micro-vibrato. Left hand shifts positions smoothly, forearm muscles tensing naturally. Camera dollies left in slow arc revealing podcast microphone and back wall “StudioName” branding. \\n\\n7-11s: Camera pulls back to medium shot as guitarist sustains final high-pitched “nguik” harmonic, letting it feedback naturally through amp. Head nods slightly in time. Background podcast setup with “StudioName” wall text stays in soft focus. \\n\\n11-15s: Final wide push-in as guitarist releases note, right hand lifts off strings cleanly, left hand relaxes on fretboard. Guitarist glances toward camera with professional nod. Full back wall “StudioName” podcast branding remains visible. Natural string decay and light body movement throughout.\\n\\n** Style, Quality Boosters & Negative Prompts** \\nUltra-realistic guitar physics with accurate string tension, pinch-harmonic squeal, and natural sustain; perfect finger synchronization and skin texture; natural motion blur on picking hand; professional color grading with high dynamic range and subtle lens breathing. Strict negatives: no extra limbs, no deformed fingers or hands, no rubbe',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c4515f4f328539e1ded2cc32f4ce63e7/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c4515f4f328539e1ded2cc32f4ce63e7/manifest/video.m3u8',\n author: 'TheYudayVerse',\n sourceUrl: 'https://x.com/yuday9909/status/2048949262109880363',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'cyberpunk', 'fantasy'],\n },\n {\n id: 'cinematic-route-navigation-guide',\n title: 'Cinematic Route Navigation Guide',\n prompt: 'Create a 5-second cinematic route-guide clip for a walking navigation video.\\n\\nContinuity:\\nThis is scene {N} of 5 in a route from North Avenue MARTA Station to Coda Tech Square in Atlanta.\\nThe guide is the same stylish female tour guide in every scene: black sunglasses, sleeveless cream belted dress, brown leather belt, tour lanyard, small shoulder bag, brown hair tied back, confident warm expression.\\nShe appears on the sidewalk or plaza only, never in traffic lanes.\\n\\nScene role:\\n{route_step}\\n\\nStarting frame:\\nUse the supplied Street View image as the real-world location reference. Preserve the recognizable street layout, building massing, sidewalk direction, signage, and lighting.\\n\\nAction:\\nThe guide is already in frame, slightly ahead of the viewer. She turns toward the camera, gestures toward the next walking direction, then begins to lead the viewer forward.\\n\\nCamera:\\nSmooth handheld walking pace, slight forward push-in, no jumpy zooms, no orbit. Keep horizon stable. The final second should frame the direction of the next scene so the edit can cut naturally.\\n\\nEnd frame:\\nEnd with the camera facing {next_direction_or_landmark}, with the guide near the edge of frame pointing forward.\\n\\nRestrictions:\\nDo not invent a different city, indoor location, parking lot, or tourist group. Do not place the guide in the road. Do not block crosswalks, street signs, building entrances, or the Coda facade.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/49a08d9ecf7257120711ce6d7b158073/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/49a08d9ecf7257120711ce6d7b158073/manifest/video.m3u8',\n author: 'Michael Guo',\n sourceUrl: 'https://x.com/Michaelzsguo/status/2048966649982669053',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'fantasy', 'action'],\n },\n {\n id: 'cinematic-street-racing-sequence-for-seedance-2',\n title: 'Cinematic Street Racing Sequence for Seedance 2',\n prompt: 'cinematic street racing sequence at night, a focused driver inside a high-performance car grips the steering wheel, intense eye focus, city lights reflecting on windshield, tension building before sudden acceleration\\n\\ncamera: rapid multi-angle system with seamless transitions, interior close-up → over-the-shoulder → exterior tracking → low ground shots, ultra dynamic camera movement, whip pans + speed ramp transitions + motion blur masking cuts, continuous flow illusion\\n\\n(0-2s) interior close-up on driver, hand tightens on gear shift, subtle breathing, dashboard lights glowing\\n(2-4s) over-the-shoulder shot, road ahead stretching into neon-lit city, engine vibration building\\n(4-6s) extreme close-up on finger pressing NOS button, instant ignition reaction\\n(6-8s) explosive acceleration, camera snaps to exterior side tracking shot, car launches forward with violent speed surge\\n(8-10s) ultra low ground shot near asphalt, wheels spinning at extreme velocity, environment streaking past\\n(10-12s) high-speed chase through tight streets, sharp turns, camera whip pans between angles, reflections and light trails enhancing speed\\n\\nDense urban night environment, wet asphalt reflecting neon lights, tunnel passages, street lights streaking, high-speed city atmosphere\\nUltra realistic, fast and furious inspired energy, photorealistic lighting, intense motion blur, high contrast neon reflections, cinematic depth of field, extreme sense of speed, fluid transitions, no distortion, no stretching',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3a7fb0a6d706b9f568479bb720ce1ad4/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3a7fb0a6d706b9f568479bb720ce1ad4/manifest/video.m3u8',\n author: 'Pierrick Chevallier | IA',\n sourceUrl: 'https://x.com/CharaspowerAI/status/2039651574297792688',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'cyberpunk', 'action'],\n },\n {\n id: 'cinematic-vampire-alley-fight-sequence',\n title: 'Cinematic vampire alley fight sequence',\n prompt: 'Draev stands in the center of the neon-lit alley, surrounded by multiple vampires positioned on rooftops and street level.\\n\\nThe vampires attack simultaneously.\\nDraev reacts instantly with superhuman speed.\\n\\nHe dodges the first attacker with a fast sidestep and counters with a brutal punch, sending the vampire crashing into a wall.\\n\\nSecond vampire lunges from above Draev jumps unnaturally high, grabs him mid-air, and slams him into the ground.\\n\\nImpact creates a small shockwave on the wet street.\\nThe defeated vampire rapidly disintegrates into ash and particles.\\n\\nCamera moves dynamically:\\nstarts frontal wide shot transitions into fast tracking side movement then switches to over-the-shoulder following Draev More vampires rush in.\\n\\nDraev performs a fast acrobatic kick hitting two enemies at once.\\n\\nOne vampire is thrown into neon signs, sparks and electricity burst.\\n\\nAnother gets grabbed by the throat — Draev lifts him with one hand and crushes him, turning him into ash.\\nRain reacts to movement, splashes intensify with impacts.\\n\\nFinal moment:\\nDraev stands still in the center, surrounded by falling ash, breathing slightly, eyes glowing red.\\nRemaining vampires hesitate, stepping back in fear. No music',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/e665ecf343c35d97dd64e3b930a96fa5/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/e665ecf343c35d97dd64e3b930a96fa5/manifest/video.m3u8',\n author: 'Cortex Visual ・ AI Movies',\n sourceUrl: 'https://x.com/Cortex__Visual/status/2049070872426688714',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'cyberpunk'],\n },\n {\n id: 'crimson-horizon-sci-fi-cinematic-sequence',\n title: 'Crimson Horizon Sci-Fi Cinematic Sequence',\n prompt: 'SHOT 1: Cinematic wide angle format — rocket launching into night sky, city lights below, clouds parting, stars above. Dark, dramatic, photorealistic.\\n\\nSHOT 2: Medium two-shot format — man and woman in astronaut suits inside a dark capsule, Mars glowing red through the porthole behind them. Cinematic, intimate.\\n\\nSHOT 3: Dramatic aerial format — descent capsule burning through Mars atmosphere, heat shield glowing orange, red desert surface rushing up below. Hyperrealistic.\\n\\nSHOT 4: Ultra wide low angle format — two astronauts standing with backs to camera on Mars surface, vast red desert and amber sky stretching before them. Empty, eerie.\\n\\nSHOT 5: Extreme close-up format — female astronaut\\'s gloved hand tracing ancient carved symbols on a canyon wall, helmet lamp lighting the carvings, her eyes wide with fear.\\n\\nSHOT 6: Tight close-up format — male astronaut\\'s arm display glowing red reading \"UNKNOWN\", a massive dark shape looming behind him in the dust haze. Tense, cinematic.\\n\\nSHOT 7: Extreme wide format — colossal dark horned creature emerging from a dust storm, violet glowing eyes, two tiny astronauts dwarfed at the bottom of the frame. Cinematic horror.\\n\\nSHOT 8: Locked macro format — creature\\'s enormous purple glowing eye filling the entire frame, two astronaut silhouettes reflected in the iris. Pure black background. Photorealistic.\\n\\nSHOT 9: Title card format — pure black background, bold cracked text reads CRIMSON HORIZON, tagline below: \"They came searching for life. Life was already waiting.\"',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/ff7d9d956d3e812f4f99cf99e0552382/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/ff7d9d956d3e812f4f99cf99e0552382/manifest/video.m3u8',\n author: 'wonder',\n sourceUrl: 'https://x.com/WonderBoy023/status/2049086862858367347',\n license: 'CC-BY-4.0',\n tags: ['cinematic'],\n },\n {\n id: 'cyberpunk-game-trailer-script',\n title: 'Cyberpunk Game Trailer Script',\n prompt: 'INK INDUSTRIES : GAME TRAILER\\nCHARACTERYoung athletic male, dark curly hair, shirtless, full chest and back tattoos, gold hoop earring, cigarette in mouth, black cybernetic prosthetic arms with cyan LED nodes at joints. Black shorts with white stripe, white socks, beige chunky sneakers. Seated cross-legged on white void floor.\\nCINEMATIC SETUPOpens on clean white void environment with minimal game UI. Camera high angle looking down at character. Hyper-realistic CGI rendering, clean white background transitioning to dense cyberpunk favela environment.\\nSEQUENCE [0s–15s]\\n[0s–2s] High angle shot looking down. Character seated on white floor, looking up at camera with cigarette smoke rising. Game menu UI on left: START NEW GAME, CONTINUE highlighted, SETTINGS, EXIT GAME. Player profile top right showing INK_NOMAD LVL 23. A cursor clicks CONTINUE. The button pulses. Subtle bass hit.\\n[2s–4s] Smooth zoom-in toward his left arm. UI panels slide in from left LEFT ARM EQUIPMENT panel appears. Selection highlights PHANTOM GRIP, then slides to CHRONOS CLAW. His left hand mechanically reconfigures fingers split apart, new claw-like digits lock into place, cyan LEDs pulse brighter. Stats bars animate on right panel. Servo click sounds.\\n[4s–7s] Camera orbits smoothly around to his right side. New UI slides in ARMAMENT CUSTOMIZATION grid showing HAND, FOREARM, ELBOW, UPPER ARM components. Selection cycles through parts rapidly. His right arm disassembles section by section forearm plates detach, new plating slides on, elbow joint swaps, hand reconfigures with exposed wiring and pistons visible mid-swap. Each component locks with a mechanical snap. Tech Points counter ticks up.\\n[7s–8.5s] Camera pulls back to medium shot. CONFIRM CONFIG button pulses. Click. All UI panels collapse inward. Character uncrosses legs, shifts position, now sitting relaxed, one knee up, cybernetic hand bringing cigarette to mouth. Smoke curls.\\n[8.5s–10s] LOADING bar appears at bottom. Fills rapidly 0 to 100%. White environment begins darkening shadows creep in from edges, warm golden light bleeds through. The white void dissolves like fog burning off. Character starts standing up in one fluid motion.\\n[10s–15s] Full environment loads around him as he rises to his feet. Dense cyberpunk favela materializes, neon signs flickering on, wet streets reflecting light, crowds populating, motorcycles, tangled power lines, stacked buildings climbing toward futuristic skyscrapers in the distance. Camera settles into third-person view behind him, showing his full tattooed back. HUD elements fade in, minimap top left, health bar, ammo counter bottom right. Quest marker appears. He takes a step forward into the street, puddle splashing under his shoe. Golden hour light cuts through the alley. Ambient city noise floods in, chatter, distant music, neon buzz.\\nSTYLEHyper-realistic CGI. White void sections: clean, mini',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/b6af40bfbe9ab029c5385fe3cdcf2893/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/b6af40bfbe9ab029c5385fe3cdcf2893/manifest/video.m3u8',\n author: 'Larus Canus',\n sourceUrl: 'https://x.com/MrLarus/status/2049004278908330226',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'cyberpunk', '3d-render'],\n },\n {\n id: 'forbidden-city-cat-satire',\n title: 'Forbidden City Cat Satire',\n prompt: 'STORY FORMAT: 15s / 150 BPM / MULTI-CUT / American dark comedy with exaggerated imperial satire / slapstick timing and punchline ending\\nTONE: tense accusation → rising absurdity → chaotic reveal → shameless comedic payoff\\nSETTING: Grand hall of the Forbidden City, massive golden throne room, rich red and gold tones, dramatic lighting, echoing atmosphere, ceremonial yet absurd\\nCHARACTERS:\\nOrange cat official: wearing Qing dynasty court robes and an official hat, a long orange queue braid trailing behind, belly comically round as if hiding something, cautious and visibly nervous\\nHyena emperor: dressed in extravagant Qing imperial robes with a golden crown, domineering presence, easily irritated, dramatic temper\\nWhite rabbit maids: wearing Qing palace maid outfits, purple eyeshadow, bright red lips, each holding feather fans, fanning the emperor in synchronized rhythm\\nGray rabbit guards: standing on both sides of the hall, stern expressions, wearing palace guard uniforms, holding long wooden staffs\\nCAMERA STYLE: dramatic push-ins, snap zooms, symmetrical wide shots, rapid reaction cuts, exaggerated sound cues, slight handheld shake for comedic tension\\nSCENE\\n0–2s\\nWide symmetrical shot: The massive throne hall\\nThe hyena emperor sits high on the throne, being fanned by rows of white rabbit maids\\nA plate of apples rests beside him\\nGuards line both sides like statues\\nThe orange cat carefully walks in, tiny footsteps echoing loudly\\n2–4s\\nSudden snap zoom to emperor\\nHyena SLAMS armrest\\nHyena (furious):\\n“Speak! Why did you sneak into the imperial harem?!”\\nEcho effect fills the hall\\n4–6s\\nCut to orange cat\\nHe instantly drops to his knees, trembling\\nOrange cat (panicked):\\n“I heard someone screaming for help!”\\n6–7s\\nBeat\\nCut to emperor’s face slowly twisting in rage\\nHyena (shouting):\\n“That is an obvious lie!”\\n7–8s\\nIn one swift motion, he grabs an apple and HURLS it\\nSound: WHOOSH\\n8–9s\\nSlow motion: apple flying through the air\\nOrange cat’s eyes widen\\nHe suddenly raises one hand\\nSNATCHES it cleanly\\nPerfect catch\\n9–11s\\nSilence\\nEveryone freezes\\nThen\\nOrange cat awkwardly smiles\\nHe slowly reaches inside his robe\\n11–13s\\nHe pulls out\\nA PARROT\\nThe parrot flaps slightly, completely alive\\nParrot (loud, repetitive):\\n“Help! Help! Help!”\\nBeat\\n13–15s FINAL PAYOFF\\nCut to wide shot\\nThe entire hall ERUPTS in laughter\\nWhite rabbit maids bend over laughing, fans shaking\\nGray guards struggle to stay serious but break\\nEven the emperor leans back laughing uncontrollably\\nHyena (laughing hard):\\n“You smuggled THAT into the harem?!”\\nOrange cat turns to camera, dead serious\\nOrange cat:\\n“I told you… I wasn’t lying.”\\nFreeze-frame energy\\nBackground laughter echoes as the scene ends',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/0279a674ce138ab5a0a6f020a7273d89/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/0279a674ce138ab5a0a6f020a7273d89/manifest/video.m3u8',\n author: 'The Anxious Mind',\n sourceUrl: 'https://x.com/drjoetw/status/2048996625654354333',\n license: 'CC-BY-4.0',\n tags: ['action'],\n },\n {\n id: 'hunched-character-animation',\n title: 'Hunched Character Animation',\n prompt: 'create a walking animation for this hunched over character. the character stays in place',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d3d5dcaf102414a8cceca23d60b5c0d0/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/d3d5dcaf102414a8cceca23d60b5c0d0/manifest/video.m3u8',\n author: 'Olivio Sarikas',\n sourceUrl: 'https://x.com/OlivioSarikas/status/2049093747011670042',\n license: 'CC-BY-4.0',\n tags: [],\n },\n {\n id: 'luxury-supercar-cinematic-narrative',\n title: 'Luxury Supercar Cinematic Narrative',\n prompt: \"Global Intent: Quiet Luxury with an aggressive edge. A stylish man with Dobermans and a classic dark blue vintage supercar journeys through misty mountains to an epic coast. Deep, saturated color palette: dark blue, matte black, foggy gray. The pacing is driven by a slow, heavy trap beat with deep 808 bass, featuring rhythmic cinematic cuts.\\n\\nSEQUENCE LIST:\\n\\nSHOT 1 (0-1.5s) Medium Shot\\n\\n• camera_motion: push in\\n\\n• core_action: Front of a modern matte black house. A stylish man in effortlessly expensive dark clothing stands motionless, holding three perfect Dobermans on thick leather leashes. Behind them sits a classic dark blue vintage supercar. confident movement, grounded interaction, authentic human behavior patterns. Audio: Quiet engine idling, trap beat intro.\\n\\n(CUT TO)\\n\\nSHOT 2 (1.5-2.5s) Extreme Close-Up\\n\\n• camera_motion: static shot\\n\\n• core_action: Macro of the man's face. He slowly lowers his sunglasses, staring directly into the lens with absolute confidence, revealing diamond grillz catching the light. confident movement, slow and deliberate movement. Audio: First heavy 808 bass hit.\\n\\n(CUT TO)\\n\\nSHOT 3 (2.5-4s) Close-Up\\n\\n• camera_motion: static shot\\n\\n• core_action: The head of one Doberman. The dog aggressively barks and bares its teeth in slight slow motion, saliva flying. energetic movement, realistic physics. Audio: Muffled, bass-heavy dog bark syncing seamlessly with the beat.\\n\\n(CUT TO)\\n\\nSHOT 4 (4-5s) Medium Shot\\n\\n• camera_motion: static shot\\n\\n• core_action: Next to the supercar. The man pulls open the heavy car door. A Doberman elegantly and quickly leaps onto the vibrant red leather passenger seat. fluid movement, authentic momentum conservation. Audio: Heavy car door CLICK-CLUNK.\\n\\n(CUT TO)\\n\\nSHOT 5 (5-6.5s) Macro Shot\\n\\n• camera_motion: push in\\n\\n• core_action: The supercar's hood. The pop-up headlights sharply snap open, instantly illuminating the frame with a piercing, bright yellow beam. mechanical precision, rigid body movement. Audio: Mechanical WHIRR and explosive engine roar on startup.\\n\\n(CUT TO)\\n\\nSHOT 6 (6.5-8s) Wide Shot\\n\\n• camera_motion: tracking shot\\n\\n• core_action: Winding mountain road engulfed in dense fog. The dark blue supercar aggressively drifts through a sharp hairpin turn, leaving a thick trail of tire smoke. realistic physics governing all actions, volumetric smoke flow, authentic momentum conservation. Audio: Tire SCREECH perfectly pitched to the track's high frequencies.\\n\\n(CUT TO)\\n\\nSHOT 7 (8-9.5s) Medium Shot\\n\\n• camera_motion: static shot\\n\\n• core_action: Interior of the supercar. The man calmly steers with one hand. The Doberman sits in the passenger seat, its head sticking out the window, ears violently flapping in the rushing wind. wind interaction dynamics, natural movement. Audio: Heavy wind noise, muffled interior engine roar.\\n\\n(CUT TO)\\n\\nSHOT 8 (9.5-11.5s) Wide Shot\\n\\n• camera_motion: tracking shot\",\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/7e8983364a95fe333f0f88bd1085a0e8/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/7e8983364a95fe333f0f88bd1085a0e8/manifest/video.m3u8',\n author: 'Ivanna | AI Art & Prompts',\n sourceUrl: 'https://x.com/ivanka_humeniuk/status/2048962364083691774',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'action', 'nature'],\n },\n {\n id: 'magical-academy-storyboard-sequence',\n title: 'Magical Academy Storyboard Sequence',\n prompt: '0s – 4s (Arrival at the Academy)\\nA massive gothic magical academy appears above floating cliffs, surrounded by storm clouds and glowing runes. The girl walks through the grand iron gates. Her expression is calm but curious. Floating spell books drift around the entrance. Cinematic slow push-in shot, mist and dramatic lighting.\\n\\n4s – 8s (The Forbidden Core Reveal)\\nInside a grand hall, students channel elemental magic. The girl stands still as her “sealed magical core” reacts. Dark energy briefly flickers around her chest, but she doesn’t collapse like others would. The academy masters observe in shock. Close-up on her face with glowing rune reflections in her eyes.\\n\\n8s – 12s (Soul-Binding Lesson)\\nIn a floating classroom, chains of light connect students’ souls to magical entities. The girl absorbs a forbidden spell instead of being harmed. The spell dissolves into her body safely. Books levitate violently around her. Slow-motion, cinematic orbit camera around her.\\n\\n12s – 16s (Forbidden Power Awakens)\\nA sudden magical duel breaks out. She steps forward and releases a silent wave of forbidden magic. Reality bends slightly around her. Runes explode into glowing fragments in the air. The academy freezes in awe as her power stabilizes. Final shot: her standing alone under floating spell books, softly glowing.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c81825485052d7aff4ee2af086c7f307/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c81825485052d7aff4ee2af086c7f307/manifest/video.m3u8',\n author: 'Soulful Ai',\n sourceUrl: 'https://x.com/soulful__ai/status/2049186700199620777',\n license: 'CC-BY-4.0',\n tags: ['cinematic'],\n },\n {\n id: 'nightclub-flyer-atmospheric-animation',\n title: 'Nightclub Flyer Atmospheric Animation',\n prompt: 'Hyper-detailed nightclub event flyer, a Black woman with sleek long braids and bold red lipstick photographed in a confident chin-up power pose looking directly at camera, wearing a fitted black blazer with gold chain, dramatic red rim light from behind creating glowing edge, harder key light from front-left. Subject cut out over deep oxblood-red textured background with heavy film grain and subtle smoke haze. Behind her the massive display word \"FRIDAY\" in tall condensed slab serif, cream-white with grungy distressed edges, partially occluded by her shoulders and hair. Secondary script tagline \"the night belongs to you\" in elegant gold cursive. Bottom info block: \"NOV 14 · 10PM · DOORS AT 9 · UPTOWN CLT\". Scattered accents: small gold sparkle stars, one circled date stamp, thin gold scribble line. Palette strictly oxblood red, cream-white, gold, deep black. Warm cinematic grade. 4:5 vertical, 2048x2560, club poster quality. Negative: smooth AI skin, generic stock, watermarks. Animate only the background and atmospheric elements — subject, typography, and outfit remain completely locked. Slow rolling smoke haze drifts horizontally across the lower third of the frame behind her, low-opacity, dreamy. Red rim light behind her subtly pulses brighter then dimmer once over 5 seconds, like a slow heartbeat. Tiny gold sparkle particles float upward slowly from bottom edge. Film grain flickers naturally. Cream \"FRIDAY\" letters behind her have an almost imperceptible texture shimmer. Camera fully locked off, no pan, no zoom. 24fps, 5 seconds, cinematic nightclub mood. Negative: subject moving, face changing, lips moving, hands deforming, text warping.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/ac4aa8dd242046f292eab0e1333692ef/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/ac4aa8dd242046f292eab0e1333692ef/manifest/video.m3u8',\n author: 'Nash Deen',\n sourceUrl: 'https://x.com/DeenNash_Fu/status/2048912067361452121',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'typography'],\n },\n {\n id: 'retro-hk-wuxia-film-aesthetic',\n title: 'Retro HK Wuxia Film Aesthetic',\n prompt: \"core_style: 80s-90s Shaw Brothers film style, early Hong Kong Wuxia drama aesthetics, nostalgic Chinese Wuxia movies, vintage TV quality, warm tones with high saturation palette, retro film grain texture, slight Technicolor chromatic aberration, classic studio backdrop feel, soft stage lighting. visual_quality: 35mm film photography, physical film defects, vintage film texture, subtle chromatic dispersion, soft focus effect, slight light flicker, strong bloom on highlight surfaces. character_modeling: female_character - classic 80s period drama makeup, black eyeliner, peach-pink lip balm, exquisite braids with pink ribbons and flower accessories, traditional light blue and white Hanfu with floral embroidery and silk texture. male_character - classic Wuxia young scholar appearance, long hair tied with a white ribbon at the waist, signature sideburns, clean-shaven face, pure white scholar/knight robe. script_and_storyboard: logic - sitcom editing logic with early physical transition effects. scenes: shot_1, [Close-up, a young woman looks affectionately at a black and white cow cat on a wooden table. Dialogue: 'If only you could turn into a handsome guy.'] shot_2, [Medium shot, the cow cat is licking its paws, then a burst of retro white physical smoke effect erupts in the center of the screen.] shot_3, [Transformation, smoke clears, a handsome man in white robes appears where the cat was.] shot_4, [Over-the-shoulder shot, the woman looks surprised and happy, reaching out to touch the man's shoulder or chest. Dialogue: 'Wow, you really became a handsome guy!'] shot_5, [Medium shot, the man has a serious expression, gesturing with orchid fingers and speaking in a charming tone. Dialogue: 'Did you forget you already neutered me? I've changed now, I'm your sister!'] shot_6, [Close-up, the woman is stunned in place, expression shocked. Dialogue: 'Ah!?'] audio_and_post_production: 'Puff' transformation sound effect, nostalgic Hong Kong background music, AI voiceover with 'old movie' or 'TVB dubbing style' accent, duration 00:30.\",\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/08b292a22998460684d2d5e56c3b6014/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/08b292a22998460684d2d5e56c3b6014/manifest/video.m3u8',\n author: 'Alex Zhang',\n sourceUrl: 'https://x.com/jojogh_007/status/2048969153202307329',\n license: 'CC-BY-4.0',\n tags: ['cinematic', 'product'],\n },\n {\n id: 'soul-switching-mirror-magic-sequence',\n title: 'Soul-Switching Mirror Magic Sequence',\n prompt: '0s – 4s (Opening Mystery)\\nA hidden magical kingdom under heavy rain at night. The girl stands beside a glowing water mirror in an ancient palace courtyard. Blue magical fog surrounds her. The water reflects faint glowing runes. She slowly reaches toward the reflection.\\nCamera: Slow push-in close-up, cinematic depth of field\\nMood: Mysterious, calm tension, soft rain sounds\\n\\n4s – 8s (Soul Switch Event)\\nHer fingers touch the water reflection suddenly the surface shatters into glowing blue energy. A magical pulse spreads. Her eyes flash with light as her soul violently switches with the crown prince.\\nCamera: Fast magical shockwave transition, close-up eye zoom\\nVFX: Soul transfer glow, water turning into floating light particles\\nMood: Intense, dramatic awakening\\n\\n8s – 12s (Living as the Prince)\\nNow inside the crown prince’s body (her consciousness), she stands in a royal throne room. Nobles bow before her, unaware of the switch. She struggles to act like him while hiding panic. Subtle expressions of confusion and fear.\\nCamera: Slow tracking shot through palace hall\\nLighting: Cold golden royal lighting with shadows\\nMood: Suspense, identity tension, hidden fear\\n\\n12s – 16s (Hidden Truth + Cliffhanger)\\nBack in the courtyard mirror, the prince (in her body) looks back at her real form from the reflection. The magical water starts cracking again, suggesting unstable soul connection. Blue energy rises violently.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/e614b54b8f60956db3cd9cb765db1d09/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/e614b54b8f60956db3cd9cb765db1d09/manifest/video.m3u8',\n author: 'Soulful Ai',\n sourceUrl: 'https://x.com/soulful__ai/status/2049094162134532477',\n license: 'CC-BY-4.0',\n tags: ['cinematic'],\n },\n {\n id: 'toaster-rocket-jumpscare',\n title: 'Toaster Rocket Jumpscare',\n prompt: 'A realistic shot of an old man in a cozy kitchen being jumpscared when his toaster launches the bread five feet into the air like a rocket. Handheld \"home video\" style capturing his genuine look of shock and the bread hitting the ceiling.A realistic shot of an old man in a cozy kitchen being jumpscared when his toaster launches the bread five feet into the air like a rocket. Handheld \"home video\" style capturing his genuine look of shock and the bread hitting the ceiling.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/fbf9f399fd8f4905a62661966d937ba8/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/fbf9f399fd8f4905a62661966d937ba8/manifest/video.m3u8',\n author: 'Marin',\n sourceUrl: 'https://x.com/MarinMethod/status/2049140113343394003',\n license: 'CC-BY-4.0',\n tags: ['food'],\n },\n {\n id: 'vintage-disney-style-pirate-crocodile-animation',\n title: 'Vintage Disney Style Pirate Crocodile Animation',\n prompt: \"Classic vintage Disney animation style. Scene 1: On a pirate ship sailing on the sea, a fat and sinister crocodile pirate stands at the end of a plank. Three bird pirates are watching on the ship, while another bird pirate stands at the beginning of the plank, pointing a sword at the crocodile pirate. The crocodile pirate is wearing a sleeveless tight suit and is muscular. He looks at the bird pirates provocatively. Although he is a bit overwhelmed, he does not intend to give up. The bird pirates look at the crocodile pirate with evil smiles. The atmosphere is tense, and the bird pirates hope the crocodile pirate will jump off the plank into the sea below. Scene 2: The bird pirate says it's all over. He slams the plank with his claw, and the plank shakes. The crocodile pirate loses his balance and falls off the plank. Scene 3: The bird pirates let out evil laughter, but then discover that the crocodile pirate did not fall. Instead, he is grabbing the end of the plank with one hand, his arm stretched straight. Scene 4: Close-up of the crocodile pirate's upper body. A bird pirate leans down with a sly smile, reaches out a feather, and points it at the armpit of the arm the crocodile pirate is using to grab the plank, saying: \\\"It's time to laugh out loud.\\\" Scene 5: Close-up of the feather wriggling in the crocodile's armpit, accompanied by funny sound effects. At the same time, we hear the crocodile chuckling. Scene 6: The camera focuses on the upper body of the crocodile hanging in the air, smirking, eyes closed, letting out a muffled laugh as the feather continues to tickle its armpit. Scene 7: The camera sweeps across the crocodile pirate's whole body; the bird pirate continues to tickle his armpit, and soon the crocodile pirate starts laughing out loud. Scene 8: The bird continues to tickle the crocodile pirate's armpit, making him laugh hysterically. Suddenly, the crocodile pirate laughs so hard that he lets go of the plank and falls into the sea. The bird pirate finally lets out a sly chuckle, with a satisfied smile on his face, and stands back on the plank. English voiceover.\",\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3db7bf471d6244585f772e001af0c625/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/3db7bf471d6244585f772e001af0c625/manifest/video.m3u8',\n author: 'migrok',\n sourceUrl: 'https://x.com/migrok293703/status/2049073744346239415',\n license: 'CC-BY-4.0',\n tags: [],\n },\n {\n id: 'wasteland-factory-chase',\n title: 'Wasteland Factory Chase',\n prompt: 'Ultra-realistic desert horizon. A gigantic industrial factory moving on mechanical legs crosses the wasteland like a living city. Female rebel riding a fast bike toward it. Scrap armor forms from metal debris. Defense drones launch from the machine. Camera chases beside hoverbike at high speed. She jumps from bike onto a drone, smashes it, lands on the walking factory. Final frame: towering machine blocks the sun.',\n aspect: '16:9',\n poster: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c00999fd2444b7303984afe02b739e64/thumbnails/thumbnail.jpg',\n hls: 'https://customer-qs6wnyfuv0gcybzj.cloudflarestream.com/c00999fd2444b7303984afe02b739e64/manifest/video.m3u8',\n author: 'Alexandra Aisling',\n sourceUrl: 'https://x.com/AllaAisling/status/2049132779288322134',\n license: 'CC-BY-4.0',\n tags: ['action'],\n },\n];\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {PROMO_POLL_EVERY_MS,PRODUCE_STATUS_ACTION,PROMO_CONNECTOR,promoRunTimeoutMs}from'./promoVideo.js';import {deriveBackendGraphqlUrl,runActionAcceptsJob}from'./videoEditor/remoteMediaClient.js';import {tokenClaims}from'./sessionIdentity.js';var __defProp = Object.defineProperty;
|
|
1
|
+
import {PROMO_POLL_EVERY_MS,PRODUCE_STATUS_ACTION,PROMO_CONNECTOR,promoRunTimeoutMs}from'./promoVideo.js';import {deriveBackendGraphqlUrl,runActionAcceptsJob}from'./videoEditor/remoteMediaClient.js';import {tokenClaims}from'./sessionIdentity.js';import {RENDER_POLL_MAX_MS,RENDER_POLL_EVERY_MS,RENDER_STATUS_ACTION,VIDEO_EDIT_CONNECTOR}from'./videoEditor/renderTimeline.js';var __defProp = Object.defineProperty;
|
|
2
2
|
var __defProps = Object.defineProperties;
|
|
3
3
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
4
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -39,6 +39,7 @@ const JOB_DEADLINE_GRACE_MS = 10 * 6e4;
|
|
|
39
39
|
const AGENT_OWNED_GRACE_MS = 2 * 6e4;
|
|
40
40
|
const SERVER_JOB_BUDGET_MS = 2e3;
|
|
41
41
|
const LEGACY_JOB_DEADLINE_MS = 24 * 60 * 6e4;
|
|
42
|
+
const GENERATION_BUDGET_MS = 30 * 6e4;
|
|
42
43
|
const LIPSYNC_BUDGET_MS = 15 * 6e4;
|
|
43
44
|
const jobDeadlineAt = (startedAt, budgetMs) => startedAt + budgetMs + JOB_DEADLINE_GRACE_MS;
|
|
44
45
|
const jobKey = (job) => `${job.surface}:${job.id}`;
|
|
@@ -50,6 +51,7 @@ function jobDeadline(job) {
|
|
|
50
51
|
function isStaleJob(job, now = Date.now()) {
|
|
51
52
|
return job.state === "running" && now > jobDeadline(job);
|
|
52
53
|
}
|
|
54
|
+
const agentHasJob = (server) => server.agentOwned === true || Boolean(server.runId) || server.verdictBy === "agent";
|
|
53
55
|
const isDeadlineVerdict = (record) => record.state === "failed" && record.verdictBy === "deadline";
|
|
54
56
|
function jobBoardId(job) {
|
|
55
57
|
const handle = job.handle;
|
|
@@ -58,19 +60,61 @@ function jobBoardId(job) {
|
|
|
58
60
|
return handle.kind === "channel" && typeof handle.channelId === "string" && handle.channelId ? handle.channelId : void 0;
|
|
59
61
|
}
|
|
60
62
|
const isWebUrl = (value) => typeof value === "string" && /^https?:\/\//i.test(value);
|
|
61
|
-
const
|
|
62
|
-
const
|
|
63
|
+
const WIRE_FIELD_MAX_BYTES = 16 * 1024;
|
|
64
|
+
const WIRE_RESULTS_MAX = 50;
|
|
65
|
+
function utf8Length(text) {
|
|
66
|
+
let bytes = 0;
|
|
67
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
68
|
+
const code = text.charCodeAt(i);
|
|
69
|
+
if (code < 128) bytes += 1;
|
|
70
|
+
else if (code < 2048) bytes += 2;
|
|
71
|
+
else if (code >= 55296 && code <= 56319 && i + 1 < text.length) {
|
|
72
|
+
const next = text.charCodeAt(i + 1);
|
|
73
|
+
if (next >= 56320 && next <= 57343) {
|
|
74
|
+
bytes += 4;
|
|
75
|
+
i += 1;
|
|
76
|
+
} else bytes += 3;
|
|
77
|
+
} else bytes += 3;
|
|
78
|
+
}
|
|
79
|
+
return bytes;
|
|
80
|
+
}
|
|
81
|
+
function byteSize(value) {
|
|
63
82
|
try {
|
|
64
|
-
|
|
83
|
+
const json = JSON.stringify(value);
|
|
84
|
+
return json === void 0 ? 0 : utf8Length(json);
|
|
65
85
|
} catch (e) {
|
|
66
|
-
return
|
|
86
|
+
return Number.POSITIVE_INFINITY;
|
|
67
87
|
}
|
|
68
|
-
}
|
|
88
|
+
}
|
|
89
|
+
function boundedInput(input) {
|
|
90
|
+
if (byteSize(input) <= WIRE_FIELD_MAX_BYTES) return input;
|
|
91
|
+
const _a = input, {
|
|
92
|
+
params: _params
|
|
93
|
+
} = _a, named = __objRest(_a, [
|
|
94
|
+
"params"
|
|
95
|
+
]);
|
|
96
|
+
if (byteSize(named) <= WIRE_FIELD_MAX_BYTES) return named;
|
|
97
|
+
const _b = named, {
|
|
98
|
+
references: _references
|
|
99
|
+
} = _b, bare = __objRest(_b, [
|
|
100
|
+
"references"
|
|
101
|
+
]);
|
|
102
|
+
if (byteSize(bare) <= WIRE_FIELD_MAX_BYTES) return bare;
|
|
103
|
+
return bare.prompt ? {
|
|
104
|
+
prompt: bare.prompt.slice(0, 4e3)
|
|
105
|
+
} : void 0;
|
|
106
|
+
}
|
|
107
|
+
function boundedHandle(handle) {
|
|
108
|
+
if (byteSize(handle) <= WIRE_FIELD_MAX_BYTES) return handle;
|
|
109
|
+
const plain = Object.fromEntries(Object.entries(handle).filter(([, v]) => typeof v !== "object" && String(v).length <= 512));
|
|
110
|
+
return byteSize(plain) <= WIRE_FIELD_MAX_BYTES ? plain : void 0;
|
|
111
|
+
}
|
|
69
112
|
function browserDetails(job) {
|
|
70
113
|
const _a = job, {
|
|
71
114
|
remoteId: _remoteId,
|
|
72
115
|
agentOwned: _agentOwned,
|
|
73
116
|
verdictBy: _verdictBy,
|
|
117
|
+
runId: _runId,
|
|
74
118
|
result: _result,
|
|
75
119
|
hasResult: _hasResult,
|
|
76
120
|
resultUrl: _resultUrl,
|
|
@@ -83,6 +127,7 @@ function browserDetails(job) {
|
|
|
83
127
|
"remoteId",
|
|
84
128
|
"agentOwned",
|
|
85
129
|
"verdictBy",
|
|
130
|
+
"runId",
|
|
86
131
|
"result",
|
|
87
132
|
"hasResult",
|
|
88
133
|
"resultUrl",
|
|
@@ -92,18 +137,17 @@ function browserDetails(job) {
|
|
|
92
137
|
"input",
|
|
93
138
|
"handle"
|
|
94
139
|
]);
|
|
95
|
-
const webResults = results == null ? void 0 : results.filter((r) => isWebUrl(r.url)).slice(0,
|
|
96
|
-
const keptInput = input ?
|
|
97
|
-
|
|
98
|
-
} : void 0 : void 0;
|
|
140
|
+
const webResults = results == null ? void 0 : results.filter((r) => isWebUrl(r.url)).slice(0, WIRE_RESULTS_MAX);
|
|
141
|
+
const keptInput = input ? boundedInput(input) : void 0;
|
|
142
|
+
const keptHandle = handle ? boundedHandle(handle) : void 0;
|
|
99
143
|
return __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, rest), (webResults == null ? void 0 : webResults.length) ? {
|
|
100
144
|
results: webResults
|
|
101
145
|
} : {}), isWebUrl(pageUrl) ? {
|
|
102
146
|
pageUrl
|
|
103
147
|
} : {}), keptInput ? {
|
|
104
148
|
input: keptInput
|
|
105
|
-
} : {}),
|
|
106
|
-
handle
|
|
149
|
+
} : {}), keptHandle ? {
|
|
150
|
+
handle: keptHandle
|
|
107
151
|
} : {});
|
|
108
152
|
}
|
|
109
153
|
function jobFingerprint(job) {
|
|
@@ -194,7 +238,7 @@ function jobFromTaskRow(row) {
|
|
|
194
238
|
const handle = d.handle && typeof d.handle === "object" ? d.handle : void 0;
|
|
195
239
|
const verdictBy = d.verdictBy === "agent" || d.verdictBy === "browser" || d.verdictBy === "deadline" ? d.verdictBy : void 0;
|
|
196
240
|
const updatedAt = timestampMs(row == null ? void 0 : row.updatedAt);
|
|
197
|
-
return __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
|
|
241
|
+
return __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
|
|
198
242
|
id,
|
|
199
243
|
surface,
|
|
200
244
|
lane: (_d = str(d.lane)) != null ? _d : "job",
|
|
@@ -232,6 +276,8 @@ function jobFromTaskRow(row) {
|
|
|
232
276
|
agentOwned: true
|
|
233
277
|
} : {}), verdictBy ? {
|
|
234
278
|
verdictBy
|
|
279
|
+
} : {}), str(d.runId) ? {
|
|
280
|
+
runId: str(d.runId)
|
|
235
281
|
} : {}), d.result !== void 0 && d.result !== null ? {
|
|
236
282
|
result: d.result
|
|
237
283
|
} : {}), d.hasResult === true ? {
|
|
@@ -250,9 +296,64 @@ function sortJobs(jobs) {
|
|
|
250
296
|
});
|
|
251
297
|
}
|
|
252
298
|
const isExportTask = (task) => task.kind === "export" || task.kind === "video-export";
|
|
299
|
+
const isGenerateTask = (task) => task.kind === "generate";
|
|
300
|
+
function generationTaskToJob(t) {
|
|
301
|
+
var _a, _b, _c;
|
|
302
|
+
const media = (_a = t.media) != null ? _a : "image";
|
|
303
|
+
const input = t.input;
|
|
304
|
+
return __spreadValues(__spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
|
|
305
|
+
id: t.id,
|
|
306
|
+
surface: CANVAS_SURFACE,
|
|
307
|
+
lane: media,
|
|
308
|
+
title: t.title,
|
|
309
|
+
brief: t.brief,
|
|
310
|
+
state: t.state === "submitting" ? "running" : t.state,
|
|
311
|
+
createdAt: t.createdAt
|
|
312
|
+
}, t.startedAt ? {
|
|
313
|
+
startedAt: t.startedAt
|
|
314
|
+
} : {}), t.endedAt ? {
|
|
315
|
+
endedAt: t.endedAt
|
|
316
|
+
} : {}), t.lastLine ? {
|
|
317
|
+
progress: t.lastLine
|
|
318
|
+
} : {}), ((_b = t.result) == null ? void 0 : _b.url) ? {
|
|
319
|
+
results: [{
|
|
320
|
+
url: t.result.url,
|
|
321
|
+
kind: media
|
|
322
|
+
}]
|
|
323
|
+
} : {}), t.error ? {
|
|
324
|
+
error: t.error
|
|
325
|
+
} : {}), t.delivered ? {
|
|
326
|
+
delivered: true
|
|
327
|
+
} : {}), t.owner ? {
|
|
328
|
+
owner: t.owner
|
|
329
|
+
} : {}), {
|
|
330
|
+
input: input ? __spreadValues(__spreadValues(__spreadValues({
|
|
331
|
+
prompt: input.prompt,
|
|
332
|
+
connector: input.connector,
|
|
333
|
+
action: input.action,
|
|
334
|
+
params: input.params
|
|
335
|
+
}, input.model ? {
|
|
336
|
+
model: input.model
|
|
337
|
+
} : {}), input.aspectRatio ? {
|
|
338
|
+
aspectRatio: input.aspectRatio
|
|
339
|
+
} : {}), ((_c = input.references) == null ? void 0 : _c.length) ? {
|
|
340
|
+
references: input.references
|
|
341
|
+
} : {}) : {
|
|
342
|
+
prompt: t.brief
|
|
343
|
+
},
|
|
344
|
+
handle: {
|
|
345
|
+
boardId: t.boardId
|
|
346
|
+
}
|
|
347
|
+
}), t.deadlineAt ? {
|
|
348
|
+
deadlineAt: t.deadlineAt
|
|
349
|
+
} : {}), t.verdictBy ? {
|
|
350
|
+
verdictBy: t.verdictBy
|
|
351
|
+
} : {});
|
|
352
|
+
}
|
|
253
353
|
function canvasTaskToJob(task) {
|
|
254
354
|
var _a, _b, _c, _d;
|
|
255
355
|
const t = task;
|
|
356
|
+
if (isGenerateTask(task)) return generationTaskToJob(t);
|
|
256
357
|
const isExport = isExportTask(task);
|
|
257
358
|
const handle = (_a = isExport ? t.render : t.handle) != null ? _a : {};
|
|
258
359
|
const request = (_b = t.request) != null ? _b : {};
|
|
@@ -337,6 +438,19 @@ const LIPSYNC_FOLLOW = {
|
|
|
337
438
|
succeeded: ["completed"],
|
|
338
439
|
failed: ["failed"]
|
|
339
440
|
};
|
|
441
|
+
const RENDER_FOLLOW = {
|
|
442
|
+
connector: VIDEO_EDIT_CONNECTOR,
|
|
443
|
+
action: RENDER_STATUS_ACTION,
|
|
444
|
+
params: {
|
|
445
|
+
sandbox_id: "sandbox_id",
|
|
446
|
+
run_id: "run_id"
|
|
447
|
+
},
|
|
448
|
+
interval_ms: RENDER_POLL_EVERY_MS,
|
|
449
|
+
deadline_ms: RENDER_POLL_MAX_MS,
|
|
450
|
+
state_key: "state",
|
|
451
|
+
succeeded: ["succeeded"],
|
|
452
|
+
failed: ["failed"]
|
|
453
|
+
};
|
|
340
454
|
const isSettledStatus = (status) => status === "COMPLETED" || status === "BLOCKED";
|
|
341
455
|
function createTaskApiTransport(token, graphqlUrl) {
|
|
342
456
|
return {
|
|
@@ -370,6 +484,7 @@ function configureServerTasks(session) {
|
|
|
370
484
|
owner = typeof sub === "string" && sub ? sub : void 0;
|
|
371
485
|
}
|
|
372
486
|
const taskApiTransport = () => transport;
|
|
487
|
+
const currentOwner = () => owner;
|
|
373
488
|
let missing = /* @__PURE__ */ new WeakMap();
|
|
374
489
|
const isMissing = (t, field) => {
|
|
375
490
|
var _a;
|
|
@@ -578,7 +693,7 @@ async function awaitAgentVerdict(remoteId, options) {
|
|
|
578
693
|
if (!job) return null;
|
|
579
694
|
if (job.state !== "running") return job;
|
|
580
695
|
const at = now();
|
|
581
|
-
if (job
|
|
696
|
+
if (agentHasJob(job)) onProgress == null ? void 0 : onProgress(job);
|
|
582
697
|
else if (at - submittedAt >= graceMs) return null;
|
|
583
698
|
if (at >= deadlineAt) throw new Error(DEADLINE_VERDICT_ERROR);
|
|
584
699
|
}
|
|
@@ -694,4 +809,23 @@ async function trackLipSync(input) {
|
|
|
694
809
|
void updateSurfaceJob(t, server.remoteId, surfaceJobPatch(done)).catch(() => void 0);
|
|
695
810
|
}
|
|
696
811
|
});
|
|
697
|
-
}
|
|
812
|
+
}
|
|
813
|
+
async function registerExportJob(task, exists) {
|
|
814
|
+
const job = canvasTaskToJob(task);
|
|
815
|
+
await recordLocalJob(owner ? __spreadProps(__spreadValues({}, job), {
|
|
816
|
+
owner
|
|
817
|
+
}) : job, {
|
|
818
|
+
exists
|
|
819
|
+
});
|
|
820
|
+
return serverJobRef(canvasJobKey(task.id), {
|
|
821
|
+
follow: RENDER_FOLLOW
|
|
822
|
+
});
|
|
823
|
+
}
|
|
824
|
+
function exportUrlFromVerdict(job) {
|
|
825
|
+
var _a, _b, _c, _d;
|
|
826
|
+
const hit = (_a = job.results) == null ? void 0 : _a.find((r) => r.url);
|
|
827
|
+
if (hit) return hit.url;
|
|
828
|
+
const answer = (_b = job.result) != null ? _b : {};
|
|
829
|
+
const inner = answer.data && typeof answer.data === "object" ? answer.data : answer;
|
|
830
|
+
return (_d = (_c = str(inner.output_url)) != null ? _c : str(inner.outputUrl)) != null ? _d : str(inner.url);
|
|
831
|
+
}export{AGENT_OWNED_GRACE_MS,AGENT_VERDICT_INTERVAL_MS,CANVAS_SURFACE,DEADLINE_VERDICT_ERROR,EXPORT_LANE,GENERATION_BUDGET_MS,JOB_DEADLINE_GRACE_MS,LEGACY_JOB_DEADLINE_MS,LIPSYNC_BUDGET_MS,LIPSYNC_FOLLOW,LIPSYNC_LANE,PROMO_FOLLOW_SLACK_MS,PROMO_LANE,RENDER_FOLLOW,SERVER_JOB_BUDGET_MS,SURFACE_JOB_KIND,WIRE_FIELD_MAX_BYTES,WIRE_RESULTS_MAX,agentHasJob,awaitAgentVerdict,boundedHandle,boundedInput,browserDetails,byteSize,canvasJobKey,canvasTaskToJob,claimDelivery,configureServerTasks,createTaskApiTransport,currentOwner,exportUrlFromVerdict,forgetServerJob,getRemoteJob,isDeadlineVerdict,isExportTask,isGenerateTask,isSettledStatus,isStaleJob,jobBoardId,jobDeadline,jobDeadlineAt,jobFingerprint,jobFromTaskRow,jobKey,jobStateFor,lipSyncVideoFromVerdict,listRemoteJobs,lookupRemoteJobId,promoFollowSpec,promoVideoFromVerdict,recordLocalJob,recordServerJob,recordSurfaceJob,registerExportJob,registerPromoJob,removeSurfaceJob,runWithJob,serverJobId,serverJobRef,serverProgressLine,sortJobs,surfaceJobPatch,taskApiTransport,trackLipSync,updateSurfaceJob};//# sourceMappingURL=serverTasks.js.map
|