@nodaro/sdk 2.29.0 → 2.31.0
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/README.md +31 -0
- package/dist/chunk-2DZWWIJ4.cjs +32 -0
- package/dist/chunk-2DZWWIJ4.cjs.map +1 -0
- package/dist/chunk-34PU2DAT.cjs +118 -0
- package/dist/chunk-34PU2DAT.cjs.map +1 -0
- package/dist/chunk-37Y5QAVA.js +3 -0
- package/dist/chunk-37Y5QAVA.js.map +1 -0
- package/dist/chunk-37YCKZX4.cjs +4 -0
- package/dist/chunk-37YCKZX4.cjs.map +1 -0
- package/dist/chunk-3B47IHB3.cjs +65 -0
- package/dist/chunk-3B47IHB3.cjs.map +1 -0
- package/dist/chunk-3BELHJBN.cjs +4 -0
- package/dist/chunk-3BELHJBN.cjs.map +1 -0
- package/dist/chunk-3PPSGM5X.js +3 -0
- package/dist/chunk-3PPSGM5X.js.map +1 -0
- package/dist/chunk-3QBH2VE2.cjs +80 -0
- package/dist/chunk-3QBH2VE2.cjs.map +1 -0
- package/dist/chunk-3QFTP5P5.js +102 -0
- package/dist/chunk-3QFTP5P5.js.map +1 -0
- package/dist/chunk-43FVH6LJ.cjs +123 -0
- package/dist/chunk-43FVH6LJ.cjs.map +1 -0
- package/dist/chunk-43NO4SGC.cjs +4 -0
- package/dist/chunk-43NO4SGC.cjs.map +1 -0
- package/dist/chunk-45CK55BH.cjs +4 -0
- package/dist/chunk-45CK55BH.cjs.map +1 -0
- package/dist/chunk-4NLVBYMW.js +280 -0
- package/dist/chunk-4NLVBYMW.js.map +1 -0
- package/dist/chunk-4WRDR4GN.js +102 -0
- package/dist/chunk-4WRDR4GN.js.map +1 -0
- package/dist/chunk-4WWSHV5G.cjs +4 -0
- package/dist/chunk-4WWSHV5G.cjs.map +1 -0
- package/dist/chunk-53SXNN3A.js +80 -0
- package/dist/chunk-53SXNN3A.js.map +1 -0
- package/dist/chunk-5ALNFATQ.cjs +27 -0
- package/dist/chunk-5ALNFATQ.cjs.map +1 -0
- package/dist/chunk-5UQNMNUE.cjs +4 -0
- package/dist/chunk-5UQNMNUE.cjs.map +1 -0
- package/dist/chunk-5WAI7VGO.js +184 -0
- package/dist/chunk-5WAI7VGO.js.map +1 -0
- package/dist/chunk-65E3JBFZ.js +52 -0
- package/dist/chunk-65E3JBFZ.js.map +1 -0
- package/dist/chunk-6JFNBAKV.js +3 -0
- package/dist/chunk-6JFNBAKV.js.map +1 -0
- package/dist/chunk-6OC6OKLY.cjs +4 -0
- package/dist/chunk-6OC6OKLY.cjs.map +1 -0
- package/dist/chunk-6OGGJQVA.js +25 -0
- package/dist/chunk-6OGGJQVA.js.map +1 -0
- package/dist/chunk-7A7HYFGM.js +3 -0
- package/dist/chunk-7A7HYFGM.js.map +1 -0
- package/dist/chunk-7ISSKQ6S.cjs +106 -0
- package/dist/chunk-7ISSKQ6S.cjs.map +1 -0
- package/dist/chunk-7LSFG2AF.js +194 -0
- package/dist/chunk-7LSFG2AF.js.map +1 -0
- package/dist/chunk-7MYKT2L4.cjs +4 -0
- package/dist/chunk-7MYKT2L4.cjs.map +1 -0
- package/dist/chunk-7QOCWJKD.cjs +25 -0
- package/dist/chunk-7QOCWJKD.cjs.map +1 -0
- package/dist/chunk-A2ZAFAWC.cjs +4 -0
- package/dist/chunk-A2ZAFAWC.cjs.map +1 -0
- package/dist/chunk-A3S55XGF.cjs +54 -0
- package/dist/chunk-A3S55XGF.cjs.map +1 -0
- package/dist/chunk-A3THLBFG.js +3 -0
- package/dist/chunk-A3THLBFG.js.map +1 -0
- package/dist/chunk-AJVSMNPZ.js +78 -0
- package/dist/chunk-AJVSMNPZ.js.map +1 -0
- package/dist/chunk-ALSLZG3U.js +124 -0
- package/dist/chunk-ALSLZG3U.js.map +1 -0
- package/dist/chunk-ALUUBPDG.cjs +4 -0
- package/dist/chunk-ALUUBPDG.cjs.map +1 -0
- package/dist/chunk-AO3W45LT.cjs +4 -0
- package/dist/chunk-AO3W45LT.cjs.map +1 -0
- package/dist/chunk-AUDHV3OE.js +3 -0
- package/dist/chunk-AUDHV3OE.js.map +1 -0
- package/dist/chunk-BAL576G2.cjs +4 -0
- package/dist/chunk-BAL576G2.cjs.map +1 -0
- package/dist/chunk-BFMKPELU.cjs +212 -0
- package/dist/chunk-BFMKPELU.cjs.map +1 -0
- package/dist/chunk-BKP6F2IX.js +3 -0
- package/dist/chunk-BKP6F2IX.js.map +1 -0
- package/dist/chunk-BLA44UCM.js +32 -0
- package/dist/chunk-BLA44UCM.js.map +1 -0
- package/dist/chunk-BPWUWUZ3.cjs +20 -0
- package/dist/chunk-BPWUWUZ3.cjs.map +1 -0
- package/dist/chunk-BRV7Z4GD.cjs +17 -0
- package/dist/chunk-BRV7Z4GD.cjs.map +1 -0
- package/dist/chunk-BU5A6K4C.js +122 -0
- package/dist/chunk-BU5A6K4C.js.map +1 -0
- package/dist/chunk-C22RJDW3.js +3 -0
- package/dist/chunk-C22RJDW3.js.map +1 -0
- package/dist/chunk-CGNVHN4V.js +3 -0
- package/dist/chunk-CGNVHN4V.js.map +1 -0
- package/dist/chunk-CJFIOVBA.js +3 -0
- package/dist/chunk-CJFIOVBA.js.map +1 -0
- package/dist/chunk-CJLLIVSB.cjs +4 -0
- package/dist/chunk-CJLLIVSB.cjs.map +1 -0
- package/dist/chunk-CK3AMMSC.js +194 -0
- package/dist/chunk-CK3AMMSC.js.map +1 -0
- package/dist/chunk-COCKKMNP.cjs +205 -0
- package/dist/chunk-COCKKMNP.cjs.map +1 -0
- package/dist/chunk-CR5E2SF3.cjs +212 -0
- package/dist/chunk-CR5E2SF3.cjs.map +1 -0
- package/dist/chunk-CRCPRZFN.js +3 -0
- package/dist/chunk-CRCPRZFN.js.map +1 -0
- package/dist/chunk-CYRFD6KR.cjs +4 -0
- package/dist/chunk-CYRFD6KR.cjs.map +1 -0
- package/dist/chunk-D3PW7AHZ.js +3 -0
- package/dist/chunk-D3PW7AHZ.js.map +1 -0
- package/dist/chunk-DKEYSJCE.cjs +82 -0
- package/dist/chunk-DKEYSJCE.cjs.map +1 -0
- package/dist/chunk-DPSMVOM3.js +15 -0
- package/dist/chunk-DPSMVOM3.js.map +1 -0
- package/dist/chunk-E2ZXHS6E.js +20 -0
- package/dist/chunk-E2ZXHS6E.js.map +1 -0
- package/dist/chunk-E37CVHWW.js +33 -0
- package/dist/chunk-E37CVHWW.js.map +1 -0
- package/dist/chunk-E5BM4BLO.js +78 -0
- package/dist/chunk-E5BM4BLO.js.map +1 -0
- package/dist/chunk-EHRWTYGR.cjs +4 -0
- package/dist/chunk-EHRWTYGR.cjs.map +1 -0
- package/dist/chunk-EJSGJDZY.js +212 -0
- package/dist/chunk-EJSGJDZY.js.map +1 -0
- package/dist/chunk-ELSOVJPF.js +3 -0
- package/dist/chunk-ELSOVJPF.js.map +1 -0
- package/dist/chunk-ERLXU47J.js +29 -0
- package/dist/chunk-ERLXU47J.js.map +1 -0
- package/dist/chunk-ES2E65HT.js +3 -0
- package/dist/chunk-ES2E65HT.js.map +1 -0
- package/dist/chunk-EXLAHZKF.js +3 -0
- package/dist/chunk-EXLAHZKF.js.map +1 -0
- package/dist/chunk-FHEYAW5H.js +3 -0
- package/dist/chunk-FHEYAW5H.js.map +1 -0
- package/dist/chunk-GA4LZZKQ.cjs +104 -0
- package/dist/chunk-GA4LZZKQ.cjs.map +1 -0
- package/dist/chunk-GAZJ2PA3.js +3 -0
- package/dist/chunk-GAZJ2PA3.js.map +1 -0
- package/dist/chunk-GB6C5OEZ.cjs +32 -0
- package/dist/chunk-GB6C5OEZ.cjs.map +1 -0
- package/dist/chunk-GD24ZRFD.js +3 -0
- package/dist/chunk-GD24ZRFD.js.map +1 -0
- package/dist/chunk-GI7LROLL.cjs +4 -0
- package/dist/chunk-GI7LROLL.cjs.map +1 -0
- package/dist/chunk-GRFLPEM2.cjs +16 -0
- package/dist/chunk-GRFLPEM2.cjs.map +1 -0
- package/dist/chunk-GVIFLUYZ.cjs +40 -0
- package/dist/chunk-GVIFLUYZ.cjs.map +1 -0
- package/dist/chunk-H7VQTG4M.js +35 -0
- package/dist/chunk-H7VQTG4M.js.map +1 -0
- package/dist/chunk-HAKYPZLB.cjs +242 -0
- package/dist/chunk-HAKYPZLB.cjs.map +1 -0
- package/dist/chunk-HFBR6G36.js +3 -0
- package/dist/chunk-HFBR6G36.js.map +1 -0
- package/dist/chunk-HGCVWOGK.cjs +209 -0
- package/dist/chunk-HGCVWOGK.cjs.map +1 -0
- package/dist/chunk-HLHR3R4P.js +3 -0
- package/dist/chunk-HLHR3R4P.js.map +1 -0
- package/dist/chunk-HRXXGGSJ.js +3 -0
- package/dist/chunk-HRXXGGSJ.js.map +1 -0
- package/dist/chunk-I3TYBAOX.js +3 -0
- package/dist/chunk-I3TYBAOX.js.map +1 -0
- package/dist/chunk-I4A5VJRL.js +352 -0
- package/dist/chunk-I4A5VJRL.js.map +1 -0
- package/dist/chunk-I6CXC345.js +102 -0
- package/dist/chunk-I6CXC345.js.map +1 -0
- package/dist/chunk-IGOPUMEX.cjs +4 -0
- package/dist/chunk-IGOPUMEX.cjs.map +1 -0
- package/dist/chunk-IHKIYVZQ.js +30 -0
- package/dist/chunk-IHKIYVZQ.js.map +1 -0
- package/dist/chunk-IMC2M5YM.cjs +12 -0
- package/dist/chunk-IMC2M5YM.cjs.map +1 -0
- package/dist/chunk-IQ6KWSXP.js +3 -0
- package/dist/chunk-IQ6KWSXP.js.map +1 -0
- package/dist/chunk-IS26FJO7.cjs +4 -0
- package/dist/chunk-IS26FJO7.cjs.map +1 -0
- package/dist/chunk-J4WFSKY6.js +50 -0
- package/dist/chunk-J4WFSKY6.js.map +1 -0
- package/dist/chunk-J5LGGCAS.cjs +126 -0
- package/dist/chunk-J5LGGCAS.cjs.map +1 -0
- package/dist/chunk-JDEZHITT.js +43 -0
- package/dist/chunk-JDEZHITT.js.map +1 -0
- package/dist/chunk-JGS6YBDW.js +260 -0
- package/dist/chunk-JGS6YBDW.js.map +1 -0
- package/dist/chunk-JMOKD6ZP.js +46 -0
- package/dist/chunk-JMOKD6ZP.js.map +1 -0
- package/dist/chunk-JOX5BJ6K.cjs +4 -0
- package/dist/chunk-JOX5BJ6K.cjs.map +1 -0
- package/dist/chunk-JTAW54UM.js +116 -0
- package/dist/chunk-JTAW54UM.js.map +1 -0
- package/dist/chunk-K4RQOSJH.js +203 -0
- package/dist/chunk-K4RQOSJH.js.map +1 -0
- package/dist/chunk-KAIE6WJB.cjs +4 -0
- package/dist/chunk-KAIE6WJB.cjs.map +1 -0
- package/dist/chunk-KEDPGWIK.cjs +4 -0
- package/dist/chunk-KEDPGWIK.cjs.map +1 -0
- package/dist/chunk-KG4R454Z.js +18 -0
- package/dist/chunk-KG4R454Z.js.map +1 -0
- package/dist/chunk-KGKCAGRD.cjs +22 -0
- package/dist/chunk-KGKCAGRD.cjs.map +1 -0
- package/dist/chunk-KNMW722T.cjs +48 -0
- package/dist/chunk-KNMW722T.cjs.map +1 -0
- package/dist/chunk-KTTL7BND.cjs +4 -0
- package/dist/chunk-KTTL7BND.cjs.map +1 -0
- package/dist/chunk-KXEWTYS4.cjs +80 -0
- package/dist/chunk-KXEWTYS4.cjs.map +1 -0
- package/dist/chunk-KZQKFBRN.js +3 -0
- package/dist/chunk-KZQKFBRN.js.map +1 -0
- package/dist/chunk-LAWYFC4G.cjs +37 -0
- package/dist/chunk-LAWYFC4G.cjs.map +1 -0
- package/dist/chunk-LHP2CWHD.js +228 -0
- package/dist/chunk-LHP2CWHD.js.map +1 -0
- package/dist/chunk-LHRQXWI5.js +3 -0
- package/dist/chunk-LHRQXWI5.js.map +1 -0
- package/dist/chunk-LKH5M44B.cjs +114 -0
- package/dist/chunk-LKH5M44B.cjs.map +1 -0
- package/dist/chunk-LLNNHLCE.cjs +4 -0
- package/dist/chunk-LLNNHLCE.cjs.map +1 -0
- package/dist/chunk-LWZLWSXD.cjs +4 -0
- package/dist/chunk-LWZLWSXD.cjs.map +1 -0
- package/dist/chunk-M6Y5TOYE.js +3 -0
- package/dist/chunk-M6Y5TOYE.js.map +1 -0
- package/dist/chunk-MBFUMWI5.cjs +31 -0
- package/dist/chunk-MBFUMWI5.cjs.map +1 -0
- package/dist/chunk-MEKI37WI.js +3 -0
- package/dist/chunk-MEKI37WI.js.map +1 -0
- package/dist/chunk-MQ74AKA2.cjs +200 -0
- package/dist/chunk-MQ74AKA2.cjs.map +1 -0
- package/dist/chunk-N6GLZOE4.cjs +282 -0
- package/dist/chunk-N6GLZOE4.cjs.map +1 -0
- package/dist/chunk-NBVARNVA.cjs +38 -0
- package/dist/chunk-NBVARNVA.cjs.map +1 -0
- package/dist/chunk-NCCBS6GU.js +42 -0
- package/dist/chunk-NCCBS6GU.js.map +1 -0
- package/dist/chunk-NGKODS3J.cjs +52 -0
- package/dist/chunk-NGKODS3J.cjs.map +1 -0
- package/dist/chunk-NJVSKUL2.cjs +4 -0
- package/dist/chunk-NJVSKUL2.cjs.map +1 -0
- package/dist/chunk-NLQQHJ25.cjs +104 -0
- package/dist/chunk-NLQQHJ25.cjs.map +1 -0
- package/dist/chunk-NNHWH7ER.js +181 -0
- package/dist/chunk-NNHWH7ER.js.map +1 -0
- package/dist/chunk-NX67YIF3.js +3 -0
- package/dist/chunk-NX67YIF3.js.map +1 -0
- package/dist/chunk-OA6FWYZF.cjs +4 -0
- package/dist/chunk-OA6FWYZF.cjs.map +1 -0
- package/dist/chunk-OJDBSKC2.js +3 -0
- package/dist/chunk-OJDBSKC2.js.map +1 -0
- package/dist/chunk-OLPA44QJ.js +3 -0
- package/dist/chunk-OLPA44QJ.js.map +1 -0
- package/dist/chunk-OMH7ATOQ.js +3 -0
- package/dist/chunk-OMH7ATOQ.js.map +1 -0
- package/dist/chunk-OPR4TULG.js +3 -0
- package/dist/chunk-OPR4TULG.js.map +1 -0
- package/dist/chunk-OSX2GVZ2.cjs +34 -0
- package/dist/chunk-OSX2GVZ2.cjs.map +1 -0
- package/dist/chunk-OXQKE5EG.cjs +282 -0
- package/dist/chunk-OXQKE5EG.cjs.map +1 -0
- package/dist/chunk-P6E4QDJN.js +30 -0
- package/dist/chunk-P6E4QDJN.js.map +1 -0
- package/dist/chunk-PEMLIAPZ.cjs +64 -0
- package/dist/chunk-PEMLIAPZ.cjs.map +1 -0
- package/dist/chunk-PGYQ754I.js +3 -0
- package/dist/chunk-PGYQ754I.js.map +1 -0
- package/dist/chunk-PHKYIWE4.cjs +16 -0
- package/dist/chunk-PHKYIWE4.cjs.map +1 -0
- package/dist/chunk-PMTM26LL.js +3 -0
- package/dist/chunk-PMTM26LL.js.map +1 -0
- package/dist/chunk-PY4OEKNX.cjs +4 -0
- package/dist/chunk-PY4OEKNX.cjs.map +1 -0
- package/dist/chunk-PZS2EXDR.cjs +4 -0
- package/dist/chunk-PZS2EXDR.cjs.map +1 -0
- package/dist/chunk-QITJGSFA.js +210 -0
- package/dist/chunk-QITJGSFA.js.map +1 -0
- package/dist/chunk-QRHJEITQ.cjs +4 -0
- package/dist/chunk-QRHJEITQ.cjs.map +1 -0
- package/dist/chunk-QUFU5RJ7.cjs +4 -0
- package/dist/chunk-QUFU5RJ7.cjs.map +1 -0
- package/dist/chunk-QVQCKOBM.js +3 -0
- package/dist/chunk-QVQCKOBM.js.map +1 -0
- package/dist/chunk-R63TTR35.cjs +200 -0
- package/dist/chunk-R63TTR35.cjs.map +1 -0
- package/dist/chunk-RA42NMWV.cjs +4 -0
- package/dist/chunk-RA42NMWV.cjs.map +1 -0
- package/dist/chunk-RAZN6C5R.cjs +12 -0
- package/dist/chunk-RAZN6C5R.cjs.map +1 -0
- package/dist/chunk-REUFPWM7.cjs +233 -0
- package/dist/chunk-REUFPWM7.cjs.map +1 -0
- package/dist/chunk-RHETJOUM.cjs +4 -0
- package/dist/chunk-RHETJOUM.cjs.map +1 -0
- package/dist/chunk-RJIJVVXS.js +3 -0
- package/dist/chunk-RJIJVVXS.js.map +1 -0
- package/dist/chunk-RKVRCNMB.js +3 -0
- package/dist/chunk-RKVRCNMB.js.map +1 -0
- package/dist/chunk-SBV5MWEL.cjs +53 -0
- package/dist/chunk-SBV5MWEL.cjs.map +1 -0
- package/dist/chunk-SFB4YLCS.js +121 -0
- package/dist/chunk-SFB4YLCS.js.map +1 -0
- package/dist/chunk-SLPD47SR.js +3 -0
- package/dist/chunk-SLPD47SR.js.map +1 -0
- package/dist/chunk-SS3B6PHT.cjs +35 -0
- package/dist/chunk-SS3B6PHT.cjs.map +1 -0
- package/dist/chunk-SUCHGNYT.js +3 -0
- package/dist/chunk-SUCHGNYT.js.map +1 -0
- package/dist/chunk-SYVNY3AH.cjs +44 -0
- package/dist/chunk-SYVNY3AH.cjs.map +1 -0
- package/dist/chunk-T3SYREY4.js +29 -0
- package/dist/chunk-T3SYREY4.js.map +1 -0
- package/dist/chunk-T7N7DFQJ.js +198 -0
- package/dist/chunk-T7N7DFQJ.js.map +1 -0
- package/dist/chunk-TRCENAIY.cjs +4 -0
- package/dist/chunk-TRCENAIY.cjs.map +1 -0
- package/dist/chunk-TVENC6PH.js +186 -0
- package/dist/chunk-TVENC6PH.js.map +1 -0
- package/dist/chunk-U4T3Z3K7.cjs +325 -0
- package/dist/chunk-U4T3Z3K7.cjs.map +1 -0
- package/dist/chunk-UI2NXUML.cjs +187 -0
- package/dist/chunk-UI2NXUML.cjs.map +1 -0
- package/dist/chunk-UIFFNTUX.js +3 -0
- package/dist/chunk-UIFFNTUX.js.map +1 -0
- package/dist/chunk-V4GPQ6Y2.js +3 -0
- package/dist/chunk-V4GPQ6Y2.js.map +1 -0
- package/dist/chunk-VGTRKXF2.js +93 -0
- package/dist/chunk-VGTRKXF2.js.map +1 -0
- package/dist/chunk-VGWOIWRQ.cjs +202 -0
- package/dist/chunk-VGWOIWRQ.cjs.map +1 -0
- package/dist/chunk-VLCNNA76.cjs +4 -0
- package/dist/chunk-VLCNNA76.cjs.map +1 -0
- package/dist/chunk-VPAUN75Q.js +3 -0
- package/dist/chunk-VPAUN75Q.js.map +1 -0
- package/dist/chunk-VT237QF2.js +3 -0
- package/dist/chunk-VT237QF2.js.map +1 -0
- package/dist/chunk-VV4TZG5S.js +321 -0
- package/dist/chunk-VV4TZG5S.js.map +1 -0
- package/dist/chunk-VYK6MBL4.cjs +4 -0
- package/dist/chunk-VYK6MBL4.cjs.map +1 -0
- package/dist/chunk-W33CKW6Q.cjs +4 -0
- package/dist/chunk-W33CKW6Q.cjs.map +1 -0
- package/dist/chunk-W5VHATSR.cjs +31 -0
- package/dist/chunk-W5VHATSR.cjs.map +1 -0
- package/dist/chunk-W7YI5UT3.js +3 -0
- package/dist/chunk-W7YI5UT3.js.map +1 -0
- package/dist/chunk-WEQWU2IC.js +34 -0
- package/dist/chunk-WEQWU2IC.js.map +1 -0
- package/dist/chunk-WK4VXPPZ.cjs +104 -0
- package/dist/chunk-WK4VXPPZ.cjs.map +1 -0
- package/dist/chunk-WSA4LMWR.cjs +96 -0
- package/dist/chunk-WSA4LMWR.cjs.map +1 -0
- package/dist/chunk-WUIEZ6Z4.cjs +360 -0
- package/dist/chunk-WUIEZ6Z4.cjs.map +1 -0
- package/dist/chunk-WUKIJJG2.cjs +45 -0
- package/dist/chunk-WUKIJJG2.cjs.map +1 -0
- package/dist/chunk-WVFAQBS7.js +29 -0
- package/dist/chunk-WVFAQBS7.js.map +1 -0
- package/dist/chunk-X7RDNMN7.js +3 -0
- package/dist/chunk-X7RDNMN7.js.map +1 -0
- package/dist/chunk-X7XP5WBP.cjs +4 -0
- package/dist/chunk-X7XP5WBP.cjs.map +1 -0
- package/dist/chunk-XQAIEPAZ.js +104 -0
- package/dist/chunk-XQAIEPAZ.js.map +1 -0
- package/dist/chunk-XWKNE6DH.cjs +4 -0
- package/dist/chunk-XWKNE6DH.cjs.map +1 -0
- package/dist/chunk-Y6V6CBY5.js +23 -0
- package/dist/chunk-Y6V6CBY5.js.map +1 -0
- package/dist/chunk-Y6VDCZPB.js +62 -0
- package/dist/chunk-Y6VDCZPB.js.map +1 -0
- package/dist/chunk-YDRXBRW2.cjs +184 -0
- package/dist/chunk-YDRXBRW2.cjs.map +1 -0
- package/dist/chunk-YFS2LMG4.cjs +124 -0
- package/dist/chunk-YFS2LMG4.cjs.map +1 -0
- package/dist/chunk-YN6CBIIB.js +63 -0
- package/dist/chunk-YN6CBIIB.js.map +1 -0
- package/dist/chunk-YOJ2XNQX.cjs +4 -0
- package/dist/chunk-YOJ2XNQX.cjs.map +1 -0
- package/dist/chunk-YOOZB4RL.js +3 -0
- package/dist/chunk-YOOZB4RL.js.map +1 -0
- package/dist/chunk-YVU2M7MI.js +34 -0
- package/dist/chunk-YVU2M7MI.js.map +1 -0
- package/dist/chunk-YXBZRB5H.cjs +4 -0
- package/dist/chunk-YXBZRB5H.cjs.map +1 -0
- package/dist/chunk-Z3ZKFI2M.js +43 -0
- package/dist/chunk-Z3ZKFI2M.js.map +1 -0
- package/dist/chunk-Z5GLY4R3.js +112 -0
- package/dist/chunk-Z5GLY4R3.js.map +1 -0
- package/dist/chunk-Z5OMWAQX.js +3 -0
- package/dist/chunk-Z5OMWAQX.js.map +1 -0
- package/dist/chunk-Z7LGWNI7.js +38 -0
- package/dist/chunk-Z7LGWNI7.js.map +1 -0
- package/dist/chunk-ZCWKX4V6.cjs +38 -0
- package/dist/chunk-ZCWKX4V6.cjs.map +1 -0
- package/dist/chunk-ZE5RISBZ.cjs +4 -0
- package/dist/chunk-ZE5RISBZ.cjs.map +1 -0
- package/dist/chunk-ZH4F2P2G.js +3 -0
- package/dist/chunk-ZH4F2P2G.js.map +1 -0
- package/dist/chunk-ZJGFLJ2Z.cjs +4 -0
- package/dist/chunk-ZJGFLJ2Z.cjs.map +1 -0
- package/dist/chunk-ZKBHD27K.cjs +4 -0
- package/dist/chunk-ZKBHD27K.cjs.map +1 -0
- package/dist/chunk-ZQPLRNKX.cjs +4 -0
- package/dist/chunk-ZQPLRNKX.cjs.map +1 -0
- package/dist/chunk-ZQQABQMH.cjs +31 -0
- package/dist/chunk-ZQQABQMH.cjs.map +1 -0
- package/dist/chunk-ZXJQSFIA.js +200 -0
- package/dist/chunk-ZXJQSFIA.js.map +1 -0
- package/dist/developer-apps-zSQXWmEG.d.cts +294 -0
- package/dist/developer-apps-zSQXWmEG.d.ts +294 -0
- package/dist/entries/apps.cjs +13 -0
- package/dist/entries/apps.cjs.map +1 -0
- package/dist/entries/apps.d.cts +300 -0
- package/dist/entries/apps.d.ts +300 -0
- package/dist/entries/apps.js +4 -0
- package/dist/entries/apps.js.map +1 -0
- package/dist/entries/audio.cjs +13 -0
- package/dist/entries/audio.cjs.map +1 -0
- package/dist/entries/audio.d.cts +200 -0
- package/dist/entries/audio.d.ts +200 -0
- package/dist/entries/audio.js +4 -0
- package/dist/entries/audio.js.map +1 -0
- package/dist/entries/billing.cjs +13 -0
- package/dist/entries/billing.cjs.map +1 -0
- package/dist/entries/billing.d.cts +208 -0
- package/dist/entries/billing.d.ts +208 -0
- package/dist/entries/billing.js +4 -0
- package/dist/entries/billing.js.map +1 -0
- package/dist/entries/catalogs.cjs +13 -0
- package/dist/entries/catalogs.cjs.map +1 -0
- package/dist/entries/catalogs.d.cts +82 -0
- package/dist/entries/catalogs.d.ts +82 -0
- package/dist/entries/catalogs.js +4 -0
- package/dist/entries/catalogs.js.map +1 -0
- package/dist/entries/characters.cjs +45 -0
- package/dist/entries/characters.cjs.map +1 -0
- package/dist/entries/characters.d.cts +741 -0
- package/dist/entries/characters.d.ts +741 -0
- package/dist/entries/characters.js +4 -0
- package/dist/entries/characters.js.map +1 -0
- package/dist/entries/client.cjs +78 -0
- package/dist/entries/client.cjs.map +1 -0
- package/dist/entries/client.d.cts +147 -0
- package/dist/entries/client.d.ts +147 -0
- package/dist/entries/client.js +53 -0
- package/dist/entries/client.js.map +1 -0
- package/dist/entries/collections.cjs +13 -0
- package/dist/entries/collections.cjs.map +1 -0
- package/dist/entries/collections.d.cts +77 -0
- package/dist/entries/collections.d.ts +77 -0
- package/dist/entries/collections.js +4 -0
- package/dist/entries/collections.js.map +1 -0
- package/dist/entries/community.cjs +13 -0
- package/dist/entries/community.cjs.map +1 -0
- package/dist/entries/community.d.cts +87 -0
- package/dist/entries/community.d.ts +87 -0
- package/dist/entries/community.js +4 -0
- package/dist/entries/community.js.map +1 -0
- package/dist/entries/competitors.cjs +13 -0
- package/dist/entries/competitors.cjs.map +1 -0
- package/dist/entries/competitors.d.cts +96 -0
- package/dist/entries/competitors.d.ts +96 -0
- package/dist/entries/competitors.js +4 -0
- package/dist/entries/competitors.js.map +1 -0
- package/dist/entries/copilot.cjs +15 -0
- package/dist/entries/copilot.cjs.map +1 -0
- package/dist/entries/copilot.d.cts +296 -0
- package/dist/entries/copilot.d.ts +296 -0
- package/dist/entries/copilot.js +6 -0
- package/dist/entries/copilot.js.map +1 -0
- package/dist/entries/core.cjs +26 -0
- package/dist/entries/core.cjs.map +1 -0
- package/dist/entries/core.d.cts +3 -0
- package/dist/entries/core.d.ts +3 -0
- package/dist/entries/core.js +5 -0
- package/dist/entries/core.js.map +1 -0
- package/dist/entries/creatures.cjs +29 -0
- package/dist/entries/creatures.cjs.map +1 -0
- package/dist/entries/creatures.d.cts +594 -0
- package/dist/entries/creatures.d.ts +594 -0
- package/dist/entries/creatures.js +4 -0
- package/dist/entries/creatures.js.map +1 -0
- package/dist/entries/credits.cjs +13 -0
- package/dist/entries/credits.cjs.map +1 -0
- package/dist/entries/credits.d.cts +229 -0
- package/dist/entries/credits.d.ts +229 -0
- package/dist/entries/credits.js +4 -0
- package/dist/entries/credits.js.map +1 -0
- package/dist/entries/developer-apps.cjs +13 -0
- package/dist/entries/developer-apps.cjs.map +1 -0
- package/dist/entries/developer-apps.d.cts +3 -0
- package/dist/entries/developer-apps.d.ts +3 -0
- package/dist/entries/developer-apps.js +4 -0
- package/dist/entries/developer-apps.js.map +1 -0
- package/dist/entries/edit.cjs +34 -0
- package/dist/entries/edit.cjs.map +1 -0
- package/dist/entries/edit.d.cts +705 -0
- package/dist/entries/edit.d.ts +705 -0
- package/dist/entries/edit.js +5 -0
- package/dist/entries/edit.js.map +1 -0
- package/dist/entries/errors.cjs +93 -0
- package/dist/entries/errors.cjs.map +1 -0
- package/dist/entries/errors.d.cts +338 -0
- package/dist/entries/errors.d.ts +338 -0
- package/dist/entries/errors.js +4 -0
- package/dist/entries/errors.js.map +1 -0
- package/dist/entries/executions.cjs +21 -0
- package/dist/entries/executions.cjs.map +1 -0
- package/dist/entries/executions.d.cts +120 -0
- package/dist/entries/executions.d.ts +120 -0
- package/dist/entries/executions.js +4 -0
- package/dist/entries/executions.js.map +1 -0
- package/dist/entries/gallery.cjs +13 -0
- package/dist/entries/gallery.cjs.map +1 -0
- package/dist/entries/gallery.d.cts +85 -0
- package/dist/entries/gallery.d.ts +85 -0
- package/dist/entries/gallery.js +4 -0
- package/dist/entries/gallery.js.map +1 -0
- package/dist/entries/jobs.cjs +13 -0
- package/dist/entries/jobs.cjs.map +1 -0
- package/dist/entries/jobs.d.cts +252 -0
- package/dist/entries/jobs.d.ts +252 -0
- package/dist/entries/jobs.js +4 -0
- package/dist/entries/jobs.js.map +1 -0
- package/dist/entries/library.cjs +13 -0
- package/dist/entries/library.cjs.map +1 -0
- package/dist/entries/library.d.cts +109 -0
- package/dist/entries/library.d.ts +109 -0
- package/dist/entries/library.js +4 -0
- package/dist/entries/library.js.map +1 -0
- package/dist/entries/llm.cjs +13 -0
- package/dist/entries/llm.cjs.map +1 -0
- package/dist/entries/llm.d.cts +98 -0
- package/dist/entries/llm.d.ts +98 -0
- package/dist/entries/llm.js +4 -0
- package/dist/entries/llm.js.map +1 -0
- package/dist/entries/locations.cjs +25 -0
- package/dist/entries/locations.cjs.map +1 -0
- package/dist/entries/locations.d.cts +573 -0
- package/dist/entries/locations.d.ts +573 -0
- package/dist/entries/locations.js +4 -0
- package/dist/entries/locations.js.map +1 -0
- package/dist/entries/media.cjs +15 -0
- package/dist/entries/media.cjs.map +1 -0
- package/dist/entries/media.d.cts +548 -0
- package/dist/entries/media.d.ts +548 -0
- package/dist/entries/media.js +6 -0
- package/dist/entries/media.js.map +1 -0
- package/dist/entries/models.cjs +13 -0
- package/dist/entries/models.cjs.map +1 -0
- package/dist/entries/models.d.cts +92 -0
- package/dist/entries/models.d.ts +92 -0
- package/dist/entries/models.js +4 -0
- package/dist/entries/models.js.map +1 -0
- package/dist/entries/moodboards.cjs +21 -0
- package/dist/entries/moodboards.cjs.map +1 -0
- package/dist/entries/moodboards.d.cts +77 -0
- package/dist/entries/moodboards.d.ts +77 -0
- package/dist/entries/moodboards.js +4 -0
- package/dist/entries/moodboards.js.map +1 -0
- package/dist/entries/node-presets.cjs +13 -0
- package/dist/entries/node-presets.cjs.map +1 -0
- package/dist/entries/node-presets.d.cts +217 -0
- package/dist/entries/node-presets.d.ts +217 -0
- package/dist/entries/node-presets.js +4 -0
- package/dist/entries/node-presets.js.map +1 -0
- package/dist/entries/nodes.cjs +22 -0
- package/dist/entries/nodes.cjs.map +1 -0
- package/dist/entries/nodes.d.cts +18 -0
- package/dist/entries/nodes.d.ts +18 -0
- package/dist/entries/nodes.js +5 -0
- package/dist/entries/nodes.js.map +1 -0
- package/dist/entries/oauth.cjs +13 -0
- package/dist/entries/oauth.cjs.map +1 -0
- package/dist/entries/oauth.d.cts +69 -0
- package/dist/entries/oauth.d.ts +69 -0
- package/dist/entries/oauth.js +4 -0
- package/dist/entries/oauth.js.map +1 -0
- package/dist/entries/objects.cjs +29 -0
- package/dist/entries/objects.cjs.map +1 -0
- package/dist/entries/objects.d.cts +544 -0
- package/dist/entries/objects.d.ts +544 -0
- package/dist/entries/objects.js +4 -0
- package/dist/entries/objects.js.map +1 -0
- package/dist/entries/organizations.cjs +21 -0
- package/dist/entries/organizations.cjs.map +1 -0
- package/dist/entries/organizations.d.cts +164 -0
- package/dist/entries/organizations.d.ts +164 -0
- package/dist/entries/organizations.js +4 -0
- package/dist/entries/organizations.js.map +1 -0
- package/dist/entries/palettes.cjs +21 -0
- package/dist/entries/palettes.cjs.map +1 -0
- package/dist/entries/palettes.d.cts +69 -0
- package/dist/entries/palettes.d.ts +69 -0
- package/dist/entries/palettes.js +4 -0
- package/dist/entries/palettes.js.map +1 -0
- package/dist/entries/picker-catalogs.cjs +13 -0
- package/dist/entries/picker-catalogs.cjs.map +1 -0
- package/dist/entries/picker-catalogs.d.cts +148 -0
- package/dist/entries/picker-catalogs.d.ts +148 -0
- package/dist/entries/picker-catalogs.js +4 -0
- package/dist/entries/picker-catalogs.js.map +1 -0
- package/dist/entries/pipelines.cjs +13 -0
- package/dist/entries/pipelines.cjs.map +1 -0
- package/dist/entries/pipelines.d.cts +255 -0
- package/dist/entries/pipelines.d.ts +255 -0
- package/dist/entries/pipelines.js +4 -0
- package/dist/entries/pipelines.js.map +1 -0
- package/dist/entries/projects.cjs +13 -0
- package/dist/entries/projects.cjs.map +1 -0
- package/dist/entries/projects.d.cts +49 -0
- package/dist/entries/projects.d.ts +49 -0
- package/dist/entries/projects.js +4 -0
- package/dist/entries/projects.js.map +1 -0
- package/dist/entries/prompt-helper.cjs +13 -0
- package/dist/entries/prompt-helper.cjs.map +1 -0
- package/dist/entries/prompt-helper.d.cts +73 -0
- package/dist/entries/prompt-helper.d.ts +73 -0
- package/dist/entries/prompt-helper.js +4 -0
- package/dist/entries/prompt-helper.js.map +1 -0
- package/dist/entries/recast.cjs +17 -0
- package/dist/entries/recast.cjs.map +1 -0
- package/dist/entries/recast.d.cts +229 -0
- package/dist/entries/recast.d.ts +229 -0
- package/dist/entries/recast.js +4 -0
- package/dist/entries/recast.js.map +1 -0
- package/dist/entries/reduce.cjs +13 -0
- package/dist/entries/reduce.cjs.map +1 -0
- package/dist/entries/reduce.d.cts +56 -0
- package/dist/entries/reduce.d.ts +56 -0
- package/dist/entries/reduce.js +4 -0
- package/dist/entries/reduce.js.map +1 -0
- package/dist/entries/saved-posts.cjs +13 -0
- package/dist/entries/saved-posts.cjs.map +1 -0
- package/dist/entries/saved-posts.d.cts +33 -0
- package/dist/entries/saved-posts.d.ts +33 -0
- package/dist/entries/saved-posts.js +4 -0
- package/dist/entries/saved-posts.js.map +1 -0
- package/dist/entries/scene3d.cjs +17 -0
- package/dist/entries/scene3d.cjs.map +1 -0
- package/dist/entries/scene3d.d.cts +131 -0
- package/dist/entries/scene3d.d.ts +131 -0
- package/dist/entries/scene3d.js +4 -0
- package/dist/entries/scene3d.js.map +1 -0
- package/dist/entries/sessions.cjs +13 -0
- package/dist/entries/sessions.cjs.map +1 -0
- package/dist/entries/sessions.d.cts +122 -0
- package/dist/entries/sessions.d.ts +122 -0
- package/dist/entries/sessions.js +4 -0
- package/dist/entries/sessions.js.map +1 -0
- package/dist/entries/shots.cjs +13 -0
- package/dist/entries/shots.cjs.map +1 -0
- package/dist/entries/shots.d.cts +78 -0
- package/dist/entries/shots.d.ts +78 -0
- package/dist/entries/shots.js +4 -0
- package/dist/entries/shots.js.map +1 -0
- package/dist/entries/studio.cjs +22 -0
- package/dist/entries/studio.cjs.map +1 -0
- package/dist/entries/studio.d.cts +281 -0
- package/dist/entries/studio.d.ts +281 -0
- package/dist/entries/studio.js +5 -0
- package/dist/entries/studio.js.map +1 -0
- package/dist/entries/templates.cjs +13 -0
- package/dist/entries/templates.cjs.map +1 -0
- package/dist/entries/templates.d.cts +110 -0
- package/dist/entries/templates.d.ts +110 -0
- package/dist/entries/templates.js +4 -0
- package/dist/entries/templates.js.map +1 -0
- package/dist/entries/tutorials.cjs +13 -0
- package/dist/entries/tutorials.cjs.map +1 -0
- package/dist/entries/tutorials.d.cts +63 -0
- package/dist/entries/tutorials.d.ts +63 -0
- package/dist/entries/tutorials.js +4 -0
- package/dist/entries/tutorials.js.map +1 -0
- package/dist/entries/uploads.cjs +13 -0
- package/dist/entries/uploads.cjs.map +1 -0
- package/dist/entries/uploads.d.cts +44 -0
- package/dist/entries/uploads.d.ts +44 -0
- package/dist/entries/uploads.js +4 -0
- package/dist/entries/uploads.js.map +1 -0
- package/dist/entries/video-pro.cjs +13 -0
- package/dist/entries/video-pro.cjs.map +1 -0
- package/dist/entries/video-pro.d.cts +60 -0
- package/dist/entries/video-pro.d.ts +60 -0
- package/dist/entries/video-pro.js +4 -0
- package/dist/entries/video-pro.js.map +1 -0
- package/dist/entries/voices.cjs +13 -0
- package/dist/entries/voices.cjs.map +1 -0
- package/dist/entries/voices.d.cts +498 -0
- package/dist/entries/voices.d.ts +498 -0
- package/dist/entries/voices.js +4 -0
- package/dist/entries/voices.js.map +1 -0
- package/dist/entries/webhooks.cjs +21 -0
- package/dist/entries/webhooks.cjs.map +1 -0
- package/dist/entries/webhooks.d.cts +64 -0
- package/dist/entries/webhooks.d.ts +64 -0
- package/dist/entries/webhooks.js +4 -0
- package/dist/entries/webhooks.js.map +1 -0
- package/dist/entries/workflows.cjs +13 -0
- package/dist/entries/workflows.cjs.map +1 -0
- package/dist/entries/workflows.d.cts +393 -0
- package/dist/entries/workflows.d.ts +393 -0
- package/dist/entries/workflows.js +4 -0
- package/dist/entries/workflows.js.map +1 -0
- package/dist/entries/workspaces.cjs +13 -0
- package/dist/entries/workspaces.cjs.map +1 -0
- package/dist/entries/workspaces.d.cts +124 -0
- package/dist/entries/workspaces.d.ts +124 -0
- package/dist/entries/workspaces.js +4 -0
- package/dist/entries/workspaces.js.map +1 -0
- package/dist/index.cjs +501 -5192
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +66 -10894
- package/dist/index.d.ts +66 -10894
- package/dist/index.js +100 -5074
- package/dist/index.js.map +1 -1
- package/dist/nodes-BPvrAoUs.d.cts +1264 -0
- package/dist/nodes-C2zu3uqn.d.ts +1264 -0
- package/dist/studio-productions-DUHvdSvk.d.cts +572 -0
- package/dist/studio-productions-vbCNSbtf.d.ts +572 -0
- package/dist/webhooks-BJawEIz8.d.ts +198 -0
- package/dist/webhooks-Dn_DtNTD.d.cts +198 -0
- package/package.json +253 -3
|
@@ -0,0 +1,548 @@
|
|
|
1
|
+
import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
|
|
2
|
+
import { OverlayAnchor, VideoMaskRequest, MaskCompositeRequest } from '@nodaro/shared/media';
|
|
3
|
+
import { CaptionLookId, SupportedFontName, CaptionStyle } from '@nodaro/shared/captions';
|
|
4
|
+
import { TranscribeLane } from '@nodaro/shared/models';
|
|
5
|
+
export { TranscribeLane } from '@nodaro/shared/models';
|
|
6
|
+
import { VideoOverlayRequest } from '@nodaro/shared/video';
|
|
7
|
+
import '@nodaro/shared/apps';
|
|
8
|
+
import '@nodaro/shared/organizations';
|
|
9
|
+
|
|
10
|
+
/** One word-timed caption entry (one per WORD for the kinetic styles). */
|
|
11
|
+
interface CaptionEntry {
|
|
12
|
+
text: string;
|
|
13
|
+
startMs: number;
|
|
14
|
+
endMs: number;
|
|
15
|
+
timestampMs?: number | null;
|
|
16
|
+
confidence?: number | null;
|
|
17
|
+
}
|
|
18
|
+
/** Look + motion levers — see {@link MediaResource.addCaptions}. `look` is a
|
|
19
|
+
* named preset the explicit levers override; an unset look renders as `outline`
|
|
20
|
+
* (the default). The STYLING levers (`look`, `fontFamily`, `fontWeight`,
|
|
21
|
+
* `strokeColor`/`strokeWidth`, `uppercase`, `positionY`, `maxWordsPerLine`) now
|
|
22
|
+
* apply to the static `subtitle` style too — a subtitle carrying any of them
|
|
23
|
+
* renders via Remotion. Only `highlightColor` (no spoken-word cursor to colour)
|
|
24
|
+
* and `animate` (no motion to freeze) stay kinetic-only and are rejected (400)
|
|
25
|
+
* on `subtitle`. */
|
|
26
|
+
interface CaptionLookInput {
|
|
27
|
+
look?: CaptionLookId;
|
|
28
|
+
fontFamily?: SupportedFontName;
|
|
29
|
+
fontWeight?: number;
|
|
30
|
+
strokeColor?: string;
|
|
31
|
+
strokeWidth?: number;
|
|
32
|
+
highlightColor?: string;
|
|
33
|
+
uppercase?: boolean;
|
|
34
|
+
positionY?: number;
|
|
35
|
+
/** Cap on how many words one caption LINE (or `tiktok-words` page) may hold,
|
|
36
|
+
* 1-20, on TOP of the frame-width budget, sentence ends and pauses that
|
|
37
|
+
* already close a line — 1-2 gives the punchy CapCut read, unset fits the
|
|
38
|
+
* width. Applies to `word-highlight` / `karaoke` / `bouncy` / `tiktok-words`
|
|
39
|
+
* and to a Remotion-rendered `subtitle`; inert on `word-pop` (always one
|
|
40
|
+
* word). */
|
|
41
|
+
maxWordsPerLine?: number;
|
|
42
|
+
/** Kinetic styles only. `false` freezes the per-word MOTION — the grouping,
|
|
43
|
+
* line-holding and spoken-word highlight stay, only the movement stops;
|
|
44
|
+
* default `true`. Rejected (400) on the static `subtitle` style. */
|
|
45
|
+
animate?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** One caption SEGMENT: a time range with optional style/look overrides and its
|
|
48
|
+
* own words (`text`/`captions`, else the shared transcript filtered to range).
|
|
49
|
+
* A segmented render is entirely Remotion, so any `style` is valid here. */
|
|
50
|
+
interface CaptionSegmentInput extends CaptionLookInput {
|
|
51
|
+
startMs: number;
|
|
52
|
+
endMs: number;
|
|
53
|
+
style?: CaptionStyle;
|
|
54
|
+
position?: "bottom" | "top" | "center";
|
|
55
|
+
fontSize?: number;
|
|
56
|
+
color?: string;
|
|
57
|
+
backgroundColor?: string;
|
|
58
|
+
text?: string;
|
|
59
|
+
captions?: CaptionEntry[];
|
|
60
|
+
}
|
|
61
|
+
/** {@link MediaResource.addCaptions} input. */
|
|
62
|
+
interface AddCaptionsInput extends CaptionLookInput {
|
|
63
|
+
videoUrl: string;
|
|
64
|
+
text?: string;
|
|
65
|
+
captions?: CaptionEntry[];
|
|
66
|
+
/** Transcribe the video's audio when no text/captions are given (default true). */
|
|
67
|
+
autoTranscribe?: boolean;
|
|
68
|
+
transcribeProvider?: TranscribeLane;
|
|
69
|
+
style?: CaptionStyle;
|
|
70
|
+
position?: "bottom" | "top" | "center";
|
|
71
|
+
fontSize?: number;
|
|
72
|
+
color?: string;
|
|
73
|
+
backgroundColor?: string;
|
|
74
|
+
/** Apply different treatments to time ranges in one call (non-overlapping). */
|
|
75
|
+
segments?: CaptionSegmentInput[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Media ingestion + trimming — the source-preparation steps a Voice Changer Pro
|
|
79
|
+
* flow (or any pipeline) needs before it has a clip to work on: pull a social
|
|
80
|
+
* video into storage, copy a remote URL into storage, trim a video/audio to a
|
|
81
|
+
* range, and probe a video's metadata. Each generation-style op returns a job id
|
|
82
|
+
* to poll (`jobs.get(jobId)`); `videoMetadata` is a direct read.
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* Where one overlay layer should go, in {@link MediaResource.imageOverlay}'s
|
|
86
|
+
* percent units — the answer from {@link MediaResource.suggestOverlayPlacement}.
|
|
87
|
+
*/
|
|
88
|
+
interface OverlayPlacement {
|
|
89
|
+
/** The point on the base image the layer attaches to. */
|
|
90
|
+
anchor: OverlayAnchor;
|
|
91
|
+
/** Offset from the anchor in % of the base width (negative on a right anchor = inward). */
|
|
92
|
+
x: number;
|
|
93
|
+
/** Offset from the anchor in % of the base height (negative on a bottom anchor = inward). */
|
|
94
|
+
y: number;
|
|
95
|
+
/** The layer's width in % of the base width. */
|
|
96
|
+
width: number;
|
|
97
|
+
/** One sentence, plain language, on why this spot. */
|
|
98
|
+
reason: string;
|
|
99
|
+
}
|
|
100
|
+
declare class MediaResource {
|
|
101
|
+
private client;
|
|
102
|
+
constructor(client: NodaroClientCore);
|
|
103
|
+
/**
|
|
104
|
+
* Download a social video (YouTube / TikTok / Instagram / X / Facebook) into
|
|
105
|
+
* your storage (`POST /v1/download-video`). `maxHeight` caps the resolution
|
|
106
|
+
* (default "best"); `sectionStartSec` + `sectionEndSec` (both-or-neither) fetch
|
|
107
|
+
* ONLY that time range instead of the whole video. A download that arrives
|
|
108
|
+
* with no audio stream FAILS by default (it is usually a degraded source
|
|
109
|
+
* response, and is retried through other routes first); pass
|
|
110
|
+
* `requireAudio: false` to accept a clip that really has no sound. Returns a
|
|
111
|
+
* `downloadId`; progress streams from
|
|
112
|
+
* `GET /v1/download-video/progress/:downloadId` (server-sent events) and the
|
|
113
|
+
* finished file lands in your library.
|
|
114
|
+
*/
|
|
115
|
+
downloadVideo(input: {
|
|
116
|
+
url: string;
|
|
117
|
+
maxHeight?: number;
|
|
118
|
+
sectionStartSec?: number;
|
|
119
|
+
sectionEndSec?: number;
|
|
120
|
+
requireAudio?: boolean;
|
|
121
|
+
}): Promise<{
|
|
122
|
+
downloadId: string;
|
|
123
|
+
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Stream the live progress of a {@link MediaResource.downloadVideo} import
|
|
126
|
+
* (`GET /v1/download-video/progress/:downloadId`, server-sent events) as an
|
|
127
|
+
* async iterable. Yields a {@link DownloadVideoProgress} roughly every 500ms
|
|
128
|
+
* until the download reaches `completed` (its event carries the stored
|
|
129
|
+
* `videoUrl`) or `failed` (its event carries `error`), then ends. The progress
|
|
130
|
+
* state expires server-side shortly after the download starts existing, so
|
|
131
|
+
* start iterating promptly after `downloadVideo` returns.
|
|
132
|
+
*
|
|
133
|
+
* No request timeout is applied (a large import legitimately takes minutes) —
|
|
134
|
+
* pass an `AbortSignal` to cancel from the caller.
|
|
135
|
+
*/
|
|
136
|
+
downloadVideoProgress(downloadId: string, opts?: {
|
|
137
|
+
signal?: AbortSignal;
|
|
138
|
+
}): AsyncGenerator<DownloadVideoProgress, void, undefined>;
|
|
139
|
+
/**
|
|
140
|
+
* Copy an external media URL into your Nodaro storage (`POST /v1/save-to-storage`)
|
|
141
|
+
* — a server-side fetch, so nothing round-trips through the client. Poll
|
|
142
|
+
* `jobs.get(jobId)`.
|
|
143
|
+
*/
|
|
144
|
+
saveToStorage(input: {
|
|
145
|
+
mediaUrl: string;
|
|
146
|
+
filename?: string;
|
|
147
|
+
mediaType?: "image" | "video" | "audio";
|
|
148
|
+
}): Promise<{
|
|
149
|
+
jobId: string;
|
|
150
|
+
}>;
|
|
151
|
+
/**
|
|
152
|
+
* Composite 2–30 images into ONE large 2K/4K collage (`POST /v1/image-collage`).
|
|
153
|
+
* `layout` `"smart"` (default — justified rows at each image's exact aspect
|
|
154
|
+
* ratio, no cropping; the output height floats) or `"grid"` (uniform,
|
|
155
|
+
* letterboxed cells). `imageSizes` is index-aligned with `imageUrls` and
|
|
156
|
+
* gives per-image RELATIVE size hints for the smart layout: `0` auto
|
|
157
|
+
* ("don't care", default), `1` big (~2× linear vs medium), `2` medium,
|
|
158
|
+
* `3` small (~½ linear). All-equal hints change nothing; grid ignores them.
|
|
159
|
+
* For storyboards, set `numbered` to stamp a 1-based sequence badge at each
|
|
160
|
+
* image's corner (top-left by default; `badgePosition: "top-right"` moves it;
|
|
161
|
+
* in `imageUrls` order) and pass `imageLabels`
|
|
162
|
+
* (index-aligned with `imageUrls`; `null`/`""`/omitted = no caption for that
|
|
163
|
+
* image) to caption images after the number, e.g. `3 · Close-up`. Badges are
|
|
164
|
+
* an overlay only — they never change the layout, the output size or the
|
|
165
|
+
* credit cost. Poll `jobs.get(jobId)` for the finished image.
|
|
166
|
+
*/
|
|
167
|
+
imageCollage(input: {
|
|
168
|
+
imageUrls: string[];
|
|
169
|
+
imageSizes?: Array<0 | 1 | 2 | 3>;
|
|
170
|
+
numbered?: boolean;
|
|
171
|
+
imageLabels?: Array<string | null>;
|
|
172
|
+
/** Corner the badges sit in — `"top-left"` (default, storyboard convention) or `"top-right"`. */
|
|
173
|
+
badgePosition?: "top-left" | "top-right";
|
|
174
|
+
layout?: "smart" | "grid";
|
|
175
|
+
resolution?: "2K" | "4K";
|
|
176
|
+
aspectRatio?: string;
|
|
177
|
+
gap?: number;
|
|
178
|
+
backgroundColor?: string;
|
|
179
|
+
}): Promise<{
|
|
180
|
+
jobId: string;
|
|
181
|
+
}>;
|
|
182
|
+
/**
|
|
183
|
+
* Place 1–12 layers — pictures, real text, QR codes, shapes — on a base image,
|
|
184
|
+
* pixel-exactly (`POST /v1/image-overlay`) — local, deterministic, no AI.
|
|
185
|
+
* Every layer position/size is a PERCENT of the base image: `anchor` (nine
|
|
186
|
+
* positions, default `"center"`), `x`/`y` (offset from the anchor in % of
|
|
187
|
+
* the base width/height; negative on a right/bottom anchor moves inward),
|
|
188
|
+
* `width` (% of the base width, default 25 — height follows the layer's
|
|
189
|
+
* aspect unless `height` is set). Plus `opacity` (0..1), `rotation`
|
|
190
|
+
* (degrees), `blend` (`"over"` | `"multiply"` | `"screen"`), `fit`,
|
|
191
|
+
* `shadow` and `roundedCorners`. The output keeps the base's pixel size
|
|
192
|
+
* unless `canvas` is set. Flat credit cost. Poll `jobs.get(jobId)` for the
|
|
193
|
+
* finished image.
|
|
194
|
+
*/
|
|
195
|
+
imageOverlay(input: {
|
|
196
|
+
imageUrl: string;
|
|
197
|
+
layers: Array<{
|
|
198
|
+
imageUrl: string;
|
|
199
|
+
anchor?: OverlayAnchor;
|
|
200
|
+
x?: number;
|
|
201
|
+
y?: number;
|
|
202
|
+
width?: number;
|
|
203
|
+
height?: number;
|
|
204
|
+
opacity?: number;
|
|
205
|
+
rotation?: number;
|
|
206
|
+
blend?: "over" | "multiply" | "screen";
|
|
207
|
+
fit?: "contain" | "cover" | "stretch";
|
|
208
|
+
shadow?: {
|
|
209
|
+
blur: number;
|
|
210
|
+
offsetX: number;
|
|
211
|
+
offsetY: number;
|
|
212
|
+
color: string;
|
|
213
|
+
opacity: number;
|
|
214
|
+
};
|
|
215
|
+
roundedCorners?: number;
|
|
216
|
+
zIndex?: number;
|
|
217
|
+
/** "image" (default, needs imageUrl) | "text" | "qr" | "shape" — see @nodaro/shared image-overlay-layers. */
|
|
218
|
+
kind?: "image" | "text" | "qr" | "shape";
|
|
219
|
+
text?: Record<string, unknown>;
|
|
220
|
+
qr?: Record<string, unknown>;
|
|
221
|
+
shape?: Record<string, unknown>;
|
|
222
|
+
effects?: Record<string, unknown>;
|
|
223
|
+
}>;
|
|
224
|
+
canvas?: {
|
|
225
|
+
width: number;
|
|
226
|
+
height: number;
|
|
227
|
+
backgroundColor?: string;
|
|
228
|
+
};
|
|
229
|
+
baseFit?: "contain" | "cover";
|
|
230
|
+
outputFormat?: "png" | "jpg" | "webp";
|
|
231
|
+
/** Extra platform renders (see OVERLAY_PLATFORMS in @nodaro/shared); returned as output `variants[]`. */
|
|
232
|
+
variants?: string[];
|
|
233
|
+
/** The mask the job also emits as output `maskUrl` (white = may change). Default "around". */
|
|
234
|
+
maskMode?: "none" | "layers" | "around" | "outside";
|
|
235
|
+
maskSpread?: number;
|
|
236
|
+
/** Fills every QR layer whose `qr.fromInput` is true — the node's QR link handle. */
|
|
237
|
+
qrText?: string;
|
|
238
|
+
}): Promise<{
|
|
239
|
+
jobId: string;
|
|
240
|
+
}>;
|
|
241
|
+
/**
|
|
242
|
+
* Ask a vision model WHERE one overlay layer should sit on a base image
|
|
243
|
+
* (`POST /v1/image-overlay/suggest-placement`) — it reads the picture and
|
|
244
|
+
* keeps the element off the faces, the subject and the busiest texture.
|
|
245
|
+
* The answer comes back in {@link MediaResource.imageOverlay}'s own percent
|
|
246
|
+
* units — `anchor`, `x`/`y` offsets, `width` — so it drops straight onto a
|
|
247
|
+
* layer (`const { reason, ...box } = placement`), plus a one-sentence
|
|
248
|
+
* `reason` you can show a user. Nothing is composited here: apply the
|
|
249
|
+
* placement yourself.
|
|
250
|
+
*
|
|
251
|
+
* `layerAspect` is the element's width / height (1 = square, the default) so
|
|
252
|
+
* the proposed box stays in proportion; `intent` says what the element is
|
|
253
|
+
* ("a logo", "a price badge"); `safeArea` is the always-visible region as
|
|
254
|
+
* fractions of the canvas (a platform preset's safe area), which the
|
|
255
|
+
* placement is kept inside. Unlike the other media calls this one answers
|
|
256
|
+
* synchronously — there is nothing to poll; `jobId` is the billing record
|
|
257
|
+
* (one image-to-text call).
|
|
258
|
+
*/
|
|
259
|
+
suggestOverlayPlacement(input: {
|
|
260
|
+
imageUrl: string;
|
|
261
|
+
layerAspect?: number;
|
|
262
|
+
intent?: string;
|
|
263
|
+
safeArea?: {
|
|
264
|
+
x: number;
|
|
265
|
+
y: number;
|
|
266
|
+
w: number;
|
|
267
|
+
h: number;
|
|
268
|
+
};
|
|
269
|
+
llmModel?: string;
|
|
270
|
+
}): Promise<{
|
|
271
|
+
jobId: string;
|
|
272
|
+
placement: OverlayPlacement;
|
|
273
|
+
}>;
|
|
274
|
+
/**
|
|
275
|
+
* Trim a video to a range (`POST /v1/trim-video`). Give the range in whichever
|
|
276
|
+
* unit fits: `startTime`/`endTime` seconds, `trim*Frames`, `trim*Seconds`, or
|
|
277
|
+
* `keepFirst`/`keepLastSeconds`. Poll `jobs.get(jobId)`.
|
|
278
|
+
*/
|
|
279
|
+
trimVideo(input: {
|
|
280
|
+
videoUrl: string;
|
|
281
|
+
startTime?: number;
|
|
282
|
+
endTime?: number;
|
|
283
|
+
trimStartFrames?: number;
|
|
284
|
+
trimEndFrames?: number;
|
|
285
|
+
trimStartSeconds?: number;
|
|
286
|
+
trimEndSeconds?: number;
|
|
287
|
+
keepFirstSeconds?: number;
|
|
288
|
+
keepLastSeconds?: number;
|
|
289
|
+
}): Promise<{
|
|
290
|
+
jobId: string;
|
|
291
|
+
}>;
|
|
292
|
+
/**
|
|
293
|
+
* Burn captions into a video (`POST /v1/add-captions`). Give the words as
|
|
294
|
+
* `text`, word-timed `captions[]`, or let it transcribe (`autoTranscribe`,
|
|
295
|
+
* the default when neither is set).
|
|
296
|
+
*
|
|
297
|
+
* `style: "subtitle"` renders statically (FFmpeg) UNLESS it carries a styling
|
|
298
|
+
* lever, in which case it — like the KINETIC styles (`word-highlight` /
|
|
299
|
+
* `karaoke` / `tiktok-words` / `word-pop` / `bouncy`) — renders via Remotion.
|
|
300
|
+
* `look` picks a preset — `outline` (Montserrat 900, UPPERCASE, black outline,
|
|
301
|
+
* yellow spoken word — the TikTok/Reels read) or `clean`; an UNSET look renders
|
|
302
|
+
* as `outline`. The explicit STYLING levers (`fontFamily`, `fontWeight`,
|
|
303
|
+
* `strokeColor`/`strokeWidth`, `uppercase`, `positionY`, `maxWordsPerLine`)
|
|
304
|
+
* override individual fields of it and now apply to `subtitle` too. Only
|
|
305
|
+
* `highlightColor` (the spoken-word cursor) and `animate` stay kinetic-only
|
|
306
|
+
* and are REJECTED on `subtitle`.
|
|
307
|
+
*
|
|
308
|
+
* `animate` (default true) freezes the per-word MOTION on the kinetic styles
|
|
309
|
+
* when set to false — the grouping, line-holding and spoken-word highlight
|
|
310
|
+
* stay; only the movement stops.
|
|
311
|
+
*
|
|
312
|
+
* `maxWordsPerLine` (1-20) caps how many words a line — or a `tiktok-words`
|
|
313
|
+
* page — may hold, on top of the width budget / sentence ends / pauses that
|
|
314
|
+
* already close one; it is inert on `word-pop`, which is always one word.
|
|
315
|
+
* Like every lever here it exists top-level AND per segment, and a segment
|
|
316
|
+
* that does not name its own inherits the top-level value.
|
|
317
|
+
*
|
|
318
|
+
* `segments[]` applies DIFFERENT treatments to non-overlapping time ranges in
|
|
319
|
+
* one call (e.g. a large top intro, then a small bottom body); a segment that
|
|
320
|
+
* names its own `look` starts fresh from that preset and does not inherit the
|
|
321
|
+
* top-level explicit levers. Poll `jobs.get(jobId)`.
|
|
322
|
+
*
|
|
323
|
+
* `word-highlight` shows ONE held line at a time and a word's
|
|
324
|
+
* `startMs`/`endMs` is its SPOKEN window (what times the highlight, not how
|
|
325
|
+
* long the text is on screen) — so `captions[]` can be handed over verbatim
|
|
326
|
+
* from an `audio.transcribe()` job's `output_data.words`, with
|
|
327
|
+
* `autoTranscribe: false`.
|
|
328
|
+
*/
|
|
329
|
+
addCaptions(input: AddCaptionsInput): Promise<{
|
|
330
|
+
jobId: string;
|
|
331
|
+
}>;
|
|
332
|
+
/**
|
|
333
|
+
* Trim (and extract) audio from a video or audio source
|
|
334
|
+
* (`POST /v1/trim-audio`) to `[startTime, endTime]` seconds, in `audioFormat`
|
|
335
|
+
* (`mp3` default / `wav` / `aac`). Poll `jobs.get(jobId)`.
|
|
336
|
+
*/
|
|
337
|
+
trimAudio(input: {
|
|
338
|
+
videoUrl?: string;
|
|
339
|
+
audioUrl?: string;
|
|
340
|
+
audioFormat?: "mp3" | "wav" | "aac";
|
|
341
|
+
startTime?: number;
|
|
342
|
+
endTime?: number;
|
|
343
|
+
}): Promise<{
|
|
344
|
+
jobId: string;
|
|
345
|
+
}>;
|
|
346
|
+
/**
|
|
347
|
+
* Cut a video and/or an audio file into consecutive parts
|
|
348
|
+
* (`POST /v1/split-media`). Every part is at most `chunkDuration` seconds and
|
|
349
|
+
* at least `minPartDuration` (default 4, never above `chunkDuration`) — a
|
|
350
|
+
* short leftover is evened out with the parts before it. Video is cut on
|
|
351
|
+
* whole frames with each part's sound matching its picture; audio parts are
|
|
352
|
+
* sample-exact, in `audioFormat` (`mp3` default / `wav` / `aac`). With both
|
|
353
|
+
* sources each is split on its own. At most 200 parts per input. Poll
|
|
354
|
+
* `jobs.get(jobId)`; the parts are on the completed job's `output_data` —
|
|
355
|
+
* see {@link SplitMediaOutput}.
|
|
356
|
+
*/
|
|
357
|
+
splitMedia(input: SplitMediaInput): Promise<{
|
|
358
|
+
jobId: string;
|
|
359
|
+
}>;
|
|
360
|
+
/**
|
|
361
|
+
* Turn one still image + one audio track into an MP4
|
|
362
|
+
* (`POST /v1/still-to-video`) — locally rendered (FFmpeg), no AI model,
|
|
363
|
+
* zero credits. The output duration IS the audio's duration; there is no
|
|
364
|
+
* duration field. Optional `motion` animates the still (zoom / pan /
|
|
365
|
+
* ken-burns) at `intensity` 1–10. `fit: "contain"` letterboxes with
|
|
366
|
+
* `padColor` instead of cropping. Poll `jobs.get(jobId)`.
|
|
367
|
+
*/
|
|
368
|
+
stillToVideo(input: {
|
|
369
|
+
imageUrl: string;
|
|
370
|
+
audioUrl: string;
|
|
371
|
+
motion?: "none" | "zoom-in" | "zoom-out" | "pan-left" | "pan-right" | "ken-burns";
|
|
372
|
+
intensity?: number;
|
|
373
|
+
resolution?: "720p" | "1080p" | "4K";
|
|
374
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3";
|
|
375
|
+
fps?: 24 | 30;
|
|
376
|
+
fit?: "cover" | "contain";
|
|
377
|
+
padColor?: string;
|
|
378
|
+
}): Promise<{
|
|
379
|
+
jobId: string;
|
|
380
|
+
}>;
|
|
381
|
+
/**
|
|
382
|
+
* Turn 2–100 images + one optional audio track into an MP4 slideshow
|
|
383
|
+
* (`POST /v1/slideshow`) — locally rendered (FFmpeg), zero credits. With
|
|
384
|
+
* audio, the output duration IS the audio's duration (equal split unless
|
|
385
|
+
* `imageDurations` pins rows — null entries = auto; mismatched pinned sums
|
|
386
|
+
* scale proportionally and the factor is disclosed in the job output).
|
|
387
|
+
* Without audio: N × `perImageDuration`, silent output. Transitions
|
|
388
|
+
* consume the outgoing slide, so totals stay exact. For a single image use
|
|
389
|
+
* `stillToVideo`. Poll `jobs.get(jobId)`.
|
|
390
|
+
*/
|
|
391
|
+
slideshow(input: {
|
|
392
|
+
imageUrls: string[];
|
|
393
|
+
audioUrl?: string;
|
|
394
|
+
imageDurations?: Array<number | null>;
|
|
395
|
+
perImageDuration?: number;
|
|
396
|
+
transition?: string;
|
|
397
|
+
transitionDuration?: number;
|
|
398
|
+
motion?: "none" | "zoom-in" | "zoom-out" | "ken-burns" | "alternate";
|
|
399
|
+
intensity?: number;
|
|
400
|
+
resolution?: "720p" | "1080p" | "4K";
|
|
401
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:3";
|
|
402
|
+
fps?: 24 | 30;
|
|
403
|
+
fit?: "cover" | "contain";
|
|
404
|
+
padColor?: string;
|
|
405
|
+
}): Promise<{
|
|
406
|
+
jobId: string;
|
|
407
|
+
}>;
|
|
408
|
+
/**
|
|
409
|
+
* Place 1–20 timed image layers over a video (`POST /v1/video-overlay`) —
|
|
410
|
+
* rendered locally (FFmpeg) in one pass, no AI; the base audio is kept
|
|
411
|
+
* untouched. Each layer has an `imageUrl`, a `start` and an optional `end`
|
|
412
|
+
* in seconds (no `end` = to the end of the video) and a placement: a
|
|
413
|
+
* `preset` (`"card"`, `"corner-badge"` with a `corner`, `"full-frame"`) or
|
|
414
|
+
* an explicit box in {@link MediaResource.imageOverlay}'s percent vocabulary
|
|
415
|
+
* (`anchor`, `x`, `y`, `width`, `height`, `fit`) — an explicit box field
|
|
416
|
+
* overrides the preset, and a layer with neither is a corner badge
|
|
417
|
+
* (bottom-right, or the `corner` it names). `outputAspect` renders onto a
|
|
418
|
+
* 16:9 / 9:16 / 1:1 / 4:5 canvas
|
|
419
|
+
* (`baseFit` cover by default; `backgroundColor` pads `contain`). Poll
|
|
420
|
+
* `jobs.get(jobId)`: the output carries `videoUrl`, `thumbnailUrl`, `width`,
|
|
421
|
+
* `height`, `durationSec` and `warnings[]` (a layer clipped or skipped at the
|
|
422
|
+
* video's end, an animated image's first frame, re-encoded audio).
|
|
423
|
+
*/
|
|
424
|
+
videoOverlay(input: VideoOverlayRequest): Promise<{
|
|
425
|
+
jobId: string;
|
|
426
|
+
}>;
|
|
427
|
+
/**
|
|
428
|
+
* Track a subject described in plain text through a video and get a
|
|
429
|
+
* black-and-white MASK VIDEO back (`POST /v1/video-mask`, SAM 3.1 by default,
|
|
430
|
+
* or `provider: "sam-3"` at half the price) — white = the subject. Clips up
|
|
431
|
+
* to 5 minutes at 30 fps (a faster clip counts
|
|
432
|
+
* proportionally longer), priced by the clip's length. Poll
|
|
433
|
+
* `jobs.get(jobId)`: the output carries `videoUrl` (the mask), `width`,
|
|
434
|
+
* `height`, `frames` and `coverage` (the fraction of pixels selected). Feed
|
|
435
|
+
* the mask to {@link MediaResource.maskComposite}.
|
|
436
|
+
*/
|
|
437
|
+
videoMask(input: VideoMaskRequest): Promise<{
|
|
438
|
+
jobId: string;
|
|
439
|
+
}>;
|
|
440
|
+
/**
|
|
441
|
+
* Place a foreground video over a background video through a mask video
|
|
442
|
+
* (`POST /v1/mask-composite`; white = foreground) — local FFmpeg, no AI.
|
|
443
|
+
* The result follows the foreground's size, frame rate and length; the
|
|
444
|
+
* background is fitted (`backgroundFit`, default cover) and loops when
|
|
445
|
+
* shorter; the mask holds its last frame when shorter. Optional
|
|
446
|
+
* `invertMask`, `feather` (0–20 px), `grow` (−10–10 px) and `audioSource`
|
|
447
|
+
* (foreground / background / mix / none). Priced per started 5 seconds of
|
|
448
|
+
* the result (foreground up to 300 s). Poll `jobs.get(jobId)` for `videoUrl`.
|
|
449
|
+
*/
|
|
450
|
+
maskComposite(input: MaskCompositeRequest): Promise<{
|
|
451
|
+
jobId: string;
|
|
452
|
+
}>;
|
|
453
|
+
/**
|
|
454
|
+
* Probe a social video's metadata (`POST /v1/video-metadata`) — duration,
|
|
455
|
+
* dimensions, title, live status — WITHOUT downloading it. A direct read, not a
|
|
456
|
+
* job. Use it to decide whether to trim before importing.
|
|
457
|
+
*/
|
|
458
|
+
videoMetadata(input: {
|
|
459
|
+
url: string;
|
|
460
|
+
}): Promise<VideoMetadata>;
|
|
461
|
+
/**
|
|
462
|
+
* Cut or crop a stored file (`POST /v1/media/process`) — synchronous and
|
|
463
|
+
* free, the source-preparation sibling of the priced `trimVideo` node.
|
|
464
|
+
* `trim` is `[startTime, endTime]` in seconds; `deleteSource: true` removes
|
|
465
|
+
* the source object afterwards when it is yours and nothing else references
|
|
466
|
+
* it ("the cut replaces the original"). Answers the stored file.
|
|
467
|
+
*/
|
|
468
|
+
process(input: MediaProcessInput): Promise<{
|
|
469
|
+
data: MediaProcessResult;
|
|
470
|
+
}>;
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* One event from {@link MediaResource.downloadVideoProgress}. The stream ends
|
|
474
|
+
* after a `completed` event (which carries the stored `videoUrl` + an optional
|
|
475
|
+
* `thumbnailUrl`) or a `failed` event (which carries `error`).
|
|
476
|
+
*/
|
|
477
|
+
interface DownloadVideoProgress {
|
|
478
|
+
phase: "downloading" | "processing" | "uploading" | "completed" | "failed";
|
|
479
|
+
/** Download percent (0–100). Section fetches report jumpy percents — display, don't sum. */
|
|
480
|
+
percent: number;
|
|
481
|
+
/** The imported video's storage URL — set on the `completed` event. */
|
|
482
|
+
videoUrl?: string;
|
|
483
|
+
/** Thumbnail storage URL — set on the `completed` event when one was captured. */
|
|
484
|
+
thumbnailUrl?: string;
|
|
485
|
+
/** What went wrong — set on the `failed` event. */
|
|
486
|
+
error?: string;
|
|
487
|
+
}
|
|
488
|
+
/** Result of {@link MediaResource.videoMetadata}. Fields are best-effort — a probe may omit some. */
|
|
489
|
+
interface VideoMetadata {
|
|
490
|
+
durationSec?: number | null;
|
|
491
|
+
width?: number | null;
|
|
492
|
+
height?: number | null;
|
|
493
|
+
title?: string | null;
|
|
494
|
+
isLive?: boolean;
|
|
495
|
+
[key: string]: unknown;
|
|
496
|
+
}
|
|
497
|
+
/** Body of {@link MediaResource.splitMedia} (`POST /v1/split-media`). At least one of `videoUrl` / `audioUrl`. */
|
|
498
|
+
interface SplitMediaInput {
|
|
499
|
+
/** Video to split. */
|
|
500
|
+
videoUrl?: string;
|
|
501
|
+
/** Audio file to split (split on its own when a video is given too). */
|
|
502
|
+
audioUrl?: string;
|
|
503
|
+
/** The longest a part may be, in seconds (at least 1). Every part is at most this long. */
|
|
504
|
+
chunkDuration: number;
|
|
505
|
+
/** The shortest a part may be, in seconds (0 or more, default 4). Must not exceed `chunkDuration` (400 otherwise). */
|
|
506
|
+
minPartDuration?: number;
|
|
507
|
+
/** Format of the audio parts. Default `mp3`. */
|
|
508
|
+
audioFormat?: "mp3" | "wav" | "aac";
|
|
509
|
+
}
|
|
510
|
+
/** A completed split-media job's `output_data`. */
|
|
511
|
+
interface SplitMediaOutput {
|
|
512
|
+
/** The video parts, in order (when a video was split). */
|
|
513
|
+
videoUrls?: string[];
|
|
514
|
+
/** The audio parts, in order (when an audio file was split). */
|
|
515
|
+
audioUrls?: string[];
|
|
516
|
+
/** The number of parts — the larger of the two lists. */
|
|
517
|
+
chunkCount: number;
|
|
518
|
+
/** Each part's exact length in seconds: the video parts' when a video was split, else the audio parts'. */
|
|
519
|
+
partDurationsSec?: number[];
|
|
520
|
+
/** The audio parts' lengths, only when BOTH a video and an audio file were split. */
|
|
521
|
+
audioPartDurationsSec?: number[];
|
|
522
|
+
}
|
|
523
|
+
interface MediaProcessInput {
|
|
524
|
+
sourceUrl: string;
|
|
525
|
+
type: "video" | "audio";
|
|
526
|
+
trim?: {
|
|
527
|
+
startTime: number;
|
|
528
|
+
endTime: number;
|
|
529
|
+
};
|
|
530
|
+
crop?: {
|
|
531
|
+
x: number;
|
|
532
|
+
y: number;
|
|
533
|
+
width: number;
|
|
534
|
+
height: number;
|
|
535
|
+
};
|
|
536
|
+
format?: "mp4" | "webm" | "mp3" | "wav" | "m4a" | "aac";
|
|
537
|
+
deleteSource?: boolean;
|
|
538
|
+
}
|
|
539
|
+
interface MediaProcessResult {
|
|
540
|
+
url: string;
|
|
541
|
+
thumbnailUrl: string | null;
|
|
542
|
+
assetId: string | null;
|
|
543
|
+
sizeBytes: number;
|
|
544
|
+
mimeType: string;
|
|
545
|
+
metadata: Record<string, unknown>;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export { type AddCaptionsInput, type CaptionEntry, type CaptionLookInput, type CaptionSegmentInput, type DownloadVideoProgress, type MediaProcessInput, type MediaProcessResult, MediaResource, type OverlayPlacement, type SplitMediaInput, type SplitMediaOutput, type VideoMetadata };
|