Spaces:
Sleeping
Sleeping
Commit
•
1f1caeb
1
Parent(s):
c5b101c
improvements
Browse files- package-lock.json +257 -0
- package.json +5 -0
- src/app/interface/video-player/equirectangular.tsx +1 -1
- src/app/interface/video-player/index.tsx +3 -0
- src/app/server/actions/ai-tube-hf/getChannelVideos.ts +6 -5
- src/app/server/actions/ai-tube-hf/getVideoRequestsFromChannel.ts +6 -5
- src/app/server/actions/ai-tube-hf/uploadVideoRequestToDataset.ts +11 -6
- src/app/server/actions/utils/computeOrientationProjectionWidthHeight.ts +51 -0
- src/app/server/actions/utils/orientationToWidthHeight.ts +0 -38
- src/app/server/actions/utils/parseVideoModelName.ts +9 -0
- src/app/server/actions/utils/parseVideoOrientation.ts +3 -2
- src/types.ts +3 -0
package-lock.json
CHANGED
@@ -9,6 +9,8 @@
|
|
9 |
"version": "0.0.0",
|
10 |
"dependencies": {
|
11 |
"@huggingface/inference": "^2.6.4",
|
|
|
|
|
12 |
"@radix-ui/react-accordion": "^1.1.2",
|
13 |
"@radix-ui/react-avatar": "^1.0.3",
|
14 |
"@radix-ui/react-checkbox": "^1.0.4",
|
@@ -44,6 +46,7 @@
|
|
44 |
"lucide-react": "^0.260.0",
|
45 |
"markdown-yaml-metadata-parser": "^3.0.0",
|
46 |
"next": "^14.0.4",
|
|
|
47 |
"pick": "^0.0.1",
|
48 |
"postcss": "8.4.26",
|
49 |
"qs": "^6.11.2",
|
@@ -52,10 +55,12 @@
|
|
52 |
"react-copy-to-clipboard": "^5.1.0",
|
53 |
"react-dom": "18.2.0",
|
54 |
"react-icons": "^4.12.0",
|
|
|
55 |
"react-smooth-scroll-hook": "^1.3.4",
|
56 |
"react-string-avatar": "^1.2.2",
|
57 |
"react-tuby": "^0.1.24",
|
58 |
"react-virtualized-auto-sizer": "^1.0.20",
|
|
|
59 |
"replicate": "^0.17.0",
|
60 |
"sbd": "^1.0.19",
|
61 |
"sentence-splitter": "^4.3.0",
|
@@ -496,6 +501,158 @@
|
|
496 |
"node": ">= 8"
|
497 |
}
|
498 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
499 |
"node_modules/@radix-ui/number": {
|
500 |
"version": "1.0.1",
|
501 |
"resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz",
|
@@ -3728,6 +3885,11 @@
|
|
3728 |
"node": ">=0.10.0"
|
3729 |
}
|
3730 |
},
|
|
|
|
|
|
|
|
|
|
|
3731 |
"node_modules/expand-template": {
|
3732 |
"version": "2.0.3",
|
3733 |
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
|
@@ -5244,6 +5406,15 @@
|
|
5244 |
"node": ">=8"
|
5245 |
}
|
5246 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5247 |
"node_modules/pick": {
|
5248 |
"version": "0.0.1",
|
5249 |
"resolved": "https://registry.npmjs.org/pick/-/pick-0.0.1.tgz",
|
@@ -5624,6 +5795,74 @@
|
|
5624 |
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
5625 |
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
5626 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5627 |
"node_modules/react-remove-scroll": {
|
5628 |
"version": "2.5.5",
|
5629 |
"resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
|
@@ -5732,6 +5971,18 @@
|
|
5732 |
"react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
|
5733 |
}
|
5734 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5735 |
"node_modules/read-cache": {
|
5736 |
"version": "1.0.0",
|
5737 |
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
@@ -6534,6 +6785,12 @@
|
|
6534 |
"node": ">=0.8"
|
6535 |
}
|
6536 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
6537 |
"node_modules/to-regex-range": {
|
6538 |
"version": "5.0.1",
|
6539 |
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
|
|
9 |
"version": "0.0.0",
|
10 |
"dependencies": {
|
11 |
"@huggingface/inference": "^2.6.4",
|
12 |
+
"@photo-sphere-viewer/core": "^5.5.1",
|
13 |
+
"@photo-sphere-viewer/video-plugin": "^5.5.1",
|
14 |
"@radix-ui/react-accordion": "^1.1.2",
|
15 |
"@radix-ui/react-avatar": "^1.0.3",
|
16 |
"@radix-ui/react-checkbox": "^1.0.4",
|
|
|
46 |
"lucide-react": "^0.260.0",
|
47 |
"markdown-yaml-metadata-parser": "^3.0.0",
|
48 |
"next": "^14.0.4",
|
49 |
+
"photo-sphere-viewer-lensflare-plugin": "^2.0.1",
|
50 |
"pick": "^0.0.1",
|
51 |
"postcss": "8.4.26",
|
52 |
"qs": "^6.11.2",
|
|
|
55 |
"react-copy-to-clipboard": "^5.1.0",
|
56 |
"react-dom": "18.2.0",
|
57 |
"react-icons": "^4.12.0",
|
58 |
+
"react-photo-sphere-viewer": "^4.0.2-psv5.4.4",
|
59 |
"react-smooth-scroll-hook": "^1.3.4",
|
60 |
"react-string-avatar": "^1.2.2",
|
61 |
"react-tuby": "^0.1.24",
|
62 |
"react-virtualized-auto-sizer": "^1.0.20",
|
63 |
+
"react-window-infinite-loader": "^1.0.9",
|
64 |
"replicate": "^0.17.0",
|
65 |
"sbd": "^1.0.19",
|
66 |
"sentence-splitter": "^4.3.0",
|
|
|
501 |
"node": ">= 8"
|
502 |
}
|
503 |
},
|
504 |
+
"node_modules/@photo-sphere-viewer/autorotate-plugin": {
|
505 |
+
"version": "5.5.1",
|
506 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/autorotate-plugin/-/autorotate-plugin-5.5.1.tgz",
|
507 |
+
"integrity": "sha512-ZU20ZYaa5VPNg3J+wh9GwS/yZxD9r+XPCE90FiekYnDyJ2wE3ckQ5m7h+BEvH4Hpb3rX0NVzyZl4iA9kubuxhQ==",
|
508 |
+
"peerDependencies": {
|
509 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
510 |
+
}
|
511 |
+
},
|
512 |
+
"node_modules/@photo-sphere-viewer/compass-plugin": {
|
513 |
+
"version": "5.5.1",
|
514 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/compass-plugin/-/compass-plugin-5.5.1.tgz",
|
515 |
+
"integrity": "sha512-tI5wKcVWwvebH2loI1C9B5CwR++Oz7yzODpGRhkjWADw2LLqjap0rJxiheYl6AiL+tHCWl4pIJ8lss6frZ1vkA==",
|
516 |
+
"peerDependencies": {
|
517 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
518 |
+
}
|
519 |
+
},
|
520 |
+
"node_modules/@photo-sphere-viewer/core": {
|
521 |
+
"version": "5.5.1",
|
522 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/core/-/core-5.5.1.tgz",
|
523 |
+
"integrity": "sha512-dddxySM0retvsO7cDa0lJ0oviGpSYZV9vJLqv126YoYnZZhL9fFOjkmJP+GSMLU6AU8pZIVuiVZ1TSWJaZcGrg==",
|
524 |
+
"dependencies": {
|
525 |
+
"three": "^0.159.0"
|
526 |
+
}
|
527 |
+
},
|
528 |
+
"node_modules/@photo-sphere-viewer/core/node_modules/three": {
|
529 |
+
"version": "0.159.0",
|
530 |
+
"resolved": "https://registry.npmjs.org/three/-/three-0.159.0.tgz",
|
531 |
+
"integrity": "sha512-eCmhlLGbBgucuo4VEA9IO3Qpc7dh8Bd4VKzr7WfW4+8hMcIfoAVi1ev0pJYN9PTTsCslbcKgBwr2wNZ1EvLInA=="
|
532 |
+
},
|
533 |
+
"node_modules/@photo-sphere-viewer/cubemap-adapter": {
|
534 |
+
"version": "5.5.1",
|
535 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-adapter/-/cubemap-adapter-5.5.1.tgz",
|
536 |
+
"integrity": "sha512-5K8UwrSlUR6EVFOoCxbZeLJXSJ40fgtTQ6Kj2ltZ++y9r9I6vkvtqTUCRnZs9yaYezcbCXbuppebLKSWhodZtA==",
|
537 |
+
"peerDependencies": {
|
538 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
539 |
+
}
|
540 |
+
},
|
541 |
+
"node_modules/@photo-sphere-viewer/cubemap-tiles-adapter": {
|
542 |
+
"version": "5.5.1",
|
543 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-tiles-adapter/-/cubemap-tiles-adapter-5.5.1.tgz",
|
544 |
+
"integrity": "sha512-NEt4GYGo8ZlnV1rCe4KWtZLPbcxQHlEjqnOUn1Laf1aGcxo64WWHoFaeDkAHR9aky+VJS6tJXbl4HFCtaqdp1g==",
|
545 |
+
"peerDependencies": {
|
546 |
+
"@photo-sphere-viewer/core": "5.5.1",
|
547 |
+
"@photo-sphere-viewer/cubemap-adapter": "5.5.1"
|
548 |
+
}
|
549 |
+
},
|
550 |
+
"node_modules/@photo-sphere-viewer/cubemap-video-adapter": {
|
551 |
+
"version": "5.5.1",
|
552 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/cubemap-video-adapter/-/cubemap-video-adapter-5.5.1.tgz",
|
553 |
+
"integrity": "sha512-YnASpozLY+8Wjud8f0+3XG8zGfTtdFSFjWja8pPpTl23gVukpBlKElrEargNrOznGW1TXvGoNXE34r4/OLJjeg==",
|
554 |
+
"peerDependencies": {
|
555 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
556 |
+
}
|
557 |
+
},
|
558 |
+
"node_modules/@photo-sphere-viewer/equirectangular-tiles-adapter": {
|
559 |
+
"version": "5.5.1",
|
560 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-tiles-adapter/-/equirectangular-tiles-adapter-5.5.1.tgz",
|
561 |
+
"integrity": "sha512-Uf88wdMHlXTCl8zLnwdRPS8HgaofK6EJyARXew/smJ4mR/0VUt9RWRE/8K9LrLhh01OYDEK7eo6sNXOhWsddLw==",
|
562 |
+
"peerDependencies": {
|
563 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
564 |
+
}
|
565 |
+
},
|
566 |
+
"node_modules/@photo-sphere-viewer/equirectangular-video-adapter": {
|
567 |
+
"version": "5.5.1",
|
568 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/equirectangular-video-adapter/-/equirectangular-video-adapter-5.5.1.tgz",
|
569 |
+
"integrity": "sha512-Obh3n9K00d8NiRWPaOQLNI31iW32k8wrc9ANVUNxVSIzDt8Hkd/qBBV7VZoQtuELiFK+EPz+61h1uisckf50lQ==",
|
570 |
+
"peerDependencies": {
|
571 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
572 |
+
}
|
573 |
+
},
|
574 |
+
"node_modules/@photo-sphere-viewer/gallery-plugin": {
|
575 |
+
"version": "5.5.1",
|
576 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gallery-plugin/-/gallery-plugin-5.5.1.tgz",
|
577 |
+
"integrity": "sha512-J+Futd4VSFmAU1kw7a9zBZi1GUZT5lGTf/mHmGdOZSX0+/hLY0txCJhD909aoFZYqC4JRczRWAgW5aIpdvfV+A==",
|
578 |
+
"peerDependencies": {
|
579 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
580 |
+
}
|
581 |
+
},
|
582 |
+
"node_modules/@photo-sphere-viewer/gyroscope-plugin": {
|
583 |
+
"version": "5.5.1",
|
584 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/gyroscope-plugin/-/gyroscope-plugin-5.5.1.tgz",
|
585 |
+
"integrity": "sha512-hgOzHHZyiM00/+5n3i386lI/Hf5dg4HCLpgxxeHP2eusieUI9JQIv4XNXWhzTq+OTdv1bwEj3wWXH65b+JuT/Q==",
|
586 |
+
"peerDependencies": {
|
587 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
588 |
+
}
|
589 |
+
},
|
590 |
+
"node_modules/@photo-sphere-viewer/map-plugin": {
|
591 |
+
"version": "5.5.1",
|
592 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/map-plugin/-/map-plugin-5.5.1.tgz",
|
593 |
+
"integrity": "sha512-Wbaco0/RvLOeq6u4FqzuEIsOY/gV2kzOTUnrYSVoGiP6opNfDT62Bd4F+MpUq+FjazI6uoXcfrbuz6SrZi7Nmg==",
|
594 |
+
"peerDependencies": {
|
595 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
596 |
+
}
|
597 |
+
},
|
598 |
+
"node_modules/@photo-sphere-viewer/markers-plugin": {
|
599 |
+
"version": "5.5.1",
|
600 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/markers-plugin/-/markers-plugin-5.5.1.tgz",
|
601 |
+
"integrity": "sha512-PnhmBplFFlT6CX4wz0qleGAHWOeZb+YmUCpOk/+zstUxf8Opf+XmXTZdk3M3bu/NmCe6DhkbyRl6f8aXDMQhhA==",
|
602 |
+
"peerDependencies": {
|
603 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
604 |
+
}
|
605 |
+
},
|
606 |
+
"node_modules/@photo-sphere-viewer/resolution-plugin": {
|
607 |
+
"version": "5.5.1",
|
608 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/resolution-plugin/-/resolution-plugin-5.5.1.tgz",
|
609 |
+
"integrity": "sha512-pa+mVfkfQ7AuypYNdHG8pFk9+bcn3GJpq1JMfcMwurKUVi4XbLxQCOb2yq7owZP/IEpp82L1cvV4o8cFIV+8Eg==",
|
610 |
+
"peerDependencies": {
|
611 |
+
"@photo-sphere-viewer/core": "5.5.1",
|
612 |
+
"@photo-sphere-viewer/settings-plugin": "5.5.1"
|
613 |
+
}
|
614 |
+
},
|
615 |
+
"node_modules/@photo-sphere-viewer/settings-plugin": {
|
616 |
+
"version": "5.5.1",
|
617 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/settings-plugin/-/settings-plugin-5.5.1.tgz",
|
618 |
+
"integrity": "sha512-M5FAdwBuPn7INW0q7MnYRscQMFJMlNb2yR1vyjyq5mmTsghnclsCPq+ghkFJ3n7aIsrwObxndbPtB1RvrA4Xbw==",
|
619 |
+
"peerDependencies": {
|
620 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
621 |
+
}
|
622 |
+
},
|
623 |
+
"node_modules/@photo-sphere-viewer/stereo-plugin": {
|
624 |
+
"version": "5.5.1",
|
625 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/stereo-plugin/-/stereo-plugin-5.5.1.tgz",
|
626 |
+
"integrity": "sha512-WSoi1i5JabGG7j+xTHXEE7S/AFY4xEM28EdwgJgPz+/S3xba7ouXWhOKCBE+Vjrka+mv0uwasaqRvFfzJrRJ0Q==",
|
627 |
+
"peerDependencies": {
|
628 |
+
"@photo-sphere-viewer/core": "5.5.1",
|
629 |
+
"@photo-sphere-viewer/gyroscope-plugin": "5.5.1"
|
630 |
+
}
|
631 |
+
},
|
632 |
+
"node_modules/@photo-sphere-viewer/video-plugin": {
|
633 |
+
"version": "5.5.1",
|
634 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/video-plugin/-/video-plugin-5.5.1.tgz",
|
635 |
+
"integrity": "sha512-sPxLWrwFnfj13XkxP+gCucagDDN0ZnYqUmrKpHe4aiAiwwiJIAdsllm7eq1e9dzYJoPk4tQuk9rJAuHseEbcsg==",
|
636 |
+
"peerDependencies": {
|
637 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
638 |
+
}
|
639 |
+
},
|
640 |
+
"node_modules/@photo-sphere-viewer/virtual-tour-plugin": {
|
641 |
+
"version": "5.5.1",
|
642 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/virtual-tour-plugin/-/virtual-tour-plugin-5.5.1.tgz",
|
643 |
+
"integrity": "sha512-1qnp8XBCb26WlVnR/8kalqIeGgC3+ioBOZGxPJ2pu88QUBfb6UHYub4lLdslvTVd0eaMrV4KamTtweoxLRfTjg==",
|
644 |
+
"peerDependencies": {
|
645 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
646 |
+
}
|
647 |
+
},
|
648 |
+
"node_modules/@photo-sphere-viewer/visible-range-plugin": {
|
649 |
+
"version": "5.5.1",
|
650 |
+
"resolved": "https://registry.npmjs.org/@photo-sphere-viewer/visible-range-plugin/-/visible-range-plugin-5.5.1.tgz",
|
651 |
+
"integrity": "sha512-Kt2zE99cHLdY0AjYVdmQjD0bQJj1MuSCz/J+2EFInA5O8xeanSjmTKOlaCoXuJPP8Q4j1e5gaY4/gguLjQ5P9w==",
|
652 |
+
"peerDependencies": {
|
653 |
+
"@photo-sphere-viewer/core": "5.5.1"
|
654 |
+
}
|
655 |
+
},
|
656 |
"node_modules/@radix-ui/number": {
|
657 |
"version": "1.0.1",
|
658 |
"resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz",
|
|
|
3885 |
"node": ">=0.10.0"
|
3886 |
}
|
3887 |
},
|
3888 |
+
"node_modules/eventemitter3": {
|
3889 |
+
"version": "5.0.1",
|
3890 |
+
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
|
3891 |
+
"integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
|
3892 |
+
},
|
3893 |
"node_modules/expand-template": {
|
3894 |
"version": "2.0.3",
|
3895 |
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
|
|
|
5406 |
"node": ">=8"
|
5407 |
}
|
5408 |
},
|
5409 |
+
"node_modules/photo-sphere-viewer-lensflare-plugin": {
|
5410 |
+
"version": "2.0.1",
|
5411 |
+
"resolved": "https://registry.npmjs.org/photo-sphere-viewer-lensflare-plugin/-/photo-sphere-viewer-lensflare-plugin-2.0.1.tgz",
|
5412 |
+
"integrity": "sha512-tF5uM/J0yOyYobTvcqPyClBXfdZbqfycBShZ8YSJDfjoi4co/y6gwsuN3XYvVKJz4GzfoY/t1BGQy/E0tLnMEA==",
|
5413 |
+
"peerDependencies": {
|
5414 |
+
"@photo-sphere-viewer/core": "^5.4.4",
|
5415 |
+
"three": "^0.158.0"
|
5416 |
+
}
|
5417 |
+
},
|
5418 |
"node_modules/pick": {
|
5419 |
"version": "0.0.1",
|
5420 |
"resolved": "https://registry.npmjs.org/pick/-/pick-0.0.1.tgz",
|
|
|
5795 |
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
5796 |
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
|
5797 |
},
|
5798 |
+
"node_modules/react-photo-sphere-viewer": {
|
5799 |
+
"version": "4.0.2-psv5.4.4",
|
5800 |
+
"resolved": "https://registry.npmjs.org/react-photo-sphere-viewer/-/react-photo-sphere-viewer-4.0.2-psv5.4.4.tgz",
|
5801 |
+
"integrity": "sha512-OYjbatB58IUO1msgh/1TL1iJeEoZxPswUrvOGYsUL5a4PeOJ0fDvqbVuYA1ZhXYwhRM2mH/M1JPFpc4gB81drA==",
|
5802 |
+
"dependencies": {
|
5803 |
+
"@photo-sphere-viewer/autorotate-plugin": "^5.4.4",
|
5804 |
+
"@photo-sphere-viewer/compass-plugin": "^5.4.4",
|
5805 |
+
"@photo-sphere-viewer/core": "^5.4.4",
|
5806 |
+
"@photo-sphere-viewer/cubemap-adapter": "^5.4.4",
|
5807 |
+
"@photo-sphere-viewer/cubemap-tiles-adapter": "^5.4.4",
|
5808 |
+
"@photo-sphere-viewer/cubemap-video-adapter": "^5.4.4",
|
5809 |
+
"@photo-sphere-viewer/equirectangular-tiles-adapter": "^5.4.4",
|
5810 |
+
"@photo-sphere-viewer/equirectangular-video-adapter": "^5.4.4",
|
5811 |
+
"@photo-sphere-viewer/gallery-plugin": "^5.4.4",
|
5812 |
+
"@photo-sphere-viewer/gyroscope-plugin": "^5.4.4",
|
5813 |
+
"@photo-sphere-viewer/map-plugin": "^5.4.4",
|
5814 |
+
"@photo-sphere-viewer/markers-plugin": "^5.4.4",
|
5815 |
+
"@photo-sphere-viewer/resolution-plugin": "^5.4.4",
|
5816 |
+
"@photo-sphere-viewer/settings-plugin": "^5.4.4",
|
5817 |
+
"@photo-sphere-viewer/stereo-plugin": "^5.4.4",
|
5818 |
+
"@photo-sphere-viewer/video-plugin": "^5.4.4",
|
5819 |
+
"@photo-sphere-viewer/virtual-tour-plugin": "^5.4.4",
|
5820 |
+
"@photo-sphere-viewer/visible-range-plugin": "^5.4.4",
|
5821 |
+
"autoprefixer": "^10.4.16",
|
5822 |
+
"eventemitter3": "^5.0.1",
|
5823 |
+
"photo-sphere-viewer-lensflare-plugin": "^2.0.0"
|
5824 |
+
},
|
5825 |
+
"engines": {
|
5826 |
+
"node": ">=8",
|
5827 |
+
"npm": ">=5"
|
5828 |
+
}
|
5829 |
+
},
|
5830 |
+
"node_modules/react-photo-sphere-viewer/node_modules/autoprefixer": {
|
5831 |
+
"version": "10.4.16",
|
5832 |
+
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz",
|
5833 |
+
"integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==",
|
5834 |
+
"funding": [
|
5835 |
+
{
|
5836 |
+
"type": "opencollective",
|
5837 |
+
"url": "https://opencollective.com/postcss/"
|
5838 |
+
},
|
5839 |
+
{
|
5840 |
+
"type": "tidelift",
|
5841 |
+
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
|
5842 |
+
},
|
5843 |
+
{
|
5844 |
+
"type": "github",
|
5845 |
+
"url": "https://github.com/sponsors/ai"
|
5846 |
+
}
|
5847 |
+
],
|
5848 |
+
"dependencies": {
|
5849 |
+
"browserslist": "^4.21.10",
|
5850 |
+
"caniuse-lite": "^1.0.30001538",
|
5851 |
+
"fraction.js": "^4.3.6",
|
5852 |
+
"normalize-range": "^0.1.2",
|
5853 |
+
"picocolors": "^1.0.0",
|
5854 |
+
"postcss-value-parser": "^4.2.0"
|
5855 |
+
},
|
5856 |
+
"bin": {
|
5857 |
+
"autoprefixer": "bin/autoprefixer"
|
5858 |
+
},
|
5859 |
+
"engines": {
|
5860 |
+
"node": "^10 || ^12 || >=14"
|
5861 |
+
},
|
5862 |
+
"peerDependencies": {
|
5863 |
+
"postcss": "^8.1.0"
|
5864 |
+
}
|
5865 |
+
},
|
5866 |
"node_modules/react-remove-scroll": {
|
5867 |
"version": "2.5.5",
|
5868 |
"resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
|
|
|
5971 |
"react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc"
|
5972 |
}
|
5973 |
},
|
5974 |
+
"node_modules/react-window-infinite-loader": {
|
5975 |
+
"version": "1.0.9",
|
5976 |
+
"resolved": "https://registry.npmjs.org/react-window-infinite-loader/-/react-window-infinite-loader-1.0.9.tgz",
|
5977 |
+
"integrity": "sha512-5Hg89IdU4Vrp0RT8kZYKeTIxWZYhNkVXeI1HbKo01Vm/Z7qztDvXljwx16sMzsa9yapRJQW3ODZfMUw38SOWHw==",
|
5978 |
+
"engines": {
|
5979 |
+
"node": ">8.0.0"
|
5980 |
+
},
|
5981 |
+
"peerDependencies": {
|
5982 |
+
"react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0",
|
5983 |
+
"react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0"
|
5984 |
+
}
|
5985 |
+
},
|
5986 |
"node_modules/read-cache": {
|
5987 |
"version": "1.0.0",
|
5988 |
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
|
|
|
6785 |
"node": ">=0.8"
|
6786 |
}
|
6787 |
},
|
6788 |
+
"node_modules/three": {
|
6789 |
+
"version": "0.158.0",
|
6790 |
+
"resolved": "https://registry.npmjs.org/three/-/three-0.158.0.tgz",
|
6791 |
+
"integrity": "sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==",
|
6792 |
+
"peer": true
|
6793 |
+
},
|
6794 |
"node_modules/to-regex-range": {
|
6795 |
"version": "5.0.1",
|
6796 |
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
package.json
CHANGED
@@ -10,6 +10,8 @@
|
|
10 |
},
|
11 |
"dependencies": {
|
12 |
"@huggingface/inference": "^2.6.4",
|
|
|
|
|
13 |
"@radix-ui/react-accordion": "^1.1.2",
|
14 |
"@radix-ui/react-avatar": "^1.0.3",
|
15 |
"@radix-ui/react-checkbox": "^1.0.4",
|
@@ -45,6 +47,7 @@
|
|
45 |
"lucide-react": "^0.260.0",
|
46 |
"markdown-yaml-metadata-parser": "^3.0.0",
|
47 |
"next": "^14.0.4",
|
|
|
48 |
"pick": "^0.0.1",
|
49 |
"postcss": "8.4.26",
|
50 |
"qs": "^6.11.2",
|
@@ -53,10 +56,12 @@
|
|
53 |
"react-copy-to-clipboard": "^5.1.0",
|
54 |
"react-dom": "18.2.0",
|
55 |
"react-icons": "^4.12.0",
|
|
|
56 |
"react-smooth-scroll-hook": "^1.3.4",
|
57 |
"react-string-avatar": "^1.2.2",
|
58 |
"react-tuby": "^0.1.24",
|
59 |
"react-virtualized-auto-sizer": "^1.0.20",
|
|
|
60 |
"replicate": "^0.17.0",
|
61 |
"sbd": "^1.0.19",
|
62 |
"sentence-splitter": "^4.3.0",
|
|
|
10 |
},
|
11 |
"dependencies": {
|
12 |
"@huggingface/inference": "^2.6.4",
|
13 |
+
"@photo-sphere-viewer/core": "^5.5.1",
|
14 |
+
"@photo-sphere-viewer/video-plugin": "^5.5.1",
|
15 |
"@radix-ui/react-accordion": "^1.1.2",
|
16 |
"@radix-ui/react-avatar": "^1.0.3",
|
17 |
"@radix-ui/react-checkbox": "^1.0.4",
|
|
|
47 |
"lucide-react": "^0.260.0",
|
48 |
"markdown-yaml-metadata-parser": "^3.0.0",
|
49 |
"next": "^14.0.4",
|
50 |
+
"photo-sphere-viewer-lensflare-plugin": "^2.0.1",
|
51 |
"pick": "^0.0.1",
|
52 |
"postcss": "8.4.26",
|
53 |
"qs": "^6.11.2",
|
|
|
56 |
"react-copy-to-clipboard": "^5.1.0",
|
57 |
"react-dom": "18.2.0",
|
58 |
"react-icons": "^4.12.0",
|
59 |
+
"react-photo-sphere-viewer": "^4.0.2-psv5.4.4",
|
60 |
"react-smooth-scroll-hook": "^1.3.4",
|
61 |
"react-string-avatar": "^1.2.2",
|
62 |
"react-tuby": "^0.1.24",
|
63 |
"react-virtualized-auto-sizer": "^1.0.20",
|
64 |
+
"react-window-infinite-loader": "^1.0.9",
|
65 |
"replicate": "^0.17.0",
|
66 |
"sbd": "^1.0.19",
|
67 |
"sentence-splitter": "^4.3.0",
|
src/app/interface/video-player/equirectangular.tsx
CHANGED
@@ -72,7 +72,7 @@ export function EquirectangularVideoPlayer({
|
|
72 |
// progressbar: true,
|
73 |
bigbutton: false
|
74 |
}],
|
75 |
-
|
76 |
[ResolutionPlugin, {
|
77 |
defaultResolution: 'HD',
|
78 |
resolutions: [
|
|
|
72 |
// progressbar: true,
|
73 |
bigbutton: false
|
74 |
}],
|
75 |
+
SettingsPlugin,
|
76 |
[ResolutionPlugin, {
|
77 |
defaultResolution: 'HD',
|
78 |
resolutions: [
|
src/app/interface/video-player/index.tsx
CHANGED
@@ -23,6 +23,9 @@ export function VideoPlayer({
|
|
23 |
// we should our video players from misssing data
|
24 |
if (!video?.assetUrl) { return null }
|
25 |
|
|
|
|
|
|
|
26 |
const isEquirectangular = (
|
27 |
video.projection === "equirectangular" ||
|
28 |
parseProjectionFromLoRA(video.lora) === "equirectangular"
|
|
|
23 |
// we should our video players from misssing data
|
24 |
if (!video?.assetUrl) { return null }
|
25 |
|
26 |
+
video.assetUrl = "/demo.mp4"
|
27 |
+
video.projection = "equirectangular"
|
28 |
+
|
29 |
const isEquirectangular = (
|
30 |
video.projection === "equirectangular" ||
|
31 |
parseProjectionFromLoRA(video.lora) === "equirectangular"
|
src/app/server/actions/ai-tube-hf/getChannelVideos.ts
CHANGED
@@ -6,8 +6,7 @@ import { getVideoRequestsFromChannel } from "./getVideoRequestsFromChannel"
|
|
6 |
import { adminApiKey } from "../config"
|
7 |
import { getVideoIndex } from "./getVideoIndex"
|
8 |
import { extendVideosWithStats } from "./extendVideosWithStats"
|
9 |
-
import {
|
10 |
-
import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
|
11 |
|
12 |
// return
|
13 |
export async function getChannelVideos({
|
@@ -47,7 +46,6 @@ export async function getChannelVideos({
|
|
47 |
thumbnailUrl: v.thumbnailUrl,
|
48 |
model: v.model,
|
49 |
lora: v.lora,
|
50 |
-
projection: parseProjectionFromLoRA(v.lora),
|
51 |
style: v.style,
|
52 |
voice: v.voice,
|
53 |
music: v.music,
|
@@ -59,8 +57,11 @@ export async function getChannelVideos({
|
|
59 |
tags: v.tags,
|
60 |
channel,
|
61 |
duration: v.duration || 0,
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
if (queued[v.id]) {
|
|
|
6 |
import { adminApiKey } from "../config"
|
7 |
import { getVideoIndex } from "./getVideoIndex"
|
8 |
import { extendVideosWithStats } from "./extendVideosWithStats"
|
9 |
+
import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
|
|
|
10 |
|
11 |
// return
|
12 |
export async function getChannelVideos({
|
|
|
46 |
thumbnailUrl: v.thumbnailUrl,
|
47 |
model: v.model,
|
48 |
lora: v.lora,
|
|
|
49 |
style: v.style,
|
50 |
voice: v.voice,
|
51 |
music: v.music,
|
|
|
57 |
tags: v.tags,
|
58 |
channel,
|
59 |
duration: v.duration || 0,
|
60 |
+
...computeOrientationProjectionWidthHeight({
|
61 |
+
lora: v.lora,
|
62 |
+
orientation: v.orientation,
|
63 |
+
// projection, // <- will be extrapolated from the LoRA for now
|
64 |
+
}),
|
65 |
}
|
66 |
|
67 |
if (queued[v.id]) {
|
src/app/server/actions/ai-tube-hf/getVideoRequestsFromChannel.ts
CHANGED
@@ -6,9 +6,7 @@ import { listFiles } from "@/huggingface/hub/src"
|
|
6 |
import { parsePromptFileName } from "../utils/parsePromptFileName"
|
7 |
import { downloadFileAsText } from "./downloadFileAsText"
|
8 |
import { parseDatasetPrompt } from "../utils/parseDatasetPrompt"
|
9 |
-
import {
|
10 |
-
import { orientationToWidthHeight } from "../utils/orientationToWidthHeight"
|
11 |
-
import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
|
12 |
|
13 |
/**
|
14 |
* Return all the videos requests created by a user on their channel
|
@@ -115,9 +113,12 @@ export async function getVideoRequestsFromChannel({
|
|
115 |
updatedAt: file.lastCommit?.date || new Date().toISOString(),
|
116 |
tags: Array.isArray(tags) && tags.length ? tags : channel.tags,
|
117 |
channel,
|
118 |
-
orientation,
|
119 |
-
...orientationToWidthHeight(orientation),
|
120 |
duration: 0,
|
|
|
|
|
|
|
|
|
|
|
121 |
}
|
122 |
|
123 |
videos[id] = video
|
|
|
6 |
import { parsePromptFileName } from "../utils/parsePromptFileName"
|
7 |
import { downloadFileAsText } from "./downloadFileAsText"
|
8 |
import { parseDatasetPrompt } from "../utils/parseDatasetPrompt"
|
9 |
+
import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
|
|
|
|
|
10 |
|
11 |
/**
|
12 |
* Return all the videos requests created by a user on their channel
|
|
|
113 |
updatedAt: file.lastCommit?.date || new Date().toISOString(),
|
114 |
tags: Array.isArray(tags) && tags.length ? tags : channel.tags,
|
115 |
channel,
|
|
|
|
|
116 |
duration: 0,
|
117 |
+
...computeOrientationProjectionWidthHeight({
|
118 |
+
lora,
|
119 |
+
orientation,
|
120 |
+
// projection, // <- will be extrapolated from the LoRA for now
|
121 |
+
}),
|
122 |
}
|
123 |
|
124 |
videos[id] = video
|
src/app/server/actions/ai-tube-hf/uploadVideoRequestToDataset.ts
CHANGED
@@ -5,8 +5,7 @@ import { Blob } from "buffer"
|
|
5 |
import { Credentials, uploadFile, whoAmI } from "@/huggingface/hub/src"
|
6 |
import { ChannelInfo, VideoGenerationModel, VideoInfo, VideoOrientation, VideoRequest } from "@/types"
|
7 |
import { formatPromptFileName } from "../utils/formatPromptFileName"
|
8 |
-
import {
|
9 |
-
import { parseProjectionFromLoRA } from "../utils/parseProjectionFromLoRA"
|
10 |
|
11 |
/**
|
12 |
* Save the video request to the user's own dataset
|
@@ -131,7 +130,11 @@ ${prompt}
|
|
131 |
tags,
|
132 |
channel,
|
133 |
duration: 0,
|
134 |
-
|
|
|
|
|
|
|
|
|
135 |
}
|
136 |
|
137 |
const newVideo: VideoInfo = {
|
@@ -143,7 +146,6 @@ ${prompt}
|
|
143 |
model,
|
144 |
style,
|
145 |
lora,
|
146 |
-
projection: parseProjectionFromLoRA(lora),
|
147 |
voice,
|
148 |
music,
|
149 |
thumbnailUrl: channel.thumbnail, // will be generated in async
|
@@ -155,8 +157,11 @@ ${prompt}
|
|
155 |
tags,
|
156 |
channel,
|
157 |
duration,
|
158 |
-
|
159 |
-
|
|
|
|
|
|
|
160 |
}
|
161 |
|
162 |
return {
|
|
|
5 |
import { Credentials, uploadFile, whoAmI } from "@/huggingface/hub/src"
|
6 |
import { ChannelInfo, VideoGenerationModel, VideoInfo, VideoOrientation, VideoRequest } from "@/types"
|
7 |
import { formatPromptFileName } from "../utils/formatPromptFileName"
|
8 |
+
import { computeOrientationProjectionWidthHeight } from "../utils/computeOrientationProjectionWidthHeight"
|
|
|
9 |
|
10 |
/**
|
11 |
* Save the video request to the user's own dataset
|
|
|
130 |
tags,
|
131 |
channel,
|
132 |
duration: 0,
|
133 |
+
...computeOrientationProjectionWidthHeight({
|
134 |
+
lora,
|
135 |
+
orientation,
|
136 |
+
// projection, // <- will be extrapolated from the LoRA for now
|
137 |
+
}),
|
138 |
}
|
139 |
|
140 |
const newVideo: VideoInfo = {
|
|
|
146 |
model,
|
147 |
style,
|
148 |
lora,
|
|
|
149 |
voice,
|
150 |
music,
|
151 |
thumbnailUrl: channel.thumbnail, // will be generated in async
|
|
|
157 |
tags,
|
158 |
channel,
|
159 |
duration,
|
160 |
+
...computeOrientationProjectionWidthHeight({
|
161 |
+
lora,
|
162 |
+
orientation,
|
163 |
+
// projection, // <- will be extrapolated from the LoRA for now
|
164 |
+
}),
|
165 |
}
|
166 |
|
167 |
return {
|
src/app/server/actions/utils/computeOrientationProjectionWidthHeight.ts
ADDED
@@ -0,0 +1,51 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import { VideoOrientation, VideoProjection } from "@/types"
|
2 |
+
|
3 |
+
import { parseVideoOrientation } from "./parseVideoOrientation"
|
4 |
+
import { parseProjectionFromLoRA } from "./parseProjectionFromLoRA"
|
5 |
+
|
6 |
+
export function computeOrientationProjectionWidthHeight({
|
7 |
+
lora: maybeLora,
|
8 |
+
projection: maybeProjection,
|
9 |
+
orientation: maybeOrientation,
|
10 |
+
}: {
|
11 |
+
lora?: any
|
12 |
+
projection?: any
|
13 |
+
orientation?: any
|
14 |
+
}): {
|
15 |
+
orientation: VideoOrientation
|
16 |
+
projection: VideoProjection
|
17 |
+
width: number
|
18 |
+
height: number
|
19 |
+
} {
|
20 |
+
|
21 |
+
const lora = `${maybeLora || ""}`
|
22 |
+
const orientation = parseVideoOrientation(maybeOrientation)
|
23 |
+
const projection = maybeProjection ? maybeProjection : parseProjectionFromLoRA(lora)
|
24 |
+
|
25 |
+
let width = 1024
|
26 |
+
let height = 576
|
27 |
+
|
28 |
+
if (orientation === "portrait") {
|
29 |
+
height = 1024
|
30 |
+
width = 576
|
31 |
+
} else if (orientation === "square") {
|
32 |
+
height = 512
|
33 |
+
width = 512
|
34 |
+
} else {
|
35 |
+
width = 1024
|
36 |
+
height = 576
|
37 |
+
}
|
38 |
+
|
39 |
+
// now for equirectangular videos we need to have the correct image ratio of 2:1
|
40 |
+
if (projection === "equirectangular") {
|
41 |
+
width = 1024
|
42 |
+
height = 512
|
43 |
+
}
|
44 |
+
|
45 |
+
return {
|
46 |
+
orientation,
|
47 |
+
projection,
|
48 |
+
width,
|
49 |
+
height,
|
50 |
+
}
|
51 |
+
}
|
src/app/server/actions/utils/orientationToWidthHeight.ts
DELETED
@@ -1,38 +0,0 @@
|
|
1 |
-
import { VideoOrientation } from "@/types"
|
2 |
-
|
3 |
-
export function orientationToWidthHeight(orientation?: VideoOrientation): { width: number; height: number } {
|
4 |
-
|
5 |
-
if (orientation === "square") {
|
6 |
-
return {
|
7 |
-
width: 512,
|
8 |
-
height: 512,
|
9 |
-
}
|
10 |
-
}
|
11 |
-
|
12 |
-
const longResolution = 1024
|
13 |
-
const shortResolution = 576
|
14 |
-
|
15 |
-
if (orientation === "portrait") {
|
16 |
-
return {
|
17 |
-
width: shortResolution,
|
18 |
-
height: longResolution,
|
19 |
-
}
|
20 |
-
}
|
21 |
-
|
22 |
-
/*
|
23 |
-
|
24 |
-
this is already the default, actually
|
25 |
-
|
26 |
-
if (orientation === "landscape") {
|
27 |
-
return {
|
28 |
-
width: longResolution,
|
29 |
-
height: shortResolution,
|
30 |
-
}
|
31 |
-
}
|
32 |
-
*/
|
33 |
-
|
34 |
-
return {
|
35 |
-
width: longResolution,
|
36 |
-
height: shortResolution,
|
37 |
-
}
|
38 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/app/server/actions/utils/parseVideoModelName.ts
CHANGED
@@ -20,5 +20,14 @@ export function parseVideoModelName(text: any, defaultToUse: VideoGenerationMode
|
|
20 |
model = "LaVie"
|
21 |
}
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
return model
|
24 |
}
|
|
|
20 |
model = "LaVie"
|
21 |
}
|
22 |
|
23 |
+
if (
|
24 |
+
rawModelString === "hotshot" ||
|
25 |
+
rawModelString === "hotshotxl" ||
|
26 |
+
rawModelString === "hotshot xl" ||
|
27 |
+
rawModelString === "hotshot-xl"
|
28 |
+
) {
|
29 |
+
model = "HotshotXL"
|
30 |
+
}
|
31 |
+
|
32 |
return model
|
33 |
}
|
src/app/server/actions/utils/parseVideoOrientation.ts
CHANGED
@@ -4,7 +4,7 @@ import { VideoOrientation } from "@/types"
|
|
4 |
export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation): VideoOrientation {
|
5 |
const rawOrientationString = `${text || ""}`.trim().toLowerCase()
|
6 |
|
7 |
-
let orientation: VideoOrientation = defaultToUse || defaultVideoOrientation
|
8 |
|
9 |
if (
|
10 |
rawOrientationString === "landscape" ||
|
@@ -15,7 +15,8 @@ export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation
|
|
15 |
|
16 |
if (
|
17 |
rawOrientationString === "portrait" ||
|
18 |
-
rawOrientationString === "vertical"
|
|
|
19 |
) {
|
20 |
orientation = "portrait"
|
21 |
}
|
|
|
4 |
export function parseVideoOrientation(text: any, defaultToUse?: VideoOrientation): VideoOrientation {
|
5 |
const rawOrientationString = `${text || ""}`.trim().toLowerCase()
|
6 |
|
7 |
+
let orientation: VideoOrientation = defaultToUse || (defaultVideoOrientation || "landscape")
|
8 |
|
9 |
if (
|
10 |
rawOrientationString === "landscape" ||
|
|
|
15 |
|
16 |
if (
|
17 |
rawOrientationString === "portrait" ||
|
18 |
+
rawOrientationString === "vertical" ||
|
19 |
+
rawOrientationString === "mobile"
|
20 |
) {
|
21 |
orientation = "portrait"
|
22 |
}
|
src/types.ts
CHANGED
@@ -254,6 +254,9 @@ export type VideoRequest = {
|
|
254 |
*/
|
255 |
id: string
|
256 |
|
|
|
|
|
|
|
257 |
/**
|
258 |
* Human readable title for the video
|
259 |
*/
|
|
|
254 |
*/
|
255 |
id: string
|
256 |
|
257 |
+
// skip generation (mostly used for debugging)
|
258 |
+
// skip?: boolean
|
259 |
+
|
260 |
/**
|
261 |
* Human readable title for the video
|
262 |
*/
|