Let text-to-video generate without a still: Still/Text lives on the Video card, and Text mode skips the required input image.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -38,6 +38,26 @@
|
||||
</button>
|
||||
</div>
|
||||
<p v-else class="border-t border-white/10 px-4 py-2 text-xs text-zinc-500">MiniMax H3</p>
|
||||
<div class="grid grid-cols-2 border-t border-white/10">
|
||||
<button
|
||||
type="button"
|
||||
class="border-r border-white/10 px-3 py-2.5 text-left text-sm transition"
|
||||
:class="engineBtnClass(current === 'video' && videoStart === 'still')"
|
||||
@click="pickStart('still')"
|
||||
>
|
||||
<span class="block font-semibold">Still</span>
|
||||
<span class="text-xs opacity-80">Image to video</span>
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="px-3 py-2.5 text-left text-sm transition"
|
||||
:class="engineBtnClass(current === 'video' && videoStart === 'text')"
|
||||
@click="pickStart('text')"
|
||||
>
|
||||
<span class="block font-semibold">Text</span>
|
||||
<span class="text-xs opacity-80">No start still</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
@@ -123,11 +143,13 @@ const props = withDefaults(defineProps<{
|
||||
current: 'video' | 'image' | 'music'
|
||||
ltxEnabled?: boolean
|
||||
videoEngine?: 'minimax' | 'ltx'
|
||||
videoStart?: 'still' | 'text'
|
||||
imageEngine?: 'flux' | 'krea'
|
||||
musicEngine?: 'ace' | 'yue'
|
||||
}>(), {
|
||||
ltxEnabled: false,
|
||||
videoEngine: 'minimax',
|
||||
videoStart: 'still',
|
||||
imageEngine: 'flux',
|
||||
musicEngine: 'ace'
|
||||
})
|
||||
@@ -135,6 +157,7 @@ const props = withDefaults(defineProps<{
|
||||
const emit = defineEmits<{
|
||||
select: [kind: 'video' | 'image']
|
||||
'video-engine': [engine: 'minimax' | 'ltx']
|
||||
'video-start': [start: 'still' | 'text']
|
||||
'image-engine': [engine: 'flux' | 'krea']
|
||||
'music-engine': [engine: 'ace' | 'yue']
|
||||
}>()
|
||||
@@ -149,6 +172,11 @@ function pickVideo(engine: 'minimax' | 'ltx') {
|
||||
if (props.current !== 'video') emit('select', 'video')
|
||||
}
|
||||
|
||||
function pickStart(start: 'still' | 'text') {
|
||||
emit('video-start', start)
|
||||
if (props.current !== 'video') emit('select', 'video')
|
||||
}
|
||||
|
||||
function pickImage(engine: 'flux' | 'krea') {
|
||||
emit('image-engine', engine)
|
||||
if (props.current !== 'image') emit('select', 'image')
|
||||
|
||||
Reference in New Issue
Block a user