Commit e8e21050c2d5d5533c96fde3ede8286d54cfd91d
1 parent
77fc25b6
Bump default clip duration to 10s (was 5s)
H3_GEN_PARAMS.frames 120 -> 240 (at 24fps, 5s -> 10s), still within H3's 4-15s range (H2 in docs/h3skill.md). Updated the prompt-optimization system prompt's duration reference and widened its word budget (40-70 -> 60-100) to match — still one continuous shot, just more room to let the camera move and the action unfold. Verified against the real GLM endpoint. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0144MiJ2cLjMd9jWaeEpVfUJ
Showing
2 changed files
with
93 additions
and
51 deletions
library.json
| ... | ... | @@ -385,7 +385,8 @@ |
| 385 | 385 | "likes": 0, |
| 386 | 386 | "createdAt": 1788188423583, |
| 387 | 387 | "promptEn": "woman in white scared, dodging", |
| 388 | - "lastPlayedAt": 1788253953855 | |
| 388 | + "lastPlayedAt": 1788256884709, | |
| 389 | + "playCount": 1 | |
| 389 | 390 | }, |
| 390 | 391 | { |
| 391 | 392 | "id": "1597db4be561", |
| ... | ... | @@ -415,8 +416,9 @@ |
| 415 | 416 | "partition": "ref2va", |
| 416 | 417 | "likes": 0, |
| 417 | 418 | "createdAt": 1788186218619, |
| 418 | - "lastPlayedAt": 1788253885823, | |
| 419 | - "promptEn": "woman in white evading, scared" | |
| 419 | + "lastPlayedAt": 1788256608572, | |
| 420 | + "promptEn": "woman in white evading, scared", | |
| 421 | + "playCount": 1 | |
| 420 | 422 | }, |
| 421 | 423 | { |
| 422 | 424 | "id": "6cb4eb75ee09", |
| ... | ... | @@ -447,7 +449,8 @@ |
| 447 | 449 | "likes": 0, |
| 448 | 450 | "createdAt": 1788181569491, |
| 449 | 451 | "promptEn": "a massive warship glides through the stars, the bridge suddenly shakes hard", |
| 450 | - "lastPlayedAt": 1788254390052 | |
| 452 | + "lastPlayedAt": 1788256956743, | |
| 453 | + "playCount": 1 | |
| 451 | 454 | }, |
| 452 | 455 | { |
| 453 | 456 | "id": "44bf5b969e94", |
| ... | ... | @@ -698,7 +701,8 @@ |
| 698 | 701 | "likes": 0, |
| 699 | 702 | "createdAt": 1788039783070, |
| 700 | 703 | "promptEn": "silver-haired idol backstage, red light pulsing, offering a blood-red contract", |
| 701 | - "lastPlayedAt": 1788251726803 | |
| 704 | + "lastPlayedAt": 1788256740633, | |
| 705 | + "playCount": 1 | |
| 702 | 706 | }, |
| 703 | 707 | { |
| 704 | 708 | "id": "75bdbacd3012", |
| ... | ... | @@ -713,7 +717,8 @@ |
| 713 | 717 | "likes": 0, |
| 714 | 718 | "createdAt": 1788039782992, |
| 715 | 719 | "promptEn": "silver-haired idol backstage, red light pulsing, offering a blood-red contract", |
| 716 | - "lastPlayedAt": 1788250966325 | |
| 720 | + "lastPlayedAt": 1788256952747, | |
| 721 | + "playCount": 1 | |
| 717 | 722 | }, |
| 718 | 723 | { |
| 719 | 724 | "id": "69e75a6b3997", |
| ... | ... | @@ -728,7 +733,8 @@ |
| 728 | 733 | "likes": 0, |
| 729 | 734 | "createdAt": 1788027833836, |
| 730 | 735 | "promptEn": "wounded hunter at a ruined subway dungeon entrance, lightning flickers, pointing into the tunnel", |
| 731 | - "lastPlayedAt": 1788254268003 | |
| 736 | + "lastPlayedAt": 1788256770648, | |
| 737 | + "playCount": 1 | |
| 732 | 738 | }, |
| 733 | 739 | { |
| 734 | 740 | "id": "cde399c27dc4", |
| ... | ... | @@ -867,7 +873,8 @@ |
| 867 | 873 | "likes": 0, |
| 868 | 874 | "createdAt": 1788025642732, |
| 869 | 875 | "promptEn": "Vecna reaching out a claw in his lair in the Upside Down, red lightning", |
| 870 | - "lastPlayedAt": 1788254043902 | |
| 876 | + "lastPlayedAt": 1788256948747, | |
| 877 | + "playCount": 1 | |
| 871 | 878 | }, |
| 872 | 879 | { |
| 873 | 880 | "id": "00862f966c3f", |
| ... | ... | @@ -1072,7 +1079,8 @@ |
| 1072 | 1079 | "likes": 0, |
| 1073 | 1080 | "createdAt": 1788019483999, |
| 1074 | 1081 | "promptEn": "constable rushes in, glances back at the door, then talks to the woman behind the screen", |
| 1075 | - "lastPlayedAt": 1788252139001 | |
| 1082 | + "lastPlayedAt": 1788256844693, | |
| 1083 | + "playCount": 1 | |
| 1076 | 1084 | }, |
| 1077 | 1085 | { |
| 1078 | 1086 | "id": "998e3e6f9a2f", |
| ... | ... | @@ -1541,7 +1549,8 @@ |
| 1541 | 1549 | "likes": 0, |
| 1542 | 1550 | "createdAt": 1788010775613, |
| 1543 | 1551 | "promptEn": "facing Voldemort, stayed passive and got cornered", |
| 1544 | - "lastPlayedAt": 1788254061908 | |
| 1552 | + "lastPlayedAt": 1788256874709, | |
| 1553 | + "playCount": 1 | |
| 1545 | 1554 | }, |
| 1546 | 1555 | { |
| 1547 | 1556 | "id": "795842efa4a1", |
| ... | ... | @@ -1571,7 +1580,8 @@ |
| 1571 | 1580 | "likes": 0, |
| 1572 | 1581 | "createdAt": 1788010299688, |
| 1573 | 1582 | "promptEn": "facing Thanos, exploiting a flaw to counter him", |
| 1574 | - "lastPlayedAt": 1788251102950 | |
| 1583 | + "lastPlayedAt": 1788256914727, | |
| 1584 | + "playCount": 1 | |
| 1575 | 1585 | }, |
| 1576 | 1586 | { |
| 1577 | 1587 | "id": "469294a4ed09", |
| ... | ... | @@ -1586,7 +1596,8 @@ |
| 1586 | 1596 | "likes": 0, |
| 1587 | 1597 | "createdAt": 1788010062535, |
| 1588 | 1598 | "promptEn": "facing Thanos, held the goal but paid a price", |
| 1589 | - "lastPlayedAt": 1788254091920 | |
| 1599 | + "lastPlayedAt": 1788256578563, | |
| 1600 | + "playCount": 1 | |
| 1590 | 1601 | }, |
| 1591 | 1602 | { |
| 1592 | 1603 | "id": "324b84ebc607", |
| ... | ... | @@ -1633,7 +1644,8 @@ |
| 1633 | 1644 | "likes": 0, |
| 1634 | 1645 | "createdAt": 1788009346020, |
| 1635 | 1646 | "promptEn": "battlefield on Titan, the last chance to stop Thanos", |
| 1636 | - "lastPlayedAt": 1788252467159 | |
| 1647 | + "lastPlayedAt": 1788256852697, | |
| 1648 | + "playCount": 1 | |
| 1637 | 1649 | }, |
| 1638 | 1650 | { |
| 1639 | 1651 | "id": "66a96c6bc7cb", |
| ... | ... | @@ -1725,7 +1737,8 @@ |
| 1725 | 1737 | "likes": 0, |
| 1726 | 1738 | "createdAt": 1788007915610, |
| 1727 | 1739 | "promptEn": "in the ruined city, exploiting a flaw to counter Tomura", |
| 1728 | - "lastPlayedAt": 1788252961326 | |
| 1740 | + "lastPlayedAt": 1788256800671, | |
| 1741 | + "playCount": 1 | |
| 1729 | 1742 | }, |
| 1730 | 1743 | { |
| 1731 | 1744 | "id": "f67685cd6862", |
| ... | ... | @@ -1771,7 +1784,8 @@ |
| 1771 | 1784 | "likes": 0, |
| 1772 | 1785 | "createdAt": 1788007201908, |
| 1773 | 1786 | "promptEn": "breaking into the palace, Neferpitou stalling to protect the king", |
| 1774 | - "lastPlayedAt": 1788254139946 | |
| 1787 | + "lastPlayedAt": 1788256816681, | |
| 1788 | + "playCount": 1 | |
| 1775 | 1789 | }, |
| 1776 | 1790 | { |
| 1777 | 1791 | "id": "628026375795", |
| ... | ... | @@ -1880,7 +1894,8 @@ |
| 1880 | 1894 | "likes": 0, |
| 1881 | 1895 | "createdAt": 1788005541640, |
| 1882 | 1896 | "promptEn": "facing Frieza, went in head-on and got seen through", |
| 1883 | - "lastPlayedAt": 1788253741753 | |
| 1897 | + "lastPlayedAt": 1788256826688, | |
| 1898 | + "playCount": 1 | |
| 1884 | 1899 | }, |
| 1885 | 1900 | { |
| 1886 | 1901 | "id": "574b47b00316", |
| ... | ... | @@ -2160,7 +2175,8 @@ |
| 2160 | 2175 | "likes": 0, |
| 2161 | 2176 | "createdAt": 1788001428705, |
| 2162 | 2177 | "promptEn": "in the ruins of Konoha, exploiting a flaw to counter Pain", |
| 2163 | - "lastPlayedAt": 1788253511622 | |
| 2178 | + "lastPlayedAt": 1788256774651, | |
| 2179 | + "playCount": 1 | |
| 2164 | 2180 | }, |
| 2165 | 2181 | { |
| 2166 | 2182 | "id": "e486fab4c24d", |
| ... | ... | @@ -2207,7 +2223,8 @@ |
| 2207 | 2223 | "likes": 0, |
| 2208 | 2224 | "createdAt": 1788000812932, |
| 2209 | 2225 | "promptEn": "facing Pain, went in head-on and got seen through", |
| 2210 | - "lastPlayedAt": 1788253905836 | |
| 2226 | + "lastPlayedAt": 1788256552547, | |
| 2227 | + "playCount": 1 | |
| 2211 | 2228 | }, |
| 2212 | 2229 | { |
| 2213 | 2230 | "id": "f691ac021df0", |
| ... | ... | @@ -2318,7 +2335,8 @@ |
| 2318 | 2335 | "likes": 0, |
| 2319 | 2336 | "createdAt": 1787999397097, |
| 2320 | 2337 | "promptEn": "facing Sakazuki, stayed passive and got cornered", |
| 2321 | - "lastPlayedAt": 1788253761764 | |
| 2338 | + "lastPlayedAt": 1788256856695, | |
| 2339 | + "playCount": 1 | |
| 2322 | 2340 | }, |
| 2323 | 2341 | { |
| 2324 | 2342 | "id": "88923aaf57f3", |
| ... | ... | @@ -2412,7 +2430,8 @@ |
| 2412 | 2430 | "likes": 0, |
| 2413 | 2431 | "createdAt": 1787831362083, |
| 2414 | 2432 | "promptEn": "constable promises to get her out safely if she trusts him", |
| 2415 | - "lastPlayedAt": 1788253719743 | |
| 2433 | + "lastPlayedAt": 1788256588563, | |
| 2434 | + "playCount": 1 | |
| 2416 | 2435 | }, |
| 2417 | 2436 | { |
| 2418 | 2437 | "id": "5ede61c01b22", |
| ... | ... | @@ -2506,7 +2525,8 @@ |
| 2506 | 2525 | "likes": 0, |
| 2507 | 2526 | "createdAt": 1787738044140, |
| 2508 | 2527 | "promptEn": "constable carefully checks the door and window latches, she watches from behind the screen", |
| 2509 | - "lastPlayedAt": 1788252857278 | |
| 2528 | + "lastPlayedAt": 1788256778656, | |
| 2529 | + "playCount": 1 | |
| 2510 | 2530 | }, |
| 2511 | 2531 | { |
| 2512 | 2532 | "id": "cfbef6e37ae4", |
| ... | ... | @@ -2616,7 +2636,8 @@ |
| 2616 | 2636 | "likes": 0, |
| 2617 | 2637 | "createdAt": 1787708686397, |
| 2618 | 2638 | "promptEn": "constable accepts the invitation, moves to sit on a stool closer to the screen", |
| 2619 | - "lastPlayedAt": 1788254145947 | |
| 2639 | + "lastPlayedAt": 1788256558556, | |
| 2640 | + "playCount": 1 | |
| 2620 | 2641 | }, |
| 2621 | 2642 | { |
| 2622 | 2643 | "id": "ad611bcbd06b", |
| ... | ... | @@ -2854,7 +2875,8 @@ |
| 2854 | 2875 | "likes": 0, |
| 2855 | 2876 | "createdAt": 1787674737743, |
| 2856 | 2877 | "promptEn": "constable slowly looks around the room, discovers her watching him motionlessly through the screen", |
| 2857 | - "lastPlayedAt": 1788253445593 | |
| 2878 | + "lastPlayedAt": 1788256932741, | |
| 2879 | + "playCount": 1 | |
| 2858 | 2880 | }, |
| 2859 | 2881 | { |
| 2860 | 2882 | "id": "c74118d0413f", |
| ... | ... | @@ -2933,7 +2955,8 @@ |
| 2933 | 2955 | "likes": 0, |
| 2934 | 2956 | "createdAt": 1787674660698, |
| 2935 | 2957 | "promptEn": "constable smashes the bronze mirror on the table, it shatters, she watches from behind the screen", |
| 2936 | - "lastPlayedAt": 1788248649121 | |
| 2958 | + "lastPlayedAt": 1788256696614, | |
| 2959 | + "playCount": 1 | |
| 2937 | 2960 | }, |
| 2938 | 2961 | { |
| 2939 | 2962 | "id": "ed77b83851a2", |
| ... | ... | @@ -2964,7 +2987,8 @@ |
| 2964 | 2987 | "likes": 0, |
| 2965 | 2988 | "createdAt": 1787674642026, |
| 2966 | 2989 | "promptEn": "constable enters from the side and sits down on a stool by the lamp to rest", |
| 2967 | - "lastPlayedAt": 1788251330505 | |
| 2990 | + "lastPlayedAt": 1788256726628, | |
| 2991 | + "playCount": 1 | |
| 2968 | 2992 | }, |
| 2969 | 2993 | { |
| 2970 | 2994 | "id": "fe7ffbe65653", |
| ... | ... | @@ -3120,8 +3144,9 @@ |
| 3120 | 3144 | "partition": "ref2va", |
| 3121 | 3145 | "likes": 0, |
| 3122 | 3146 | "createdAt": 1787652321725, |
| 3123 | - "lastPlayedAt": 1788250646200, | |
| 3124 | - "promptEn": "constable talking to the woman through the screen" | |
| 3147 | + "lastPlayedAt": 1788256572557, | |
| 3148 | + "promptEn": "constable talking to the woman through the screen", | |
| 3149 | + "playCount": 1 | |
| 3125 | 3150 | }, |
| 3126 | 3151 | { |
| 3127 | 3152 | "id": "31ade4712105", |
| ... | ... | @@ -3278,7 +3303,8 @@ |
| 3278 | 3303 | "likes": 0, |
| 3279 | 3304 | "createdAt": 1787615240988, |
| 3280 | 3305 | "promptEn": "clay fox sprints off a cliff, slow-mo leap over the canyon", |
| 3281 | - "lastPlayedAt": 1788251894893 | |
| 3306 | + "lastPlayedAt": 1788256758642, | |
| 3307 | + "playCount": 1 | |
| 3282 | 3308 | }, |
| 3283 | 3309 | { |
| 3284 | 3310 | "id": "db125dc6a831", |
| ... | ... | @@ -3308,7 +3334,8 @@ |
| 3308 | 3334 | "likes": 0, |
| 3309 | 3335 | "createdAt": 1787588547172, |
| 3310 | 3336 | "promptEn": "product website scrolling down with flashy effects", |
| 3311 | - "lastPlayedAt": 1788251228453 | |
| 3337 | + "lastPlayedAt": 1788256804674, | |
| 3338 | + "playCount": 1 | |
| 3312 | 3339 | }, |
| 3313 | 3340 | { |
| 3314 | 3341 | "id": "2e18bf09b46a", |
| ... | ... | @@ -3432,7 +3459,8 @@ |
| 3432 | 3459 | "likes": 0, |
| 3433 | 3460 | "createdAt": 1787588541726, |
| 3434 | 3461 | "promptEn": "woman opens the trunk on a desert road, takes out a bag", |
| 3435 | - "lastPlayedAt": 1788254335882 | |
| 3462 | + "lastPlayedAt": 1788256832684, | |
| 3463 | + "playCount": 1 | |
| 3436 | 3464 | }, |
| 3437 | 3465 | { |
| 3438 | 3466 | "id": "97846542ab09", |
| ... | ... | @@ -3495,7 +3523,8 @@ |
| 3495 | 3523 | "likes": 0, |
| 3496 | 3524 | "createdAt": 1787588114381, |
| 3497 | 3525 | "promptEn": "underground rap duo freestyling at the camera", |
| 3498 | - "lastPlayedAt": 1788253391568 | |
| 3526 | + "lastPlayedAt": 1788256628586, | |
| 3527 | + "playCount": 1 | |
| 3499 | 3528 | }, |
| 3500 | 3529 | { |
| 3501 | 3530 | "id": "58a439a93c02", |
| ... | ... | @@ -3589,7 +3618,8 @@ |
| 3589 | 3618 | "likes": 0, |
| 3590 | 3619 | "createdAt": 1787576798050, |
| 3591 | 3620 | "promptEn": "man says he's willing to give her his heart", |
| 3592 | - "lastPlayedAt": 1788252199033 | |
| 3621 | + "lastPlayedAt": 1788256716625, | |
| 3622 | + "playCount": 1 | |
| 3593 | 3623 | }, |
| 3594 | 3624 | { |
| 3595 | 3625 | "id": "57f2c6fa351d", |
| ... | ... | @@ -3635,8 +3665,9 @@ |
| 3635 | 3665 | "partition": "text", |
| 3636 | 3666 | "likes": 0, |
| 3637 | 3667 | "createdAt": 1787576358982, |
| 3638 | - "lastPlayedAt": 1788253923842, | |
| 3639 | - "promptEn": "man apologizes, says something outside was chasing him" | |
| 3668 | + "lastPlayedAt": 1788256794665, | |
| 3669 | + "promptEn": "man apologizes, says something outside was chasing him", | |
| 3670 | + "playCount": 1 | |
| 3640 | 3671 | }, |
| 3641 | 3672 | { |
| 3642 | 3673 | "id": "9fca8054035f", |
| ... | ... | @@ -3681,7 +3712,8 @@ |
| 3681 | 3712 | "likes": 0, |
| 3682 | 3713 | "createdAt": 1787575164928, |
| 3683 | 3714 | "promptEn": "man apologizes, says something outside was chasing him", |
| 3684 | - "lastPlayedAt": 1788249631916 | |
| 3715 | + "lastPlayedAt": 1788256880712, | |
| 3716 | + "playCount": 1 | |
| 3685 | 3717 | }, |
| 3686 | 3718 | { |
| 3687 | 3719 | "id": "250fad90393c", |
| ... | ... | @@ -3918,7 +3950,8 @@ |
| 3918 | 3950 | "likes": 0, |
| 3919 | 3951 | "createdAt": 1787470100107, |
| 3920 | 3952 | "promptEn": "MiniMax H3 brand motion graphics, a dot growing into a network", |
| 3921 | - "lastPlayedAt": 1788248973345 | |
| 3953 | + "lastPlayedAt": 1788256862702, | |
| 3954 | + "playCount": 1 | |
| 3922 | 3955 | }, |
| 3923 | 3956 | { |
| 3924 | 3957 | "id": "194e9bd77da6", |
| ... | ... | @@ -3963,7 +3996,8 @@ |
| 3963 | 3996 | "likes": 0, |
| 3964 | 3997 | "createdAt": 1787470099306, |
| 3965 | 3998 | "promptEn": "late-night laundromat footage mixed with glowing hand-drawn animation", |
| 3966 | - "lastPlayedAt": 1788254294016 | |
| 3999 | + "lastPlayedAt": 1788256744635, | |
| 4000 | + "playCount": 1 | |
| 3967 | 4001 | }, |
| 3968 | 4002 | { |
| 3969 | 4003 | "id": "c0e23beb4132", |
| ... | ... | @@ -4073,7 +4107,8 @@ |
| 4073 | 4107 | "likes": 0, |
| 4074 | 4108 | "createdAt": 1787450754171, |
| 4075 | 4109 | "promptEn": "protagonist leaps across rooftops fleeing pursuers", |
| 4076 | - "lastPlayedAt": 1788253279519 | |
| 4110 | + "lastPlayedAt": 1788256646594, | |
| 4111 | + "playCount": 1 | |
| 4077 | 4112 | }, |
| 4078 | 4113 | { |
| 4079 | 4114 | "id": "fd0183c54763", |
| ... | ... | @@ -4289,7 +4324,8 @@ |
| 4289 | 4324 | "likes": 0, |
| 4290 | 4325 | "createdAt": 1787412952086, |
| 4291 | 4326 | "promptEn": "protagonist leaps across rooftops fleeing pursuers", |
| 4292 | - "lastPlayedAt": 1788253367553 | |
| 4327 | + "lastPlayedAt": 1788256920735, | |
| 4328 | + "playCount": 1 | |
| 4293 | 4329 | }, |
| 4294 | 4330 | { |
| 4295 | 4331 | "id": "59fd7a087f5b", |
| ... | ... | @@ -4492,7 +4528,8 @@ |
| 4492 | 4528 | "likes": 0, |
| 4493 | 4529 | "createdAt": 1787367454249, |
| 4494 | 4530 | "promptEn": "golden portal opens, man in green jacket throws a glowing spear", |
| 4495 | - "lastPlayedAt": 1788252831263 | |
| 4531 | + "lastPlayedAt": 1788256850694, | |
| 4532 | + "playCount": 1 | |
| 4496 | 4533 | }, |
| 4497 | 4534 | { |
| 4498 | 4535 | "id": "c48af2f34e62", |
| ... | ... | @@ -4523,7 +4560,8 @@ |
| 4523 | 4560 | "likes": 0, |
| 4524 | 4561 | "createdAt": 1787367453839, |
| 4525 | 4562 | "promptEn": "golden portal opens, man in green jacket throws a glowing spear", |
| 4526 | - "lastPlayedAt": 1788254041895 | |
| 4563 | + "lastPlayedAt": 1788256642593, | |
| 4564 | + "playCount": 1 | |
| 4527 | 4565 | }, |
| 4528 | 4566 | { |
| 4529 | 4567 | "id": "8402adae59dc", |
| ... | ... | @@ -4697,7 +4735,8 @@ |
| 4697 | 4735 | "likes": 0, |
| 4698 | 4736 | "createdAt": 1787304031103, |
| 4699 | 4737 | "promptEn": "constable asks how she's sure it's not human, she says a person would make a sound", |
| 4700 | - "lastPlayedAt": 1788252124992 | |
| 4738 | + "lastPlayedAt": 1788256900724, | |
| 4739 | + "playCount": 1 | |
| 4701 | 4740 | }, |
| 4702 | 4741 | { |
| 4703 | 4742 | "id": "807e042dce0d", |
| ... | ... | @@ -4759,7 +4798,8 @@ |
| 4759 | 4798 | "likes": 0, |
| 4760 | 4799 | "createdAt": 1787231456079, |
| 4761 | 4800 | "promptEn": "constable burns the beauty portrait with the lamp, the door opens on its own", |
| 4762 | - "lastPlayedAt": 1788251682774 | |
| 4801 | + "lastPlayedAt": 1788256546550, | |
| 4802 | + "playCount": 1 | |
| 4763 | 4803 | }, |
| 4764 | 4804 | { |
| 4765 | 4805 | "id": "66158f543a20", |
| ... | ... | @@ -4789,7 +4829,8 @@ |
| 4789 | 4829 | "likes": 0, |
| 4790 | 4830 | "createdAt": 1787225897650, |
| 4791 | 4831 | "promptEn": "constable burns the beauty portrait with the lamp, the door opens on its own", |
| 4792 | - "lastPlayedAt": 1788254544113 | |
| 4832 | + "lastPlayedAt": 1788256970757, | |
| 4833 | + "playCount": 1 | |
| 4793 | 4834 | }, |
| 4794 | 4835 | { |
| 4795 | 4836 | "id": "ed3663dcda7f", |
| ... | ... | @@ -4820,7 +4861,8 @@ |
| 4820 | 4861 | "likes": 0, |
| 4821 | 4862 | "createdAt": 1787224519456, |
| 4822 | 4863 | "promptEn": "constable burns the beauty portrait with the lamp, the door opens on its own", |
| 4823 | - "lastPlayedAt": 1788252627218 | |
| 4864 | + "lastPlayedAt": 1788256710623, | |
| 4865 | + "playCount": 1 | |
| 4824 | 4866 | }, |
| 4825 | 4867 | { |
| 4826 | 4868 | "id": "a1cc621cc6b2", | ... | ... |
server.js
| ... | ... | @@ -131,22 +131,22 @@ function glmChat(messages) { |
| 131 | 131 | |
| 132 | 132 | // Distilled from docs/h3skill.md (MiniMax's own H3 prompt-writing methodology) down to the one |
| 133 | 133 | // path that applies here: T2VA (no reference images — every chat prompt is plain text) on a clip |
| 134 | -// fixed at ~5s (H3_GEN_PARAMS.frames / FPS). At that length it's one continuous shot, never a | |
| 135 | -// multi-cut montage — the earlier version asked for "shot-by-shot" and reliably got 4-5 fake cuts | |
| 136 | -// with timestamps running out to 8-10s, which the model can't actually deliver in 5 seconds. | |
| 134 | +// fixed at ~10s (H3_GEN_PARAMS.frames / FPS). At that length it's one continuous shot, never a | |
| 135 | +// multi-cut montage — an earlier version asked for "shot-by-shot" and reliably got 4-5 fake cuts | |
| 136 | +// with timestamps running past the clip's own length, which the model can't actually deliver. | |
| 137 | 137 | const PROMPT_OPTIMIZE_SYSTEM = `You are writing H3 text-to-video generation prompts (T2VA mode — no |
| 138 | 138 | reference images, pure text-to-video). Expand the user's short request (may be in Chinese or English) |
| 139 | 139 | into the official H3 three-field format, in this exact order, using these exact field labels: |
| 140 | 140 | |
| 141 | 141 | integrated_multimodal_description: [Shot 1] one short style statement, e.g. "Live-action, cinematic." |
| 142 | -Then describe, in one continuous unbroken shot (the clip is only about 5 seconds long — never split | |
| 142 | +Then describe, in one continuous unbroken shot (the clip is only about 10 seconds long — never split | |
| 143 | 143 | into multiple shots or write more than [Shot 1]): the setting, the subject's specific action, and ONE |
| 144 | 144 | dominant camera movement using this vocabulary — Zoom In/Out, Push In/Pull Out, Pan Left/Right, Truck |
| 145 | 145 | Left/Right, Tilt Up/Down, Pedestal Up/Down, Arc Shot, Tracking Shot, Static Shot, Shake Slightly/ |
| 146 | 146 | Strongly, POV, Roll Clockwise/Counterclockwise — stated as type + amplitude (small/large) + speed |
| 147 | 147 | (slow/fast). Describe light concretely: where it comes from, what it hits, what effect it creates. |
| 148 | 148 | Never use hollow quality words alone (8K, HD, masterpiece, stunning, cinematic used alone, beautiful, |
| 149 | -high quality) — replace them with what is actually visible. 40-70 English words. | |
| 149 | +high quality) — replace them with what is actually visible. 60-100 English words. | |
| 150 | 150 | |
| 151 | 151 | overall_soundscape: 1-4 English sentences describing the ambient environmental sound the scene would |
| 152 | 152 | naturally have. |
| ... | ... | @@ -180,7 +180,7 @@ async function optimizePrompt(userPrompt) { |
| 180 | 180 | // own past-entry trimming naturally handles a state file that's gone stale |
| 181 | 181 | // (server was down long enough that every persisted entry is in the past). |
| 182 | 182 | const FILLER_DURATION_MS = 30000; // keep the schedule filled at least this far ahead |
| 183 | -const H3_GEN_PARAMS = { width: 480, height: 832, frames: 120, steps: 20, turbo: false, seed: 0 }; | |
| 183 | +const H3_GEN_PARAMS = { width: 480, height: 832, frames: 240, steps: 20, turbo: false, seed: 0 }; | |
| 184 | 184 | const FPS = 24; |
| 185 | 185 | |
| 186 | 186 | const initialLiveState = loadLiveState(); | ... | ... |