@devmotion/cli 0.6.0 → 0.6.1

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.
Files changed (786) hide show
  1. package/README.md +10 -8
  2. package/dist/index.js +16 -10
  3. package/package.json +39 -3
  4. package/studio/client/_app/immutable/chunks/{zdIjnFuo.js → 50k2wcLI.js} +1 -1
  5. package/studio/client/_app/immutable/chunks/50k2wcLI.js.br +0 -0
  6. package/studio/client/_app/immutable/chunks/50k2wcLI.js.gz +0 -0
  7. package/studio/client/_app/immutable/chunks/{EsOjj2Re.js → B0InQEem.js} +1 -1
  8. package/studio/client/_app/immutable/chunks/B0InQEem.js.br +0 -0
  9. package/studio/client/_app/immutable/chunks/B0InQEem.js.gz +0 -0
  10. package/studio/client/_app/immutable/chunks/{BslV7gY7.js → B0K-yEeN.js} +1 -1
  11. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.br +0 -0
  12. package/studio/client/_app/immutable/chunks/B0K-yEeN.js.gz +0 -0
  13. package/studio/client/_app/immutable/chunks/{CTpKZT5_.js → B0ihW1uA.js} +1 -1
  14. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.br +0 -0
  15. package/studio/client/_app/immutable/chunks/B0ihW1uA.js.gz +0 -0
  16. package/studio/client/_app/immutable/chunks/{Dw0S4s6I.js → B7-B7Rye.js} +1 -1
  17. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.br +0 -0
  18. package/studio/client/_app/immutable/chunks/B7-B7Rye.js.gz +0 -0
  19. package/studio/client/_app/immutable/chunks/{D1FB0IUT.js → B73W4ug1.js} +1 -1
  20. package/studio/client/_app/immutable/chunks/B73W4ug1.js.br +0 -0
  21. package/studio/client/_app/immutable/chunks/B73W4ug1.js.gz +0 -0
  22. package/studio/client/_app/immutable/chunks/{BwG2gtjF.js → B7YKAaTG.js} +1 -1
  23. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.br +0 -0
  24. package/studio/client/_app/immutable/chunks/B7YKAaTG.js.gz +0 -0
  25. package/studio/client/_app/immutable/chunks/{Bs7NW1Se.js → BBfFsDlX.js} +1 -1
  26. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.br +0 -0
  27. package/studio/client/_app/immutable/chunks/BBfFsDlX.js.gz +0 -0
  28. package/studio/client/_app/immutable/chunks/{DUvwbcGL.js → BD1Q_3Tu.js} +1 -1
  29. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.br +0 -0
  30. package/studio/client/_app/immutable/chunks/BD1Q_3Tu.js.gz +0 -0
  31. package/studio/client/_app/immutable/chunks/{DXmIOUiy.js → BSkyxmk4.js} +1 -1
  32. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.br +0 -0
  33. package/studio/client/_app/immutable/chunks/BSkyxmk4.js.gz +0 -0
  34. package/studio/client/_app/immutable/chunks/{C0WKYdwk.js → BWJBuCKd.js} +1 -1
  35. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.br +0 -0
  36. package/studio/client/_app/immutable/chunks/BWJBuCKd.js.gz +0 -0
  37. package/studio/client/_app/immutable/chunks/{Cdg3o65X.js → BZ5m9NAb.js} +1 -1
  38. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.br +0 -0
  39. package/studio/client/_app/immutable/chunks/BZ5m9NAb.js.gz +0 -0
  40. package/studio/client/_app/immutable/chunks/{DkL6aOyN.js → BmyLmh6r.js} +1 -1
  41. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.br +0 -0
  42. package/studio/client/_app/immutable/chunks/BmyLmh6r.js.gz +0 -0
  43. package/studio/client/_app/immutable/chunks/{D8o81YM9.js → Bxtw3VCv.js} +1 -1
  44. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.br +0 -0
  45. package/studio/client/_app/immutable/chunks/Bxtw3VCv.js.gz +0 -0
  46. package/studio/client/_app/immutable/chunks/{MA9VYZ9Y.js → C9sBKiYf.js} +1 -1
  47. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.br +0 -0
  48. package/studio/client/_app/immutable/chunks/C9sBKiYf.js.gz +0 -0
  49. package/studio/client/_app/immutable/chunks/{vMKBQkkd.js → COl-CNj7.js} +1 -1
  50. package/studio/client/_app/immutable/chunks/COl-CNj7.js.br +0 -0
  51. package/studio/client/_app/immutable/chunks/COl-CNj7.js.gz +0 -0
  52. package/studio/client/_app/immutable/chunks/{BM9OfXL9.js → CT2a-dR9.js} +1 -1
  53. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.br +0 -0
  54. package/studio/client/_app/immutable/chunks/CT2a-dR9.js.gz +0 -0
  55. package/studio/client/_app/immutable/chunks/{CTjBIV3u.js → CUCj7lD0.js} +1 -1
  56. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.br +0 -0
  57. package/studio/client/_app/immutable/chunks/CUCj7lD0.js.gz +0 -0
  58. package/studio/client/_app/immutable/chunks/CXbT2p8d.js +1 -0
  59. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.br +2 -0
  60. package/studio/client/_app/immutable/chunks/CXbT2p8d.js.gz +0 -0
  61. package/studio/client/_app/immutable/chunks/{AZ9rWnO0.js → Cdq6yEev.js} +1 -1
  62. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.br +0 -0
  63. package/studio/client/_app/immutable/chunks/Cdq6yEev.js.gz +0 -0
  64. package/studio/client/_app/immutable/chunks/{D-QT1x8R.js → ChWA6krs.js} +1 -1
  65. package/studio/client/_app/immutable/chunks/ChWA6krs.js.br +0 -0
  66. package/studio/client/_app/immutable/chunks/ChWA6krs.js.gz +0 -0
  67. package/studio/client/_app/immutable/chunks/{DlG2SYaI.js → Cjo8pWm5.js} +1 -1
  68. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.br +0 -0
  69. package/studio/client/_app/immutable/chunks/Cjo8pWm5.js.gz +0 -0
  70. package/studio/client/_app/immutable/chunks/{BwnyT9Ny.js → Cms6Kv73.js} +1 -1
  71. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.br +0 -0
  72. package/studio/client/_app/immutable/chunks/Cms6Kv73.js.gz +0 -0
  73. package/studio/client/_app/immutable/chunks/CpZPBLUC.js +4 -0
  74. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.br +0 -0
  75. package/studio/client/_app/immutable/chunks/CpZPBLUC.js.gz +0 -0
  76. package/studio/client/_app/immutable/chunks/{BJKr5hge.js → Crbgd-F4.js} +1 -1
  77. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.br +0 -0
  78. package/studio/client/_app/immutable/chunks/Crbgd-F4.js.gz +0 -0
  79. package/studio/client/_app/immutable/chunks/{CwPeYiWY.js → Cy-HgkQ4.js} +1 -1
  80. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.br +0 -0
  81. package/studio/client/_app/immutable/chunks/Cy-HgkQ4.js.gz +0 -0
  82. package/studio/client/_app/immutable/chunks/{BM16VTgB.js → DTeYaQtG.js} +1 -1
  83. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.br +0 -0
  84. package/studio/client/_app/immutable/chunks/DTeYaQtG.js.gz +0 -0
  85. package/studio/client/_app/immutable/chunks/{CVS8giU8.js → DlRdcK_L.js} +1 -1
  86. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.br +0 -0
  87. package/studio/client/_app/immutable/chunks/DlRdcK_L.js.gz +0 -0
  88. package/studio/client/_app/immutable/chunks/{BgrSU1kg.js → DmhMUf0A.js} +1 -1
  89. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.br +0 -0
  90. package/studio/client/_app/immutable/chunks/DmhMUf0A.js.gz +0 -0
  91. package/studio/client/_app/immutable/chunks/{Of4NhqMR.js → FOXaA4gY.js} +1 -1
  92. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.br +0 -0
  93. package/studio/client/_app/immutable/chunks/FOXaA4gY.js.gz +0 -0
  94. package/studio/client/_app/immutable/chunks/{BW3LFrce.js → N203W5Pg.js} +1 -1
  95. package/studio/client/_app/immutable/chunks/N203W5Pg.js.br +0 -0
  96. package/studio/client/_app/immutable/chunks/N203W5Pg.js.gz +0 -0
  97. package/studio/client/_app/immutable/chunks/{BvSfBzuV.js → P0Tv_tIw.js} +1 -1
  98. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.br +0 -0
  99. package/studio/client/_app/immutable/chunks/P0Tv_tIw.js.gz +0 -0
  100. package/studio/client/_app/immutable/chunks/{CPRt510s.js → hBOeOFig.js} +1 -1
  101. package/studio/client/_app/immutable/chunks/hBOeOFig.js.br +0 -0
  102. package/studio/client/_app/immutable/chunks/hBOeOFig.js.gz +0 -0
  103. package/studio/client/_app/immutable/chunks/{CvEPOTmC.js → ovnFo7rR.js} +1 -1
  104. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.br +0 -0
  105. package/studio/client/_app/immutable/chunks/ovnFo7rR.js.gz +0 -0
  106. package/studio/client/_app/immutable/chunks/{DhUtLNbU.js → uVN-AobW.js} +1 -1
  107. package/studio/client/_app/immutable/chunks/uVN-AobW.js.br +0 -0
  108. package/studio/client/_app/immutable/chunks/uVN-AobW.js.gz +0 -0
  109. package/studio/client/_app/immutable/chunks/{B6madqDo.js → zRQ7UKhy.js} +1 -1
  110. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.br +0 -0
  111. package/studio/client/_app/immutable/chunks/zRQ7UKhy.js.gz +0 -0
  112. package/studio/client/_app/immutable/entry/{app.DWvKq1JP.js → app.Bb1-Avnn.js} +2 -2
  113. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.br +0 -0
  114. package/studio/client/_app/immutable/entry/app.Bb1-Avnn.js.gz +0 -0
  115. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js +1 -0
  116. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.br +0 -0
  117. package/studio/client/_app/immutable/entry/start.A0YlQrYf.js.gz +0 -0
  118. package/studio/client/_app/immutable/nodes/{0.WXKHH_tm.js → 0.DCVNvTmX.js} +1 -1
  119. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.br +0 -0
  120. package/studio/client/_app/immutable/nodes/0.DCVNvTmX.js.gz +0 -0
  121. package/studio/client/_app/immutable/nodes/{1.BiD305mI.js → 1.CmRLDilw.js} +1 -1
  122. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.br +0 -0
  123. package/studio/client/_app/immutable/nodes/1.CmRLDilw.js.gz +0 -0
  124. package/studio/client/_app/immutable/nodes/{10.CU1-ee2m.js → 10.DvnkCrU8.js} +1 -1
  125. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.br +0 -0
  126. package/studio/client/_app/immutable/nodes/10.DvnkCrU8.js.gz +0 -0
  127. package/studio/client/_app/immutable/nodes/{11.CXaXEirJ.js → 11.BAjtxHy1.js} +1 -1
  128. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.br +0 -0
  129. package/studio/client/_app/immutable/nodes/11.BAjtxHy1.js.gz +0 -0
  130. package/studio/client/_app/immutable/nodes/{12.DJvy6gDY.js → 12.BvB64zm8.js} +1 -1
  131. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.br +0 -0
  132. package/studio/client/_app/immutable/nodes/12.BvB64zm8.js.gz +0 -0
  133. package/studio/client/_app/immutable/nodes/{13.nfg2db27.js → 13.CH78fVPf.js} +1 -1
  134. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.br +0 -0
  135. package/studio/client/_app/immutable/nodes/13.CH78fVPf.js.gz +0 -0
  136. package/studio/client/_app/immutable/nodes/{14.Bs2fSwa1.js → 14.8vuEBoqV.js} +1 -1
  137. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.br +0 -0
  138. package/studio/client/_app/immutable/nodes/14.8vuEBoqV.js.gz +0 -0
  139. package/studio/client/_app/immutable/nodes/{15.a3Pos74G.js → 15.3i0moZ5H.js} +1 -1
  140. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.br +0 -0
  141. package/studio/client/_app/immutable/nodes/15.3i0moZ5H.js.gz +0 -0
  142. package/studio/client/_app/immutable/nodes/{16.2YL4xuJ4.js → 16.ybGyftC8.js} +1 -1
  143. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.br +0 -0
  144. package/studio/client/_app/immutable/nodes/16.ybGyftC8.js.gz +0 -0
  145. package/studio/client/_app/immutable/nodes/{17.CqCSgqIN.js → 17.CYzrPCDa.js} +1 -1
  146. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.br +0 -0
  147. package/studio/client/_app/immutable/nodes/17.CYzrPCDa.js.gz +0 -0
  148. package/studio/client/_app/immutable/nodes/{18.5G3YRxMR.js → 18.DirIc_Wy.js} +1 -1
  149. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.br +0 -0
  150. package/studio/client/_app/immutable/nodes/18.DirIc_Wy.js.gz +0 -0
  151. package/studio/client/_app/immutable/nodes/{19.Bu8-dRJn.js → 19.DUsQT7pl.js} +1 -1
  152. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.br +0 -0
  153. package/studio/client/_app/immutable/nodes/19.DUsQT7pl.js.gz +0 -0
  154. package/studio/client/_app/immutable/nodes/{20.CIMlHVKg.js → 20.DXvj9EYW.js} +3 -3
  155. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.br +0 -0
  156. package/studio/client/_app/immutable/nodes/20.DXvj9EYW.js.gz +0 -0
  157. package/studio/client/_app/immutable/nodes/{21.CqSlHdIO.js → 21.BeF6Us05.js} +1 -1
  158. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.br +0 -0
  159. package/studio/client/_app/immutable/nodes/21.BeF6Us05.js.gz +0 -0
  160. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js +8 -0
  161. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.br +0 -0
  162. package/studio/client/_app/immutable/nodes/28.BG6e1lUz.js.gz +0 -0
  163. package/studio/client/_app/immutable/nodes/{3.C68UMDpf.js → 3.67JEtVr_.js} +1 -1
  164. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.br +0 -0
  165. package/studio/client/_app/immutable/nodes/3.67JEtVr_.js.gz +0 -0
  166. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js +1 -0
  167. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.br +0 -0
  168. package/studio/client/_app/immutable/nodes/38.B2-fgBHl.js.gz +0 -0
  169. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js +87 -0
  170. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.br +0 -0
  171. package/studio/client/_app/immutable/nodes/39.xOE6cIqx.js.gz +0 -0
  172. package/studio/client/_app/immutable/nodes/{4.BXcrgjpJ.js → 4.eLOMf6Qo.js} +1 -1
  173. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.br +0 -0
  174. package/studio/client/_app/immutable/nodes/4.eLOMf6Qo.js.gz +0 -0
  175. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js +15 -0
  176. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.br +0 -0
  177. package/studio/client/_app/immutable/nodes/40.G8LiPkFz.js.gz +0 -0
  178. package/studio/client/_app/immutable/nodes/{41.CnqWY7Jk.js → 41.Ch6s5Jij.js} +1 -1
  179. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.br +0 -0
  180. package/studio/client/_app/immutable/nodes/41.Ch6s5Jij.js.gz +0 -0
  181. package/studio/client/_app/immutable/nodes/{42.CReCUw0y.js → 42.BAbXjzhO.js} +1 -1
  182. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.br +0 -0
  183. package/studio/client/_app/immutable/nodes/42.BAbXjzhO.js.gz +0 -0
  184. package/studio/client/_app/immutable/nodes/{43.1HRdsmVg.js → 43.Ne1IVEDF.js} +1 -1
  185. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.br +0 -0
  186. package/studio/client/_app/immutable/nodes/43.Ne1IVEDF.js.gz +0 -0
  187. package/studio/client/_app/immutable/nodes/{44.Cm4deKzT.js → 44.CKWbCt6x.js} +1 -1
  188. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.br +0 -0
  189. package/studio/client/_app/immutable/nodes/44.CKWbCt6x.js.gz +0 -0
  190. package/studio/client/_app/immutable/nodes/{45.C7eW4xJw.js → 45.HDl54cUB.js} +1 -1
  191. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.br +0 -0
  192. package/studio/client/_app/immutable/nodes/45.HDl54cUB.js.gz +0 -0
  193. package/studio/client/_app/immutable/nodes/{46.DNoqu48d.js → 46.BWaTn38i.js} +1 -1
  194. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.br +0 -0
  195. package/studio/client/_app/immutable/nodes/46.BWaTn38i.js.gz +0 -0
  196. package/studio/client/_app/immutable/nodes/{47.Kd91VHB_.js → 47.DiBh5wV2.js} +1 -1
  197. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.br +0 -0
  198. package/studio/client/_app/immutable/nodes/47.DiBh5wV2.js.gz +0 -0
  199. package/studio/client/_app/immutable/nodes/{48.kXm-0_dx.js → 48.DHcyKz51.js} +1 -1
  200. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.br +0 -0
  201. package/studio/client/_app/immutable/nodes/48.DHcyKz51.js.gz +0 -0
  202. package/studio/client/_app/immutable/nodes/{49.Baeo5x8O.js → 49.BTfgPgiN.js} +1 -1
  203. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.br +0 -0
  204. package/studio/client/_app/immutable/nodes/49.BTfgPgiN.js.gz +0 -0
  205. package/studio/client/_app/immutable/nodes/{5.BXcrgjpJ.js → 5.eLOMf6Qo.js} +1 -1
  206. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.br +0 -0
  207. package/studio/client/_app/immutable/nodes/5.eLOMf6Qo.js.gz +0 -0
  208. package/studio/client/_app/immutable/nodes/{7.0ElBSij4.js → 7.CRQTtQRR.js} +1 -1
  209. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.br +0 -0
  210. package/studio/client/_app/immutable/nodes/7.CRQTtQRR.js.gz +0 -0
  211. package/studio/client/_app/immutable/nodes/{8.Cf03UWeS.js → 8.024dj7aw.js} +1 -1
  212. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.br +0 -0
  213. package/studio/client/_app/immutable/nodes/8.024dj7aw.js.gz +0 -0
  214. package/studio/client/_app/immutable/nodes/{9.BCt9tK8K.js → 9.DgfRy3qm.js} +1 -1
  215. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.br +0 -0
  216. package/studio/client/_app/immutable/nodes/9.DgfRy3qm.js.gz +0 -0
  217. package/studio/client/_app/version.json +1 -1
  218. package/studio/client/_app/version.json.br +0 -0
  219. package/studio/client/_app/version.json.gz +0 -0
  220. package/studio/prerendered/docs/api/errors.html +37 -37
  221. package/studio/prerendered/docs/api/errors.html.br +0 -0
  222. package/studio/prerendered/docs/api/errors.html.gz +0 -0
  223. package/studio/prerendered/docs/api/projects.html +37 -37
  224. package/studio/prerendered/docs/api/projects.html.br +0 -0
  225. package/studio/prerendered/docs/api/projects.html.gz +0 -0
  226. package/studio/prerendered/docs/api/renders.html +37 -37
  227. package/studio/prerendered/docs/api/renders.html.br +0 -0
  228. package/studio/prerendered/docs/api/renders.html.gz +0 -0
  229. package/studio/prerendered/docs/api/templates.html +37 -37
  230. package/studio/prerendered/docs/api/templates.html.br +0 -0
  231. package/studio/prerendered/docs/api/templates.html.gz +0 -0
  232. package/studio/prerendered/docs/api/webhooks.html +37 -37
  233. package/studio/prerendered/docs/api/webhooks.html.br +0 -0
  234. package/studio/prerendered/docs/api/webhooks.html.gz +0 -0
  235. package/studio/prerendered/docs/api.html +37 -37
  236. package/studio/prerendered/docs/api.html.br +0 -0
  237. package/studio/prerendered/docs/api.html.gz +0 -0
  238. package/studio/prerendered/docs/mcp/integrations/autogen.html +37 -37
  239. package/studio/prerendered/docs/mcp/integrations/autogen.html.br +0 -0
  240. package/studio/prerendered/docs/mcp/integrations/autogen.html.gz +0 -0
  241. package/studio/prerendered/docs/mcp/integrations/crewai.html +37 -37
  242. package/studio/prerendered/docs/mcp/integrations/crewai.html.br +0 -0
  243. package/studio/prerendered/docs/mcp/integrations/crewai.html.gz +0 -0
  244. package/studio/prerendered/docs/mcp/integrations/dify.html +37 -37
  245. package/studio/prerendered/docs/mcp/integrations/dify.html.br +0 -0
  246. package/studio/prerendered/docs/mcp/integrations/dify.html.gz +0 -0
  247. package/studio/prerendered/docs/mcp/integrations/flowise.html +37 -37
  248. package/studio/prerendered/docs/mcp/integrations/flowise.html.br +0 -0
  249. package/studio/prerendered/docs/mcp/integrations/flowise.html.gz +0 -0
  250. package/studio/prerendered/docs/mcp/integrations/langchain.html +37 -37
  251. package/studio/prerendered/docs/mcp/integrations/langchain.html.br +0 -0
  252. package/studio/prerendered/docs/mcp/integrations/langchain.html.gz +0 -0
  253. package/studio/prerendered/docs/mcp/integrations/llamaindex.html +37 -37
  254. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.br +0 -0
  255. package/studio/prerendered/docs/mcp/integrations/llamaindex.html.gz +0 -0
  256. package/studio/prerendered/docs/mcp/integrations/make.html +37 -37
  257. package/studio/prerendered/docs/mcp/integrations/make.html.br +0 -0
  258. package/studio/prerendered/docs/mcp/integrations/make.html.gz +0 -0
  259. package/studio/prerendered/docs/mcp/integrations/n8n.html +37 -37
  260. package/studio/prerendered/docs/mcp/integrations/n8n.html.br +0 -0
  261. package/studio/prerendered/docs/mcp/integrations/n8n.html.gz +0 -0
  262. package/studio/prerendered/docs/mcp/integrations.html +37 -37
  263. package/studio/prerendered/docs/mcp/integrations.html.br +0 -0
  264. package/studio/prerendered/docs/mcp/integrations.html.gz +0 -0
  265. package/studio/prerendered/docs/mcp/plans.html +39 -39
  266. package/studio/prerendered/docs/mcp/plans.html.br +0 -0
  267. package/studio/prerendered/docs/mcp/plans.html.gz +0 -0
  268. package/studio/prerendered/docs/mcp/reference.html +57 -49
  269. package/studio/prerendered/docs/mcp/reference.html.br +0 -0
  270. package/studio/prerendered/docs/mcp/reference.html.gz +0 -0
  271. package/studio/prerendered/docs/mcp/setup.html +41 -41
  272. package/studio/prerendered/docs/mcp/setup.html.br +0 -0
  273. package/studio/prerendered/docs/mcp/setup.html.gz +0 -0
  274. package/studio/prerendered/docs/mcp.html +41 -41
  275. package/studio/prerendered/docs/mcp.html.br +0 -0
  276. package/studio/prerendered/docs/mcp.html.gz +0 -0
  277. package/studio/prerendered/docs.html +36 -36
  278. package/studio/prerendered/docs.html.br +0 -0
  279. package/studio/prerendered/docs.html.gz +0 -0
  280. package/studio/prerendered/dub/arabic.html +35 -35
  281. package/studio/prerendered/dub/arabic.html.br +0 -0
  282. package/studio/prerendered/dub/arabic.html.gz +0 -0
  283. package/studio/prerendered/dub/chinese-simplified.html +35 -35
  284. package/studio/prerendered/dub/chinese-simplified.html.br +0 -0
  285. package/studio/prerendered/dub/chinese-simplified.html.gz +0 -0
  286. package/studio/prerendered/dub/dutch.html +35 -35
  287. package/studio/prerendered/dub/dutch.html.br +0 -0
  288. package/studio/prerendered/dub/dutch.html.gz +0 -0
  289. package/studio/prerendered/dub/french.html +35 -35
  290. package/studio/prerendered/dub/french.html.br +0 -0
  291. package/studio/prerendered/dub/french.html.gz +0 -0
  292. package/studio/prerendered/dub/german.html +35 -35
  293. package/studio/prerendered/dub/german.html.br +0 -0
  294. package/studio/prerendered/dub/german.html.gz +0 -0
  295. package/studio/prerendered/dub/hindi.html +35 -35
  296. package/studio/prerendered/dub/hindi.html.br +0 -0
  297. package/studio/prerendered/dub/hindi.html.gz +0 -0
  298. package/studio/prerendered/dub/italian.html +35 -35
  299. package/studio/prerendered/dub/italian.html.br +0 -0
  300. package/studio/prerendered/dub/italian.html.gz +0 -0
  301. package/studio/prerendered/dub/japanese.html +35 -35
  302. package/studio/prerendered/dub/japanese.html.br +0 -0
  303. package/studio/prerendered/dub/japanese.html.gz +0 -0
  304. package/studio/prerendered/dub/korean.html +35 -35
  305. package/studio/prerendered/dub/korean.html.br +0 -0
  306. package/studio/prerendered/dub/korean.html.gz +0 -0
  307. package/studio/prerendered/dub/polish.html +35 -35
  308. package/studio/prerendered/dub/polish.html.br +0 -0
  309. package/studio/prerendered/dub/polish.html.gz +0 -0
  310. package/studio/prerendered/dub/portuguese.html +35 -35
  311. package/studio/prerendered/dub/portuguese.html.br +0 -0
  312. package/studio/prerendered/dub/portuguese.html.gz +0 -0
  313. package/studio/prerendered/dub/spanish.html +35 -35
  314. package/studio/prerendered/dub/spanish.html.br +0 -0
  315. package/studio/prerendered/dub/spanish.html.gz +0 -0
  316. package/studio/prerendered/sitemap.xml +90 -90
  317. package/studio/prerendered/sitemap.xml.br +0 -0
  318. package/studio/prerendered/sitemap.xml.gz +0 -0
  319. package/studio/prerendered/tools/add-captions/instagram.html +35 -35
  320. package/studio/prerendered/tools/add-captions/instagram.html.br +0 -0
  321. package/studio/prerendered/tools/add-captions/instagram.html.gz +0 -0
  322. package/studio/prerendered/tools/add-captions/linkedin.html +35 -35
  323. package/studio/prerendered/tools/add-captions/linkedin.html.br +0 -0
  324. package/studio/prerendered/tools/add-captions/linkedin.html.gz +0 -0
  325. package/studio/prerendered/tools/add-captions/tiktok.html +35 -35
  326. package/studio/prerendered/tools/add-captions/tiktok.html.br +0 -0
  327. package/studio/prerendered/tools/add-captions/tiktok.html.gz +0 -0
  328. package/studio/prerendered/tools/add-captions/twitter-x.html +35 -35
  329. package/studio/prerendered/tools/add-captions/twitter-x.html.br +0 -0
  330. package/studio/prerendered/tools/add-captions/twitter-x.html.gz +0 -0
  331. package/studio/prerendered/tools/add-captions/youtube.html +35 -35
  332. package/studio/prerendered/tools/add-captions/youtube.html.br +0 -0
  333. package/studio/prerendered/tools/add-captions/youtube.html.gz +0 -0
  334. package/studio/prerendered/tools/add-captions.html +39 -39
  335. package/studio/prerendered/tools/add-captions.html.br +0 -0
  336. package/studio/prerendered/tools/add-captions.html.gz +0 -0
  337. package/studio/prerendered/tools/auto-cut/linkedin.html +35 -35
  338. package/studio/prerendered/tools/auto-cut/linkedin.html.br +0 -0
  339. package/studio/prerendered/tools/auto-cut/linkedin.html.gz +0 -0
  340. package/studio/prerendered/tools/auto-cut/podcast.html +35 -35
  341. package/studio/prerendered/tools/auto-cut/podcast.html.br +0 -0
  342. package/studio/prerendered/tools/auto-cut/podcast.html.gz +0 -0
  343. package/studio/prerendered/tools/auto-cut/tiktok.html +35 -35
  344. package/studio/prerendered/tools/auto-cut/tiktok.html.br +0 -0
  345. package/studio/prerendered/tools/auto-cut/tiktok.html.gz +0 -0
  346. package/studio/prerendered/tools/auto-cut/youtube.html +35 -35
  347. package/studio/prerendered/tools/auto-cut/youtube.html.br +0 -0
  348. package/studio/prerendered/tools/auto-cut/youtube.html.gz +0 -0
  349. package/studio/prerendered/tools/auto-cut.html +39 -39
  350. package/studio/prerendered/tools/auto-cut.html.br +0 -0
  351. package/studio/prerendered/tools/auto-cut.html.gz +0 -0
  352. package/studio/prerendered/tools/generate-video/instagram.html +35 -35
  353. package/studio/prerendered/tools/generate-video/instagram.html.br +0 -0
  354. package/studio/prerendered/tools/generate-video/instagram.html.gz +0 -0
  355. package/studio/prerendered/tools/generate-video/tiktok.html +35 -35
  356. package/studio/prerendered/tools/generate-video/tiktok.html.br +0 -0
  357. package/studio/prerendered/tools/generate-video/tiktok.html.gz +0 -0
  358. package/studio/prerendered/tools/generate-video/twitter-x.html +35 -35
  359. package/studio/prerendered/tools/generate-video/twitter-x.html.br +0 -0
  360. package/studio/prerendered/tools/generate-video/twitter-x.html.gz +0 -0
  361. package/studio/prerendered/tools/generate-video/youtube.html +35 -35
  362. package/studio/prerendered/tools/generate-video/youtube.html.br +0 -0
  363. package/studio/prerendered/tools/generate-video/youtube.html.gz +0 -0
  364. package/studio/prerendered/tools/generate-video.html +39 -39
  365. package/studio/prerendered/tools/generate-video.html.br +0 -0
  366. package/studio/prerendered/tools/generate-video.html.gz +0 -0
  367. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html +35 -35
  368. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.br +0 -0
  369. package/studio/prerendered/tools/laptop-3d-intro/linkedin.html.gz +0 -0
  370. package/studio/prerendered/tools/laptop-3d-intro/saas.html +35 -35
  371. package/studio/prerendered/tools/laptop-3d-intro/saas.html.br +0 -0
  372. package/studio/prerendered/tools/laptop-3d-intro/saas.html.gz +0 -0
  373. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html +35 -35
  374. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.br +0 -0
  375. package/studio/prerendered/tools/laptop-3d-intro/twitter-x.html.gz +0 -0
  376. package/studio/prerendered/tools/laptop-3d-intro/youtube.html +35 -35
  377. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.br +0 -0
  378. package/studio/prerendered/tools/laptop-3d-intro/youtube.html.gz +0 -0
  379. package/studio/prerendered/tools/laptop-3d-intro.html +39 -39
  380. package/studio/prerendered/tools/laptop-3d-intro.html.br +0 -0
  381. package/studio/prerendered/tools/laptop-3d-intro.html.gz +0 -0
  382. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html +35 -35
  383. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.br +0 -0
  384. package/studio/prerendered/tools/screen-webcam-demo/linkedin.html.gz +0 -0
  385. package/studio/prerendered/tools/screen-webcam-demo/saas.html +35 -35
  386. package/studio/prerendered/tools/screen-webcam-demo/saas.html.br +0 -0
  387. package/studio/prerendered/tools/screen-webcam-demo/saas.html.gz +0 -0
  388. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html +35 -35
  389. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.br +0 -0
  390. package/studio/prerendered/tools/screen-webcam-demo/twitter-x.html.gz +0 -0
  391. package/studio/prerendered/tools/screen-webcam-demo/youtube.html +35 -35
  392. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.br +0 -0
  393. package/studio/prerendered/tools/screen-webcam-demo/youtube.html.gz +0 -0
  394. package/studio/prerendered/tools/screen-webcam-demo.html +39 -39
  395. package/studio/prerendered/tools/screen-webcam-demo.html.br +0 -0
  396. package/studio/prerendered/tools/screen-webcam-demo.html.gz +0 -0
  397. package/studio/prerendered/tools/screenshot-to-social/facebook.html +35 -35
  398. package/studio/prerendered/tools/screenshot-to-social/facebook.html.br +0 -0
  399. package/studio/prerendered/tools/screenshot-to-social/facebook.html.gz +0 -0
  400. package/studio/prerendered/tools/screenshot-to-social/instagram.html +35 -35
  401. package/studio/prerendered/tools/screenshot-to-social/instagram.html.br +0 -0
  402. package/studio/prerendered/tools/screenshot-to-social/instagram.html.gz +0 -0
  403. package/studio/prerendered/tools/screenshot-to-social/linkedin.html +35 -35
  404. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.br +0 -0
  405. package/studio/prerendered/tools/screenshot-to-social/linkedin.html.gz +0 -0
  406. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html +35 -35
  407. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.br +0 -0
  408. package/studio/prerendered/tools/screenshot-to-social/twitter-x.html.gz +0 -0
  409. package/studio/prerendered/tools/screenshot-to-social.html +39 -39
  410. package/studio/prerendered/tools/screenshot-to-social.html.br +0 -0
  411. package/studio/prerendered/tools/screenshot-to-social.html.gz +0 -0
  412. package/studio/prerendered/tools/translate-video/instagram.html +35 -35
  413. package/studio/prerendered/tools/translate-video/instagram.html.br +0 -0
  414. package/studio/prerendered/tools/translate-video/instagram.html.gz +0 -0
  415. package/studio/prerendered/tools/translate-video/linkedin.html +35 -35
  416. package/studio/prerendered/tools/translate-video/linkedin.html.br +0 -0
  417. package/studio/prerendered/tools/translate-video/linkedin.html.gz +0 -0
  418. package/studio/prerendered/tools/translate-video/tiktok.html +35 -35
  419. package/studio/prerendered/tools/translate-video/tiktok.html.br +0 -0
  420. package/studio/prerendered/tools/translate-video/tiktok.html.gz +0 -0
  421. package/studio/prerendered/tools/translate-video/youtube.html +35 -35
  422. package/studio/prerendered/tools/translate-video/youtube.html.br +0 -0
  423. package/studio/prerendered/tools/translate-video/youtube.html.gz +0 -0
  424. package/studio/prerendered/tools/translate-video.html +39 -39
  425. package/studio/prerendered/tools/translate-video.html.br +0 -0
  426. package/studio/prerendered/tools/translate-video.html.gz +0 -0
  427. package/studio/prerendered/tools/video-beautifier.html +39 -39
  428. package/studio/prerendered/tools/video-beautifier.html.br +0 -0
  429. package/studio/prerendered/tools/video-beautifier.html.gz +0 -0
  430. package/studio/prerendered/tools/video-to-browser/linkedin.html +35 -35
  431. package/studio/prerendered/tools/video-to-browser/linkedin.html.br +0 -0
  432. package/studio/prerendered/tools/video-to-browser/linkedin.html.gz +0 -0
  433. package/studio/prerendered/tools/video-to-browser/saas.html +35 -35
  434. package/studio/prerendered/tools/video-to-browser/saas.html.br +0 -0
  435. package/studio/prerendered/tools/video-to-browser/saas.html.gz +0 -0
  436. package/studio/prerendered/tools/video-to-browser/twitter-x.html +35 -35
  437. package/studio/prerendered/tools/video-to-browser/twitter-x.html.br +0 -0
  438. package/studio/prerendered/tools/video-to-browser/twitter-x.html.gz +0 -0
  439. package/studio/prerendered/tools/video-to-browser/youtube.html +35 -35
  440. package/studio/prerendered/tools/video-to-browser/youtube.html.br +0 -0
  441. package/studio/prerendered/tools/video-to-browser/youtube.html.gz +0 -0
  442. package/studio/prerendered/tools/video-to-browser.html +39 -39
  443. package/studio/prerendered/tools/video-to-browser.html.br +0 -0
  444. package/studio/prerendered/tools/video-to-browser.html.gz +0 -0
  445. package/studio/prerendered/tools/video-to-phone.html +39 -39
  446. package/studio/prerendered/tools/video-to-phone.html.br +0 -0
  447. package/studio/prerendered/tools/video-to-phone.html.gz +0 -0
  448. package/studio/prerendered/vs/canva.html +35 -35
  449. package/studio/prerendered/vs/canva.html.br +0 -0
  450. package/studio/prerendered/vs/canva.html.gz +0 -0
  451. package/studio/prerendered/vs/captions-ai.html +35 -35
  452. package/studio/prerendered/vs/captions-ai.html.br +0 -0
  453. package/studio/prerendered/vs/captions-ai.html.gz +0 -0
  454. package/studio/prerendered/vs/clipchamp.html +35 -35
  455. package/studio/prerendered/vs/clipchamp.html.br +0 -0
  456. package/studio/prerendered/vs/clipchamp.html.gz +0 -0
  457. package/studio/prerendered/vs/descript.html +35 -35
  458. package/studio/prerendered/vs/descript.html.br +0 -0
  459. package/studio/prerendered/vs/descript.html.gz +0 -0
  460. package/studio/prerendered/vs/kapwing.html +35 -35
  461. package/studio/prerendered/vs/kapwing.html.br +0 -0
  462. package/studio/prerendered/vs/kapwing.html.gz +0 -0
  463. package/studio/prerendered/vs/runway.html +35 -35
  464. package/studio/prerendered/vs/runway.html.br +0 -0
  465. package/studio/prerendered/vs/runway.html.gz +0 -0
  466. package/studio/prerendered/vs/submagic.html +35 -35
  467. package/studio/prerendered/vs/submagic.html.br +0 -0
  468. package/studio/prerendered/vs/submagic.html.gz +0 -0
  469. package/studio/prerendered/vs/veed.html +35 -35
  470. package/studio/prerendered/vs/veed.html.br +0 -0
  471. package/studio/prerendered/vs/veed.html.gz +0 -0
  472. package/studio/server/chunks/{0-DOWdCfPF.js → 0-Cc3gAS4p.js} +3 -3
  473. package/studio/server/chunks/{0-DOWdCfPF.js.map → 0-Cc3gAS4p.js.map} +1 -1
  474. package/studio/server/chunks/{1-D-sODN7x.js → 1-Dy_seaNI.js} +3 -3
  475. package/studio/server/chunks/{1-D-sODN7x.js.map → 1-Dy_seaNI.js.map} +1 -1
  476. package/studio/server/chunks/{11-Kh4ZWG_u.js → 11-C-PlF7Yv.js} +3 -3
  477. package/studio/server/chunks/{11-Kh4ZWG_u.js.map → 11-C-PlF7Yv.js.map} +1 -1
  478. package/studio/server/chunks/12-B7uLHwvO.js +9 -0
  479. package/studio/server/chunks/{12-uBBeSc-D.js.map → 12-B7uLHwvO.js.map} +1 -1
  480. package/studio/server/chunks/{13-Cpwv17_m.js → 13-FQtKQJ-7.js} +3 -3
  481. package/studio/server/chunks/{13-Cpwv17_m.js.map → 13-FQtKQJ-7.js.map} +1 -1
  482. package/studio/server/chunks/{14-DLhMIjy9.js → 14-jUAG5g6M.js} +6 -6
  483. package/studio/server/chunks/{14-DLhMIjy9.js.map → 14-jUAG5g6M.js.map} +1 -1
  484. package/studio/server/chunks/15-DUIb5U44.js +9 -0
  485. package/studio/server/chunks/{15-BP_ppf1w.js.map → 15-DUIb5U44.js.map} +1 -1
  486. package/studio/server/chunks/{16-CMimocs1.js → 16-BzVGx3U6.js} +3 -3
  487. package/studio/server/chunks/{16-CMimocs1.js.map → 16-BzVGx3U6.js.map} +1 -1
  488. package/studio/server/chunks/{17-CMQkb2J8.js → 17-D3oJTqf1.js} +3 -3
  489. package/studio/server/chunks/{17-CMQkb2J8.js.map → 17-D3oJTqf1.js.map} +1 -1
  490. package/studio/server/chunks/{18-DNvmtMLm.js → 18--CWW_sDL.js} +3 -3
  491. package/studio/server/chunks/{18-DNvmtMLm.js.map → 18--CWW_sDL.js.map} +1 -1
  492. package/studio/server/chunks/{19-D3jZiT6F.js → 19-DSQzx8mL.js} +3 -3
  493. package/studio/server/chunks/{19-D3jZiT6F.js.map → 19-DSQzx8mL.js.map} +1 -1
  494. package/studio/server/chunks/{20-C_7PzJ-k.js → 20-CbA0jAC4.js} +10 -10
  495. package/studio/server/chunks/{20-C_7PzJ-k.js.map → 20-CbA0jAC4.js.map} +1 -1
  496. package/studio/server/chunks/{3-H6DpF4Gm.js → 3-BnsefNYJ.js} +3 -3
  497. package/studio/server/chunks/{3-H6DpF4Gm.js.map → 3-BnsefNYJ.js.map} +1 -1
  498. package/studio/server/chunks/{4-CH3AFp_j.js → 4-BFZzAEZB.js} +3 -3
  499. package/studio/server/chunks/{4-CH3AFp_j.js.map → 4-BFZzAEZB.js.map} +1 -1
  500. package/studio/server/chunks/{42-BK4t4w08.js → 42-DHbIooHl.js} +5 -5
  501. package/studio/server/chunks/{42-BK4t4w08.js.map → 42-DHbIooHl.js.map} +1 -1
  502. package/studio/server/chunks/{43-GpQMIQ4V.js → 43-C20K_snF.js} +2 -2
  503. package/studio/server/chunks/{43-GpQMIQ4V.js.map → 43-C20K_snF.js.map} +1 -1
  504. package/studio/server/chunks/{44-DuFvG15Y.js → 44-DUpi4_LQ.js} +2 -2
  505. package/studio/server/chunks/{44-DuFvG15Y.js.map → 44-DUpi4_LQ.js.map} +1 -1
  506. package/studio/server/chunks/{45-DrdyRtqi.js → 45-CFKMCBYR.js} +9 -9
  507. package/studio/server/chunks/{45-DrdyRtqi.js.map → 45-CFKMCBYR.js.map} +1 -1
  508. package/studio/server/chunks/{49-DfMUPYpH.js → 49-BvE0PuF1.js} +3 -3
  509. package/studio/server/chunks/{49-DfMUPYpH.js.map → 49-BvE0PuF1.js.map} +1 -1
  510. package/studio/server/chunks/{5-_LlYrHzn.js → 5-DuItAkOP.js} +3 -3
  511. package/studio/server/chunks/{5-_LlYrHzn.js.map → 5-DuItAkOP.js.map} +1 -1
  512. package/studio/server/chunks/{7-SeoncTYc.js → 7-BeUSj9VF.js} +3 -3
  513. package/studio/server/chunks/{7-SeoncTYc.js.map → 7-BeUSj9VF.js.map} +1 -1
  514. package/studio/server/chunks/{_error.svelte-HivZOiX5.js → _error.svelte-BIkhG8Bl.js} +4 -4
  515. package/studio/server/chunks/{_error.svelte-HivZOiX5.js.map → _error.svelte-BIkhG8Bl.js.map} +1 -1
  516. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js → _error.svelte-DQwSbmbb.js} +4 -4
  517. package/studio/server/chunks/{_error.svelte-JH2-_uOf.js.map → _error.svelte-DQwSbmbb.js.map} +1 -1
  518. package/studio/server/chunks/{_layout.svelte-C4r3six5.js → _layout.svelte-B29Y9n_L.js} +9 -9
  519. package/studio/server/chunks/{_layout.svelte-C4r3six5.js.map → _layout.svelte-B29Y9n_L.js.map} +1 -1
  520. package/studio/server/chunks/{_layout.svelte-dTuB307D.js → _layout.svelte-BKK87LsB.js} +4 -4
  521. package/studio/server/chunks/{_layout.svelte-dTuB307D.js.map → _layout.svelte-BKK87LsB.js.map} +1 -1
  522. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js → _layout.svelte-CZb-RhuT.js} +4 -4
  523. package/studio/server/chunks/{_layout.svelte-CK5WGwFD.js.map → _layout.svelte-CZb-RhuT.js.map} +1 -1
  524. package/studio/server/chunks/{_layout.svelte-P2elwndT.js → _layout.svelte-IxoznuZ0.js} +4 -4
  525. package/studio/server/chunks/{_layout.svelte-P2elwndT.js.map → _layout.svelte-IxoznuZ0.js.map} +1 -1
  526. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js → _page.svelte-BvoL-bXn.js} +8 -8
  527. package/studio/server/chunks/{_page.svelte-B7tkn2Ph.js.map → _page.svelte-BvoL-bXn.js.map} +1 -1
  528. package/studio/server/chunks/{_page.svelte-BRwARESy.js → _page.svelte-CGbWID4q.js} +3 -3
  529. package/studio/server/chunks/{_page.svelte-BRwARESy.js.map → _page.svelte-CGbWID4q.js.map} +1 -1
  530. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js → _page.svelte-CMd632BW.js} +4 -4
  531. package/studio/server/chunks/{_page.svelte-DzxSL0nM.js.map → _page.svelte-CMd632BW.js.map} +1 -1
  532. package/studio/server/chunks/{_page.svelte-DL5VUL2M.js → _page.svelte-CPIUO0kA.js} +14 -14
  533. package/studio/server/chunks/_page.svelte-CPIUO0kA.js.map +1 -0
  534. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js → _page.svelte-CrvloRjt.js} +5 -5
  535. package/studio/server/chunks/{_page.svelte-B-1o_hJa.js.map → _page.svelte-CrvloRjt.js.map} +1 -1
  536. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js → _page.svelte-DMWYoqJ8.js} +11 -11
  537. package/studio/server/chunks/{_page.svelte-TEKTbLZa.js.map → _page.svelte-DMWYoqJ8.js.map} +1 -1
  538. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js → _page.svelte-DTFNMwgk.js} +3 -3
  539. package/studio/server/chunks/{_page.svelte-Crbq-RQR.js.map → _page.svelte-DTFNMwgk.js.map} +1 -1
  540. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js → _page.svelte-Jhz3hTCU.js} +3 -3
  541. package/studio/server/chunks/{_page.svelte-DlZ4-4_n.js.map → _page.svelte-Jhz3hTCU.js.map} +1 -1
  542. package/studio/server/chunks/{_page.svelte-Cej1g10R.js → _page.svelte-LLHpU2-z.js} +4 -4
  543. package/studio/server/chunks/{_page.svelte-Cej1g10R.js.map → _page.svelte-LLHpU2-z.js.map} +1 -1
  544. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js → _page.svelte-fr6sX58S.js} +3 -3
  545. package/studio/server/chunks/{_page.svelte-AWvEPqBz.js.map → _page.svelte-fr6sX58S.js.map} +1 -1
  546. package/studio/server/chunks/{_page.svelte-nkmZl411.js → _page.svelte-t-uIDVqj.js} +14 -14
  547. package/studio/server/chunks/{_page.svelte-nkmZl411.js.map → _page.svelte-t-uIDVqj.js.map} +1 -1
  548. package/studio/server/chunks/{_server.ts-mvjqGClb.js → _server.ts-BMsrWCvH.js} +4 -4
  549. package/studio/server/chunks/{_server.ts-mvjqGClb.js.map → _server.ts-BMsrWCvH.js.map} +1 -1
  550. package/studio/server/chunks/{_server.ts-lTHmffuh.js → _server.ts-Bfy5UxAZ.js} +8 -8
  551. package/studio/server/chunks/{_server.ts-lTHmffuh.js.map → _server.ts-Bfy5UxAZ.js.map} +1 -1
  552. package/studio/server/chunks/{_server.ts-DgV-51XA.js → _server.ts-C-Otl0N2.js} +4 -4
  553. package/studio/server/chunks/{_server.ts-DgV-51XA.js.map → _server.ts-C-Otl0N2.js.map} +1 -1
  554. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js → _server.ts-C3MeWQr0.js} +8 -8
  555. package/studio/server/chunks/{_server.ts-Bh9NAMbD.js.map → _server.ts-C3MeWQr0.js.map} +1 -1
  556. package/studio/server/chunks/{_server.ts-BYg00n78.js → _server.ts-CQCxY40F.js} +4 -4
  557. package/studio/server/chunks/{_server.ts-BYg00n78.js.map → _server.ts-CQCxY40F.js.map} +1 -1
  558. package/studio/server/chunks/{_server.ts-BIAE6_O5.js → _server.ts-CQOxX_qB.js} +4 -4
  559. package/studio/server/chunks/{_server.ts-BIAE6_O5.js.map → _server.ts-CQOxX_qB.js.map} +1 -1
  560. package/studio/server/chunks/{_server.ts-D_6tL6BH.js → _server.ts-CiKcgEaL.js} +8 -8
  561. package/studio/server/chunks/{_server.ts-D_6tL6BH.js.map → _server.ts-CiKcgEaL.js.map} +1 -1
  562. package/studio/server/chunks/{_server.ts-CES6wlqB.js → _server.ts-DP7SAgei.js} +8 -8
  563. package/studio/server/chunks/{_server.ts-CES6wlqB.js.map → _server.ts-DP7SAgei.js.map} +1 -1
  564. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js → _server.ts-yDmRIOn5.js} +4 -4
  565. package/studio/server/chunks/{_server.ts-OGjPqQGJ.js.map → _server.ts-yDmRIOn5.js.map} +1 -1
  566. package/studio/server/chunks/{admin.remote-Ck89cPry.js → admin.remote-D17hnijm.js} +2 -2
  567. package/studio/server/chunks/{admin.remote-Ck89cPry.js.map → admin.remote-D17hnijm.js.map} +1 -1
  568. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js → alert-dialog-description-DMBX3SG1.js} +2 -2
  569. package/studio/server/chunks/{alert-dialog-description-DhOIONCQ.js.map → alert-dialog-description-DMBX3SG1.js.map} +1 -1
  570. package/studio/server/chunks/{app-header-B3sObtxm.js → app-header-BPMAiQDk.js} +2 -2
  571. package/studio/server/chunks/{app-header-B3sObtxm.js.map → app-header-BPMAiQDk.js.map} +1 -1
  572. package/studio/server/chunks/{auth-DnnZTcxQ.js → auth-ls2WXjAo.js} +9 -9
  573. package/studio/server/chunks/{auth-DnnZTcxQ.js.map → auth-ls2WXjAo.js.map} +1 -1
  574. package/studio/server/chunks/{auth.remote-wwIa4G1r.js → auth.remote-3OJFVn4Z.js} +2 -2
  575. package/studio/server/chunks/{auth.remote-wwIa4G1r.js.map → auth.remote-3OJFVn4Z.js.map} +1 -1
  576. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js} +4 -4
  577. package/studio/server/chunks/{bun-sqlite-dialect-C8OaCWSL-CzZPSzzi.js.map → bun-sqlite-dialect-C8OaCWSL-CarWKR8Y.js.map} +1 -1
  578. package/studio/server/chunks/{client-BZjSn4EB.js → client-CR4cFjjD.js} +2 -2
  579. package/studio/server/chunks/{client-BZjSn4EB.js.map → client-CR4cFjjD.js.map} +1 -1
  580. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js} +4 -4
  581. package/studio/server/chunks/{d1-sqlite-dialect-sYHNqBte-BvLZmU_1.js.map → d1-sqlite-dialect-sYHNqBte-BXH49B9N.js.map} +1 -1
  582. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js → desktop-bootstrap-Cq_Cf_CC.js} +2 -2
  583. package/studio/server/chunks/{desktop-bootstrap-1jXqwd-8.js.map → desktop-bootstrap-Cq_Cf_CC.js.map} +1 -1
  584. package/studio/server/chunks/{editor.svelte-COCDMJMg.js → editor.svelte-BSuTDLkE.js} +2 -2
  585. package/studio/server/chunks/{editor.svelte-COCDMJMg.js.map → editor.svelte-BSuTDLkE.js.map} +1 -1
  586. package/studio/server/chunks/{hooks.server--Djv4p27.js → hooks.server-D_MLQB0H.js} +10 -10
  587. package/studio/server/chunks/{hooks.server--Djv4p27.js.map → hooks.server-D_MLQB0H.js.map} +1 -1
  588. package/studio/server/chunks/{index-CC0VmMfq.js → index-Dda1acrH.js} +3 -3
  589. package/studio/server/chunks/index-Dda1acrH.js.map +1 -0
  590. package/studio/server/chunks/{index-D_660nxW.js → index-WsxH4DMJ.js} +3 -3
  591. package/studio/server/chunks/index-WsxH4DMJ.js.map +1 -0
  592. package/studio/server/chunks/{index10-DRYKrT1x.js → index10-CgtHjrmv.js} +4 -4
  593. package/studio/server/chunks/{index10-DRYKrT1x.js.map → index10-CgtHjrmv.js.map} +1 -1
  594. package/studio/server/chunks/{index2-6MS8VnCO.js → index2-ChjmUsER.js} +2 -2
  595. package/studio/server/chunks/{index2-6MS8VnCO.js.map → index2-ChjmUsER.js.map} +1 -1
  596. package/studio/server/chunks/{index3-Ps7k-4f8.js → index3-ChXwYjat.js} +5 -5
  597. package/studio/server/chunks/index3-ChXwYjat.js.map +1 -0
  598. package/studio/server/chunks/{layout-template-D1Rliz3X.js → layout-template-DofrwsQ2.js} +3 -3
  599. package/studio/server/chunks/{layout-template-D1Rliz3X.js.map → layout-template-DofrwsQ2.js.map} +1 -1
  600. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js → node-sqlite-dialect-Dbh9DJmP.js} +4 -4
  601. package/studio/server/chunks/{node-sqlite-dialect-Dy5JXX3C.js.map → node-sqlite-dialect-Dbh9DJmP.js.map} +1 -1
  602. package/studio/server/chunks/{onboarding-email-BWY50y2U.js → onboarding-email-BT8AKqTu.js} +3 -3
  603. package/studio/server/chunks/{onboarding-email-BWY50y2U.js.map → onboarding-email-BT8AKqTu.js.map} +1 -1
  604. package/studio/server/chunks/{projects.remote-gxU7zuXx.js → projects.remote-D5XkWx2P.js} +2 -2
  605. package/studio/server/chunks/{projects.remote-gxU7zuXx.js.map → projects.remote-D5XkWx2P.js.map} +1 -1
  606. package/studio/server/chunks/{queue-init-D0Na4v9v.js → queue-init-CC31rTnG.js} +2 -2
  607. package/studio/server/chunks/{queue-init-D0Na4v9v.js.map → queue-init-CC31rTnG.js.map} +1 -1
  608. package/studio/server/chunks/{registry2-DGTWkZ8Z.js → registry2-CC-NhK3h.js} +6 -6
  609. package/studio/server/chunks/{registry2-DGTWkZ8Z.js.map → registry2-CC-NhK3h.js.map} +1 -1
  610. package/studio/server/chunks/{remote-sy19x7-BNzkjfet.js → remote-sy19x7-DGnE00Wd.js} +4 -4
  611. package/studio/server/chunks/remote-sy19x7-DGnE00Wd.js.map +1 -0
  612. package/studio/server/chunks/{remote-z7lvth-CqJVAmXS.js → remote-z7lvth-Cs1qXN81.js} +3 -3
  613. package/studio/server/chunks/remote-z7lvth-Cs1qXN81.js.map +1 -0
  614. package/studio/server/chunks/{remote-zjib3m-BauNFQg3.js → remote-zjib3m-CuPlgVpe.js} +4 -4
  615. package/studio/server/chunks/remote-zjib3m-CuPlgVpe.js.map +1 -0
  616. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js} +8 -8
  617. package/studio/server/chunks/{scrub-xyz.svelte_svelte_type_style_lang-CPl-9qn8.js.map → scrub-xyz.svelte_svelte_type_style_lang-CDjEyOz9.js.map} +1 -1
  618. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js → tooltip-provider-Bzk4UDmX.js} +2 -2
  619. package/studio/server/chunks/{tooltip-provider-DfKy8UUP.js.map → tooltip-provider-Bzk4UDmX.js.map} +1 -1
  620. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js → tooltip.svelte-Lb6_0rdB.js} +2 -2
  621. package/studio/server/chunks/{tooltip.svelte-DHfGG2LN.js.map → tooltip.svelte-Lb6_0rdB.js.map} +1 -1
  622. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js → ui.svelte-DleU2XsO.js} +4 -4
  623. package/studio/server/chunks/{ui.svelte-C1G5iO5f.js.map → ui.svelte-DleU2XsO.js.map} +1 -1
  624. package/studio/server/chunks/{watermark-CvgEjhCN.js → watermark-PHdDaiH8.js} +2 -2
  625. package/studio/server/chunks/{watermark-CvgEjhCN.js.map → watermark-PHdDaiH8.js.map} +1 -1
  626. package/studio/server/index.js +1 -1
  627. package/studio/server/manifest.js +37 -37
  628. package/studio/server/manifest.js.map +1 -1
  629. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.br +0 -0
  630. package/studio/client/_app/immutable/chunks/AZ9rWnO0.js.gz +0 -0
  631. package/studio/client/_app/immutable/chunks/B6madqDo.js.br +0 -0
  632. package/studio/client/_app/immutable/chunks/B6madqDo.js.gz +0 -0
  633. package/studio/client/_app/immutable/chunks/BJKr5hge.js.br +0 -0
  634. package/studio/client/_app/immutable/chunks/BJKr5hge.js.gz +0 -0
  635. package/studio/client/_app/immutable/chunks/BM16VTgB.js.br +0 -0
  636. package/studio/client/_app/immutable/chunks/BM16VTgB.js.gz +0 -0
  637. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.br +0 -0
  638. package/studio/client/_app/immutable/chunks/BM9OfXL9.js.gz +0 -0
  639. package/studio/client/_app/immutable/chunks/BW3LFrce.js.br +0 -0
  640. package/studio/client/_app/immutable/chunks/BW3LFrce.js.gz +0 -0
  641. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.br +0 -0
  642. package/studio/client/_app/immutable/chunks/BgrSU1kg.js.gz +0 -0
  643. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.br +0 -0
  644. package/studio/client/_app/immutable/chunks/Bs7NW1Se.js.gz +0 -0
  645. package/studio/client/_app/immutable/chunks/BslV7gY7.js.br +0 -0
  646. package/studio/client/_app/immutable/chunks/BslV7gY7.js.gz +0 -0
  647. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.br +0 -0
  648. package/studio/client/_app/immutable/chunks/BvSfBzuV.js.gz +0 -0
  649. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.br +0 -0
  650. package/studio/client/_app/immutable/chunks/BwG2gtjF.js.gz +0 -0
  651. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.br +0 -0
  652. package/studio/client/_app/immutable/chunks/BwnyT9Ny.js.gz +0 -0
  653. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.br +0 -0
  654. package/studio/client/_app/immutable/chunks/C0WKYdwk.js.gz +0 -0
  655. package/studio/client/_app/immutable/chunks/CPRt510s.js.br +0 -0
  656. package/studio/client/_app/immutable/chunks/CPRt510s.js.gz +0 -0
  657. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.br +0 -0
  658. package/studio/client/_app/immutable/chunks/CTjBIV3u.js.gz +0 -0
  659. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.br +0 -0
  660. package/studio/client/_app/immutable/chunks/CTpKZT5_.js.gz +0 -0
  661. package/studio/client/_app/immutable/chunks/CVS8giU8.js.br +0 -0
  662. package/studio/client/_app/immutable/chunks/CVS8giU8.js.gz +0 -0
  663. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.br +0 -0
  664. package/studio/client/_app/immutable/chunks/Cdg3o65X.js.gz +0 -0
  665. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.br +0 -0
  666. package/studio/client/_app/immutable/chunks/CvEPOTmC.js.gz +0 -0
  667. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.br +0 -0
  668. package/studio/client/_app/immutable/chunks/CwPeYiWY.js.gz +0 -0
  669. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.br +0 -0
  670. package/studio/client/_app/immutable/chunks/D-QT1x8R.js.gz +0 -0
  671. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.br +0 -0
  672. package/studio/client/_app/immutable/chunks/D1FB0IUT.js.gz +0 -0
  673. package/studio/client/_app/immutable/chunks/D8o81YM9.js.br +0 -0
  674. package/studio/client/_app/immutable/chunks/D8o81YM9.js.gz +0 -0
  675. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.br +0 -0
  676. package/studio/client/_app/immutable/chunks/DUvwbcGL.js.gz +0 -0
  677. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.br +0 -0
  678. package/studio/client/_app/immutable/chunks/DXmIOUiy.js.gz +0 -0
  679. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.br +0 -0
  680. package/studio/client/_app/immutable/chunks/DhUtLNbU.js.gz +0 -0
  681. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.br +0 -0
  682. package/studio/client/_app/immutable/chunks/DkL6aOyN.js.gz +0 -0
  683. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.br +0 -0
  684. package/studio/client/_app/immutable/chunks/DlG2SYaI.js.gz +0 -0
  685. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js +0 -4
  686. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.br +0 -0
  687. package/studio/client/_app/immutable/chunks/Dq1Bw6bH.js.gz +0 -0
  688. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.br +0 -3
  689. package/studio/client/_app/immutable/chunks/Dw0S4s6I.js.gz +0 -0
  690. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.br +0 -0
  691. package/studio/client/_app/immutable/chunks/EsOjj2Re.js.gz +0 -0
  692. package/studio/client/_app/immutable/chunks/I5GezlI2.js +0 -1
  693. package/studio/client/_app/immutable/chunks/I5GezlI2.js.br +0 -2
  694. package/studio/client/_app/immutable/chunks/I5GezlI2.js.gz +0 -0
  695. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.br +0 -0
  696. package/studio/client/_app/immutable/chunks/MA9VYZ9Y.js.gz +0 -0
  697. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.br +0 -0
  698. package/studio/client/_app/immutable/chunks/Of4NhqMR.js.gz +0 -0
  699. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.br +0 -0
  700. package/studio/client/_app/immutable/chunks/vMKBQkkd.js.gz +0 -0
  701. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.br +0 -0
  702. package/studio/client/_app/immutable/chunks/zdIjnFuo.js.gz +0 -0
  703. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.br +0 -0
  704. package/studio/client/_app/immutable/entry/app.DWvKq1JP.js.gz +0 -0
  705. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js +0 -1
  706. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.br +0 -0
  707. package/studio/client/_app/immutable/entry/start.DlbgBZQJ.js.gz +0 -0
  708. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.br +0 -0
  709. package/studio/client/_app/immutable/nodes/0.WXKHH_tm.js.gz +0 -0
  710. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.br +0 -0
  711. package/studio/client/_app/immutable/nodes/1.BiD305mI.js.gz +0 -0
  712. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.br +0 -0
  713. package/studio/client/_app/immutable/nodes/10.CU1-ee2m.js.gz +0 -0
  714. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.br +0 -0
  715. package/studio/client/_app/immutable/nodes/11.CXaXEirJ.js.gz +0 -0
  716. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.br +0 -0
  717. package/studio/client/_app/immutable/nodes/12.DJvy6gDY.js.gz +0 -0
  718. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.br +0 -0
  719. package/studio/client/_app/immutable/nodes/13.nfg2db27.js.gz +0 -0
  720. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.br +0 -0
  721. package/studio/client/_app/immutable/nodes/14.Bs2fSwa1.js.gz +0 -0
  722. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.br +0 -0
  723. package/studio/client/_app/immutable/nodes/15.a3Pos74G.js.gz +0 -0
  724. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.br +0 -0
  725. package/studio/client/_app/immutable/nodes/16.2YL4xuJ4.js.gz +0 -0
  726. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.br +0 -0
  727. package/studio/client/_app/immutable/nodes/17.CqCSgqIN.js.gz +0 -0
  728. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.br +0 -0
  729. package/studio/client/_app/immutable/nodes/18.5G3YRxMR.js.gz +0 -0
  730. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.br +0 -0
  731. package/studio/client/_app/immutable/nodes/19.Bu8-dRJn.js.gz +0 -0
  732. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.br +0 -0
  733. package/studio/client/_app/immutable/nodes/20.CIMlHVKg.js.gz +0 -0
  734. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.br +0 -0
  735. package/studio/client/_app/immutable/nodes/21.CqSlHdIO.js.gz +0 -0
  736. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js +0 -8
  737. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.br +0 -0
  738. package/studio/client/_app/immutable/nodes/28.DKT4ZSZk.js.gz +0 -0
  739. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.br +0 -0
  740. package/studio/client/_app/immutable/nodes/3.C68UMDpf.js.gz +0 -0
  741. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js +0 -1
  742. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.br +0 -0
  743. package/studio/client/_app/immutable/nodes/38.D6xlICgs.js.gz +0 -0
  744. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js +0 -79
  745. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.br +0 -0
  746. package/studio/client/_app/immutable/nodes/39.DabCE-Rt.js.gz +0 -0
  747. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.br +0 -0
  748. package/studio/client/_app/immutable/nodes/4.BXcrgjpJ.js.gz +0 -0
  749. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js +0 -15
  750. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.br +0 -0
  751. package/studio/client/_app/immutable/nodes/40.Q-jN9EvK.js.gz +0 -0
  752. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.br +0 -0
  753. package/studio/client/_app/immutable/nodes/41.CnqWY7Jk.js.gz +0 -0
  754. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.br +0 -0
  755. package/studio/client/_app/immutable/nodes/42.CReCUw0y.js.gz +0 -0
  756. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.br +0 -0
  757. package/studio/client/_app/immutable/nodes/43.1HRdsmVg.js.gz +0 -0
  758. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.br +0 -0
  759. package/studio/client/_app/immutable/nodes/44.Cm4deKzT.js.gz +0 -0
  760. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.br +0 -0
  761. package/studio/client/_app/immutable/nodes/45.C7eW4xJw.js.gz +0 -0
  762. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.br +0 -0
  763. package/studio/client/_app/immutable/nodes/46.DNoqu48d.js.gz +0 -0
  764. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.br +0 -0
  765. package/studio/client/_app/immutable/nodes/47.Kd91VHB_.js.gz +0 -0
  766. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.br +0 -0
  767. package/studio/client/_app/immutable/nodes/48.kXm-0_dx.js.gz +0 -0
  768. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.br +0 -0
  769. package/studio/client/_app/immutable/nodes/49.Baeo5x8O.js.gz +0 -0
  770. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.br +0 -0
  771. package/studio/client/_app/immutable/nodes/5.BXcrgjpJ.js.gz +0 -0
  772. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.br +0 -0
  773. package/studio/client/_app/immutable/nodes/7.0ElBSij4.js.gz +0 -0
  774. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.br +0 -0
  775. package/studio/client/_app/immutable/nodes/8.Cf03UWeS.js.gz +0 -0
  776. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.br +0 -0
  777. package/studio/client/_app/immutable/nodes/9.BCt9tK8K.js.gz +0 -0
  778. package/studio/server/chunks/12-uBBeSc-D.js +0 -9
  779. package/studio/server/chunks/15-BP_ppf1w.js +0 -9
  780. package/studio/server/chunks/_page.svelte-DL5VUL2M.js.map +0 -1
  781. package/studio/server/chunks/index-CC0VmMfq.js.map +0 -1
  782. package/studio/server/chunks/index-D_660nxW.js.map +0 -1
  783. package/studio/server/chunks/index3-Ps7k-4f8.js.map +0 -1
  784. package/studio/server/chunks/remote-sy19x7-BNzkjfet.js.map +0 -1
  785. package/studio/server/chunks/remote-z7lvth-CqJVAmXS.js.map +0 -1
  786. package/studio/server/chunks/remote-zjib3m-BauNFQg3.js.map +0 -1
@@ -25,47 +25,47 @@
25
25
  href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap"
26
26
  rel="stylesheet"
27
27
  />
28
- <link href="../../_app/immutable/entry/start.DlbgBZQJ.js" rel="modulepreload">
29
- <link href="../../_app/immutable/chunks/Dq1Bw6bH.js" rel="modulepreload">
28
+ <link href="../../_app/immutable/entry/start.A0YlQrYf.js" rel="modulepreload">
29
+ <link href="../../_app/immutable/chunks/CpZPBLUC.js" rel="modulepreload">
30
30
  <link href="../../_app/immutable/chunks/CuJfaes_.js" rel="modulepreload">
31
31
  <link href="../../_app/immutable/chunks/BH1rZqH0.js" rel="modulepreload">
32
32
  <link href="../../_app/immutable/chunks/BKx7aQex.js" rel="modulepreload">
33
- <link href="../../_app/immutable/chunks/D1FB0IUT.js" rel="modulepreload">
33
+ <link href="../../_app/immutable/chunks/B73W4ug1.js" rel="modulepreload">
34
34
  <link href="../../_app/immutable/chunks/DlWRTGQ1.js" rel="modulepreload">
35
- <link href="../../_app/immutable/entry/app.DWvKq1JP.js" rel="modulepreload">
35
+ <link href="../../_app/immutable/entry/app.Bb1-Avnn.js" rel="modulepreload">
36
36
  <link href="../../_app/immutable/chunks/PPVm8Dsz.js" rel="modulepreload">
37
- <link href="../../_app/immutable/chunks/I5GezlI2.js" rel="modulepreload">
37
+ <link href="../../_app/immutable/chunks/CXbT2p8d.js" rel="modulepreload">
38
38
  <link href="../../_app/immutable/chunks/Ct_92ewg.js" rel="modulepreload">
39
39
  <link href="../../_app/immutable/chunks/l6_YgvJu.js" rel="modulepreload">
40
40
  <link href="../../_app/immutable/chunks/DXdOjWBO.js" rel="modulepreload">
41
41
  <link href="../../_app/immutable/chunks/CjJOx53h.js" rel="modulepreload">
42
42
  <link href="../../_app/immutable/chunks/C8kSHBGW.js" rel="modulepreload">
43
- <link href="../../_app/immutable/nodes/0.WXKHH_tm.js" rel="modulepreload">
43
+ <link href="../../_app/immutable/nodes/0.DCVNvTmX.js" rel="modulepreload">
44
44
  <link href="../../_app/immutable/chunks/Be-ZWJwN.js" rel="modulepreload">
45
45
  <link href="../../_app/immutable/chunks/DVwuKx4e.js" rel="modulepreload">
46
46
  <link href="../../_app/immutable/chunks/DItp427M.js" rel="modulepreload">
47
- <link href="../../_app/immutable/chunks/BgrSU1kg.js" rel="modulepreload">
47
+ <link href="../../_app/immutable/chunks/DmhMUf0A.js" rel="modulepreload">
48
48
  <link href="../../_app/immutable/chunks/BwzC7gXw.js" rel="modulepreload">
49
- <link href="../../_app/immutable/chunks/DkL6aOyN.js" rel="modulepreload">
49
+ <link href="../../_app/immutable/chunks/BmyLmh6r.js" rel="modulepreload">
50
50
  <link href="../../_app/immutable/chunks/BKaOgHuv.js" rel="modulepreload">
51
51
  <link href="../../_app/immutable/chunks/CVY1v_NI.js" rel="modulepreload">
52
- <link href="../../_app/immutable/chunks/BvSfBzuV.js" rel="modulepreload">
53
- <link href="../../_app/immutable/chunks/BM16VTgB.js" rel="modulepreload">
52
+ <link href="../../_app/immutable/chunks/P0Tv_tIw.js" rel="modulepreload">
53
+ <link href="../../_app/immutable/chunks/DTeYaQtG.js" rel="modulepreload">
54
54
  <link href="../../_app/immutable/chunks/BQhvHIBL.js" rel="modulepreload">
55
55
  <link href="../../_app/immutable/chunks/BAPsSsPy.js" rel="modulepreload">
56
56
  <link href="../../_app/immutable/chunks/CfEkJfal.js" rel="modulepreload">
57
- <link href="../../_app/immutable/chunks/BJKr5hge.js" rel="modulepreload">
58
- <link href="../../_app/immutable/chunks/BwnyT9Ny.js" rel="modulepreload">
59
- <link href="../../_app/immutable/chunks/DhUtLNbU.js" rel="modulepreload">
57
+ <link href="../../_app/immutable/chunks/Crbgd-F4.js" rel="modulepreload">
58
+ <link href="../../_app/immutable/chunks/Cms6Kv73.js" rel="modulepreload">
59
+ <link href="../../_app/immutable/chunks/uVN-AobW.js" rel="modulepreload">
60
60
  <link href="../../_app/immutable/chunks/C3TDTGEk.js" rel="modulepreload">
61
61
  <link href="../../_app/immutable/chunks/CsYc-nV1.js" rel="modulepreload">
62
- <link href="../../_app/immutable/chunks/MA9VYZ9Y.js" rel="modulepreload">
63
- <link href="../../_app/immutable/chunks/Cdg3o65X.js" rel="modulepreload">
64
- <link href="../../_app/immutable/chunks/EsOjj2Re.js" rel="modulepreload">
65
- <link href="../../_app/immutable/chunks/vMKBQkkd.js" rel="modulepreload">
66
- <link href="../../_app/immutable/chunks/Bs7NW1Se.js" rel="modulepreload">
67
- <link href="../../_app/immutable/chunks/C0WKYdwk.js" rel="modulepreload">
68
- <link href="../../_app/immutable/chunks/Dw0S4s6I.js" rel="modulepreload">
62
+ <link href="../../_app/immutable/chunks/C9sBKiYf.js" rel="modulepreload">
63
+ <link href="../../_app/immutable/chunks/BZ5m9NAb.js" rel="modulepreload">
64
+ <link href="../../_app/immutable/chunks/B0InQEem.js" rel="modulepreload">
65
+ <link href="../../_app/immutable/chunks/COl-CNj7.js" rel="modulepreload">
66
+ <link href="../../_app/immutable/chunks/BBfFsDlX.js" rel="modulepreload">
67
+ <link href="../../_app/immutable/chunks/BWJBuCKd.js" rel="modulepreload">
68
+ <link href="../../_app/immutable/chunks/B7-B7Rye.js" rel="modulepreload">
69
69
  <link href="../../_app/immutable/chunks/B0CGBs-v.js" rel="modulepreload">
70
70
  <link href="../../_app/immutable/chunks/B-qm-b0r.js" rel="modulepreload">
71
71
  <link href="../../_app/immutable/chunks/bsfLFPc3.js" rel="modulepreload">
@@ -75,24 +75,24 @@
75
75
  <link href="../../_app/immutable/chunks/DGHx_OMD.js" rel="modulepreload">
76
76
  <link href="../../_app/immutable/chunks/CRSvvRTA.js" rel="modulepreload">
77
77
  <link href="../../_app/immutable/chunks/DVkCj0xi.js" rel="modulepreload">
78
- <link href="../../_app/immutable/chunks/CVS8giU8.js" rel="modulepreload">
79
- <link href="../../_app/immutable/chunks/CTpKZT5_.js" rel="modulepreload">
80
- <link href="../../_app/immutable/chunks/D8o81YM9.js" rel="modulepreload">
81
- <link href="../../_app/immutable/chunks/CTjBIV3u.js" rel="modulepreload">
82
- <link href="../../_app/immutable/chunks/AZ9rWnO0.js" rel="modulepreload">
78
+ <link href="../../_app/immutable/chunks/DlRdcK_L.js" rel="modulepreload">
79
+ <link href="../../_app/immutable/chunks/B0ihW1uA.js" rel="modulepreload">
80
+ <link href="../../_app/immutable/chunks/Bxtw3VCv.js" rel="modulepreload">
81
+ <link href="../../_app/immutable/chunks/CUCj7lD0.js" rel="modulepreload">
82
+ <link href="../../_app/immutable/chunks/Cdq6yEev.js" rel="modulepreload">
83
83
  <link href="../../_app/immutable/chunks/BO8xux2v.js" rel="modulepreload">
84
- <link href="../../_app/immutable/nodes/7.0ElBSij4.js" rel="modulepreload">
85
- <link href="../../_app/immutable/chunks/BW3LFrce.js" rel="modulepreload">
84
+ <link href="../../_app/immutable/nodes/7.CRQTtQRR.js" rel="modulepreload">
85
+ <link href="../../_app/immutable/chunks/N203W5Pg.js" rel="modulepreload">
86
86
  <link href="../../_app/immutable/chunks/DovQv5Ja.js" rel="modulepreload">
87
87
  <link href="../../_app/immutable/chunks/95fvlwry.js" rel="modulepreload">
88
88
  <link href="../../_app/immutable/chunks/BK86JIHu.js" rel="modulepreload">
89
- <link href="../../_app/immutable/chunks/DXmIOUiy.js" rel="modulepreload">
90
- <link href="../../_app/immutable/chunks/B6madqDo.js" rel="modulepreload">
91
- <link href="../../_app/immutable/nodes/8.Cf03UWeS.js" rel="modulepreload">
92
- <link href="../../_app/immutable/chunks/BM9OfXL9.js" rel="modulepreload">
93
- <link href="../../_app/immutable/nodes/10.CU1-ee2m.js" rel="modulepreload">
94
- <link href="../../_app/immutable/chunks/DUvwbcGL.js" rel="modulepreload">
95
- <link href="../../_app/immutable/nodes/39.DabCE-Rt.js" rel="modulepreload">
89
+ <link href="../../_app/immutable/chunks/BSkyxmk4.js" rel="modulepreload">
90
+ <link href="../../_app/immutable/chunks/zRQ7UKhy.js" rel="modulepreload">
91
+ <link href="../../_app/immutable/nodes/8.024dj7aw.js" rel="modulepreload">
92
+ <link href="../../_app/immutable/chunks/CT2a-dR9.js" rel="modulepreload">
93
+ <link href="../../_app/immutable/nodes/10.DvnkCrU8.js" rel="modulepreload">
94
+ <link href="../../_app/immutable/chunks/BD1Q_3Tu.js" rel="modulepreload">
95
+ <link href="../../_app/immutable/nodes/39.xOE6cIqx.js" rel="modulepreload">
96
96
  <link href="../../_app/immutable/chunks/B3TZrMGu.js" rel="modulepreload">
97
97
  <link href="../../_app/env.js" rel="modulepreload">
98
98
  <!--12qhfyh--><link rel="manifest" href="/site.webmanifest"/> <link rel="icon" href="/favicon.ico" sizes="any"/> <link rel="icon" href="../../favicon.svg" type="image/svg+xml"/> <link rel="apple-touch-icon" href="../../favicon.svg"/> <link rel="preconnect" href="https://fonts.googleapis.com"/> <link rel="dns-prefetch" href="https://www.google-analytics.com"/> <link rel="sitemap" href="/sitemap.xml"/> <!--[0--><script defer="" data-domain="devmotion.app" src="https://plausible.emadev.co/js/script.js"></script><!----><!--]--><!----><!--12ux96l--><!----><script type="application/ld+json">{
@@ -177,7 +177,7 @@
177
177
  <link href="../../_app/immutable/assets/code-block.BFUS6Bit.css" rel="stylesheet">
178
178
  </head>
179
179
  <body data-sveltekit-preload-data="hover">
180
- <div style="display: contents"><!--[--><!--[0--><!--[--><!----> <!----> <!----> <section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" class="svelte-m3i4mu"><!--[-1--><!--]--></section><!----> <!--[--><!--[--><!--[--><!--[-1--><!--]--><!--]--><!--]--><!----><!--]--><!----> <!--[--><!--[--><!--[--><!--[--><!--[-1--><!--]--><!--]--><!--]--><!----><!--]--><!--]--><!----> <!--[--><!--[--><!--[0--><!--[--><div class="flex min-h-screen flex-col bg-background"><header class="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-backdrop-filter:bg-background/60"><div class="container mx-auto flex h-14 items-center justify-between px-4 sm:px-6 lg:px-8"><div class="flex items-center gap-2"><!--[-1--><!--]--> <a class="flex items-center gap-2" href="../../"><div class="flex size-8 items-center justify-center rounded-lg bg-linear-to-br from-(--brand-blue) to-(--brand-purple)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-clapperboard size-5 text-white"><!--[--><!----><path d="m12.296 3.464 3.02 3.956"><!----></path><!----><!----><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z"><!----></path><!----><!----><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"><!----></path><!----><!----><path d="m6.18 5.276 3.1 3.899"><!----></path><!----><!--]--><!----><!----></svg><!----></div> <span class="font-bold text-foreground">DevMotion</span></a><!----> <!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5 hidden" href="/gallery"><!--[-1--><!--[-1--><!--]--><!----> <!---->Gallery<!----><!--]--></a><!--]--><!----> <!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5 hidden" href="/tools"><!--[-1--><!--[-1--><!--]--><!----> <!---->Tools<!----><!--]--></a><!--]--><!----> <!--[-1--><!--]--></div> <!--[-1--><div class="flex-1"></div><!--]--> <div class="flex items-center gap-2"><!--[0--><div class="hidden items-center gap-1 sm:flex"><!--[0--><!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 rounded-md px-3 has-[>svg]:px-2.5 gap-2" href="../../"><!--[-1--><!--[-1--><!--]--><!----> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-arrow-left h-4 w-4"><!--[--><!----><path d="m12 19-7-7 7-7"><!----></path><!----><!----><path d="M19 12H5"><!----></path><!----><!--]--><!----><!----></svg><!---->Home<!----><!--]--></a><!--]--><!--]--> <!--[-1--><!--]--><!----> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-muted-foreground">Tools <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-72 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><a href="../../tools" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-wrench h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">All Free Tools</div> <div class="text-xs text-muted-foreground">No sign-up required</div></div><!--]--></a><!----> <!--[--><a href="../../tools/add-captions/tiktok" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for TikTok</span><!--]--></a><a href="../../tools/add-captions/youtube" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for YouTube</span><!--]--></a><a href="../../tools/add-captions/instagram" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for Instagram</span><!--]--></a><a href="../../tools/add-captions/linkedin" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for LinkedIn</span><!--]--></a><a href="../../tools/add-captions/twitter-x" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for X (Twitter)</span><!--]--></a><!--]--></div></div> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-foreground">Docs <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-48 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><!--[--><a href="../../docs" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">Get Started</div> <div class="text-xs text-muted-foreground">Install &amp; first render</div></div><!--]--></a><a href="../../docs/mcp" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">MCP &amp; Agents</div> <div class="text-xs text-muted-foreground">Local stdio + cloud</div></div><!--]--></a><a href="../../docs/api" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">API Reference</div> <div class="text-xs text-muted-foreground">Cloud automation (optional)</div></div><!--]--></a><!--]--></div></div> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-muted-foreground">More <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-72 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><div class="px-3 py-1.5 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Alternatives</div><!----> <!--[--><a href="../../vs/descript" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Descript</span><!--]--></a><a href="../../vs/kapwing" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Kapwing</span><!--]--></a><a href="../../vs/captions-ai" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Captions.ai</span><!--]--></a><a href="../../vs/submagic" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Submagic</span><!--]--></a><a href="../../vs/veed" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs VEED.io</span><!--]--></a><a href="../../vs/runway" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Runway</span><!--]--></a><a href="../../vs/canva" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Canva Video</span><!--]--></a><a href="../../vs/clipchamp" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Clipchamp (Microsoft)</span><!--]--></a><!--]--> <div class="my-1 border-t border-border/50"></div> <div class="px-3 py-1.5 text-xs font-semibold tracking-wide text-muted-foreground uppercase">AI Dubbing</div><!----> <!--[--><a href="../../dub/spanish" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Spanish</span><!--]--></a><a href="../../dub/portuguese" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Portuguese</span><!--]--></a><a href="../../dub/french" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to French</span><!--]--></a><a href="../../dub/german" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to German</span><!--]--></a><a href="../../dub/italian" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Italian</span><!--]--></a><a href="../../dub/japanese" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Japanese</span><!--]--></a><!--]--></div></div> <!--[0--><!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-8 rounded-md px-3 has-[>svg]:px-2.5 gap-2" href="../../editor"><!--[-1--><!--[-1--><!--]--><!----> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-clapperboard h-3.5 w-3.5"><!--[--><!----><path d="m12.296 3.464 3.02 3.956"><!----></path><!----><!----><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z"><!----></path><!----><!----><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"><!----></path><!----><!----><path d="m6.18 5.276 3.1 3.899"><!----></path><!----><!--]--><!----><!----></svg><!---->Open Editor<!----><!--]--></a><!--]--><!--]--></div> <div class="flex items-center gap-1 sm:hidden"><!--[-1--><!--]--><!----> <!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" type="button" aria-label="Toggle menu"><!--[-1--><!--[-1--><!--]--><!----> <!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-menu h-5 w-5"><!--[--><!----><path d="M4 5h16"><!----></path><!----><!----><path d="M4 12h16"><!----></path><!----><!----><path d="M4 19h16"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!----><!--]--></button><!--]--><!----></div><!----><!--]--> <!--[!--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-loader-circle animate-spin"><!--[--><!----><path d="M21 12a9 9 0 1 1-6.219-8.56"><!----></path><!----><!--]--><!----><!----></svg><!--]--></div></div><!----> <!--[-1--><!--]--></header> <main class="flex flex-1 flex-col"><!--[0--><!--[--><div class="container mx-auto flex max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:px-8"><!--[0--><aside class="hidden w-52 shrink-0 lg:block"><nav class="sticky top-20 space-y-6" aria-label="Docs navigation"><!--[--><!--]--></nav></aside><!--]--> <div class="min-w-0 flex-1"><!--[--><nav data-slot="breadcrumb" class="mb-6" aria-label="breadcrumb"><!--[--><ol data-slot="breadcrumb-list" class="flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5"><!--[--><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><!--[--><!--[-1--><a data-slot="breadcrumb-link" class="hover:text-foreground transition-colors" href="/"><!---->Home<!----></a><!--]--><!--]--><!----></li><!--]--> <!--[--><li data-slot="breadcrumb-separator" role="presentation" aria-hidden="true" class="[&amp;>svg]:size-3.5"><!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-right"><!--[--><!----><path d="m9 18 6-6-6-6"><!----></path><!----><!--]--><!----><!----></svg><!--]--></li><!--]--> <!--[0--><!--[-1--><!--[--><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><!--[--><span data-slot="breadcrumb-page" role="link" aria-disabled="true" aria-current="page" class="font-normal text-foreground"><!----><!----></span><!--]--><!----></li><!--]--><!--]--><!--]--><!----></ol><!--]--><!----></nav><!--]--> <div class="prose max-w-none prose-neutral dark:prose-invert"><!--[0--><!--[--><!----> <!--[--><h1 id="tools--keyframes-reference">Tools &amp; Keyframes Reference</h1> <p>Complete reference for all MCP tools exposed by DevMotion and the keyframe animation system.</p> <hr/> <h2 id="available-tools">Available Tools</h2> <table><thead><tr><th>Tool</th><th>Description</th></tr></thead><tbody><tr><td><code>create_project</code></td><td>Create a new animation project</td></tr><tr><td><code>get_project</code></td><td>Inspect project state, layers, and keyframes</td></tr><tr><td><code>create_layer</code></td><td>Add a layer with optional animations and keyframes</td></tr><tr><td><code>edit_layer</code></td><td>Patch an existing layer’s properties or keyframes</td></tr><tr><td><code>remove_layer</code></td><td>Delete a layer from the project</td></tr><tr><td><code>configure_project</code></td><td>Update project dimensions, duration, FPS, background</td></tr><tr><td><code>group_layers</code></td><td>Group multiple layers together</td></tr><tr><td><code>ungroup_layers</code></td><td>Ungroup a layer group</td></tr><tr><td><code>action_generate_captions</code></td><td>Transcribe audio/video to word-level captions</td></tr><tr><td><code>action_dub_audio</code></td><td>Dub audio into another language with AI voice cloning</td></tr><tr><td><code>action_extract_audio</code></td><td>Extract audio track from a video layer</td></tr></tbody></table> <hr/> <h2 id="create_project">create_project</h2> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">create_project</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
180
+ <div style="display: contents"><!--[--><!--[0--><!--[--><!----> <!----> <!----> <section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false" class="svelte-m3i4mu"><!--[-1--><!--]--></section><!----> <!--[--><!--[--><!--[--><!--[-1--><!--]--><!--]--><!--]--><!----><!--]--><!----> <!--[--><!--[--><!--[--><!--[--><!--[-1--><!--]--><!--]--><!--]--><!----><!--]--><!--]--><!----> <!--[--><!--[--><!--[0--><!--[--><div class="flex min-h-screen flex-col bg-background"><header class="sticky top-0 z-50 w-full border-b bg-background/95 backdrop-blur supports-backdrop-filter:bg-background/60"><div class="container mx-auto flex h-14 items-center justify-between px-4 sm:px-6 lg:px-8"><div class="flex items-center gap-2"><!--[-1--><!--]--> <a class="flex items-center gap-2" href="../../"><div class="flex size-8 items-center justify-center rounded-lg bg-linear-to-br from-(--brand-blue) to-(--brand-purple)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-clapperboard size-5 text-white"><!--[--><!----><path d="m12.296 3.464 3.02 3.956"><!----></path><!----><!----><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z"><!----></path><!----><!----><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"><!----></path><!----><!----><path d="m6.18 5.276 3.1 3.899"><!----></path><!----><!--]--><!----><!----></svg><!----></div> <span class="font-bold text-foreground">DevMotion</span></a><!----> <!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5 hidden" href="/gallery"><!--[-1--><!--[-1--><!--]--><!----> <!---->Gallery<!----><!--]--></a><!--]--><!----> <!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5 hidden" href="/tools"><!--[-1--><!--[-1--><!--]--><!----> <!---->Tools<!----><!--]--></a><!--]--><!----> <!--[-1--><!--]--></div> <!--[-1--><div class="flex-1"></div><!--]--> <div class="flex items-center gap-2"><!--[0--><div class="hidden items-center gap-1 sm:flex"><!--[0--><!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 h-8 rounded-md px-3 has-[>svg]:px-2.5 gap-2" href="../../"><!--[-1--><!--[-1--><!--]--><!----> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-arrow-left h-4 w-4"><!--[--><!----><path d="m12 19-7-7 7-7"><!----></path><!----><!----><path d="M19 12H5"><!----></path><!----><!--]--><!----><!----></svg><!---->Home<!----><!--]--></a><!--]--><!--]--> <!--[-1--><!--]--><!----> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-muted-foreground">Tools <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-72 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><a href="../../tools" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-wrench h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">All Free Tools</div> <div class="text-xs text-muted-foreground">No sign-up required</div></div><!--]--></a><!----> <!--[--><a href="../../tools/add-captions/tiktok" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for TikTok</span><!--]--></a><a href="../../tools/add-captions/youtube" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for YouTube</span><!--]--></a><a href="../../tools/add-captions/instagram" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for Instagram</span><!--]--></a><a href="../../tools/add-captions/linkedin" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for LinkedIn</span><!--]--></a><a href="../../tools/add-captions/twitter-x" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Auto Captions Generator for X (Twitter)</span><!--]--></a><!--]--></div></div> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-foreground">Docs <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-48 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><!--[--><a href="../../docs" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">Get Started</div> <div class="text-xs text-muted-foreground">Install &amp; first render</div></div><!--]--></a><a href="../../docs/mcp" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">MCP &amp; Agents</div> <div class="text-xs text-muted-foreground">Local stdio + cloud</div></div><!--]--></a><a href="../../docs/api" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-book-open h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><path d="M12 7v14"><!----></path><!----><!----><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[0--><div><div class="font-medium">API Reference</div> <div class="text-xs text-muted-foreground">Cloud automation (optional)</div></div><!--]--></a><!--]--></div></div> <div class="nav-dropdown group relative svelte-3qm88h"><button class="flex items-center gap-1 rounded-md px-3 py-1.5 text-sm font-medium transition-colors hover:bg-accent hover:text-foreground text-muted-foreground">More <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-down h-3.5 w-3.5 transition-transform duration-200 group-hover:rotate-180"><!--[--><!----><path d="m6 9 6 6 6-6"><!----></path><!----><!--]--><!----><!----></svg><!----></button> <div class="nav-dropdown-panel absolute top-full left-0 z-50 hidden w-72 rounded-xl border bg-popover p-1.5 shadow-lg svelte-3qm88h"><div class="px-3 py-1.5 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Alternatives</div><!----> <!--[--><a href="../../vs/descript" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Descript</span><!--]--></a><a href="../../vs/kapwing" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Kapwing</span><!--]--></a><a href="../../vs/captions-ai" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Captions.ai</span><!--]--></a><a href="../../vs/submagic" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Submagic</span><!--]--></a><a href="../../vs/veed" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs VEED.io</span><!--]--></a><a href="../../vs/runway" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Runway</span><!--]--></a><a href="../../vs/canva" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Canva Video</span><!--]--></a><a href="../../vs/clipchamp" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-git-compare h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="18" cy="18" r="3"><!----></circle><!----><!----><circle cx="6" cy="6" r="3"><!----></circle><!----><!----><path d="M13 6h3a2 2 0 0 1 2 2v7"><!----></path><!----><!----><path d="M11 18H8a2 2 0 0 1-2-2V9"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>vs Clipchamp (Microsoft)</span><!--]--></a><!--]--> <div class="my-1 border-t border-border/50"></div> <div class="px-3 py-1.5 text-xs font-semibold tracking-wide text-muted-foreground uppercase">AI Dubbing</div><!----> <!--[--><a href="../../dub/spanish" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Spanish</span><!--]--></a><a href="../../dub/portuguese" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Portuguese</span><!--]--></a><a href="../../dub/french" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to French</span><!--]--></a><a href="../../dub/german" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to German</span><!--]--></a><a href="../../dub/italian" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Italian</span><!--]--></a><a href="../../dub/japanese" class="flex items-center gap-2 rounded-lg px-3 py-2 text-sm transition-colors hover:bg-accent"><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-globe h-4 w-4 shrink-0 text-muted-foreground"><!--[--><!----><circle cx="12" cy="12" r="10"><!----></circle><!----><!----><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"><!----></path><!----><!----><path d="M2 12h20"><!----></path><!----><!--]--><!----><!----></svg><!--]--> <!--[-1--><span>Dub to Japanese</span><!--]--></a><!--]--></div></div> <!--[0--><!--[0--><a data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center whitespace-nowrap text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 h-8 rounded-md px-3 has-[>svg]:px-2.5 gap-2" href="../../editor"><!--[-1--><!--[-1--><!--]--><!----> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-clapperboard h-3.5 w-3.5"><!--[--><!----><path d="m12.296 3.464 3.02 3.956"><!----></path><!----><!----><path d="M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z"><!----></path><!----><!----><path d="M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"><!----></path><!----><!----><path d="m6.18 5.276 3.1 3.899"><!----></path><!----><!--]--><!----><!----></svg><!---->Open Editor<!----><!--]--></a><!--]--><!--]--></div> <div class="flex items-center gap-1 sm:hidden"><!--[-1--><!--]--><!----> <!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-9" type="button" aria-label="Toggle menu"><!--[-1--><!--[-1--><!--]--><!----> <!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-menu h-5 w-5"><!--[--><!----><path d="M4 5h16"><!----></path><!----><!----><path d="M4 12h16"><!----></path><!----><!----><path d="M4 19h16"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!----><!--]--></button><!--]--><!----></div><!----><!--]--> <!--[!--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-loader-circle animate-spin"><!--[--><!----><path d="M21 12a9 9 0 1 1-6.219-8.56"><!----></path><!----><!--]--><!----><!----></svg><!--]--></div></div><!----> <!--[-1--><!--]--></header> <main class="flex flex-1 flex-col"><!--[0--><!--[--><div class="container mx-auto flex max-w-7xl gap-8 px-4 py-10 sm:px-6 lg:px-8"><!--[0--><aside class="hidden w-52 shrink-0 lg:block"><nav class="sticky top-20 space-y-6" aria-label="Docs navigation"><!--[--><!--]--></nav></aside><!--]--> <div class="min-w-0 flex-1"><!--[--><nav data-slot="breadcrumb" class="mb-6" aria-label="breadcrumb"><!--[--><ol data-slot="breadcrumb-list" class="flex flex-wrap items-center gap-1.5 text-sm wrap-break-word text-muted-foreground sm:gap-2.5"><!--[--><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><!--[--><!--[-1--><a data-slot="breadcrumb-link" class="hover:text-foreground transition-colors" href="/"><!---->Home<!----></a><!--]--><!--]--><!----></li><!--]--> <!--[--><li data-slot="breadcrumb-separator" role="presentation" aria-hidden="true" class="[&amp;>svg]:size-3.5"><!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-chevron-right"><!--[--><!----><path d="m9 18 6-6-6-6"><!----></path><!----><!--]--><!----><!----></svg><!--]--></li><!--]--> <!--[0--><!--[-1--><!--[--><li data-slot="breadcrumb-item" class="inline-flex items-center gap-1.5"><!--[--><span data-slot="breadcrumb-page" role="link" aria-disabled="true" aria-current="page" class="font-normal text-foreground"><!----><!----></span><!--]--><!----></li><!--]--><!--]--><!--]--><!----></ol><!--]--><!----></nav><!--]--> <div class="prose max-w-none prose-neutral dark:prose-invert"><!--[0--><!--[--><!----> <!--[--><h1 id="tools--keyframes-reference">Tools &amp; Keyframes Reference</h1> <p>Complete reference for all MCP tools exposed by DevMotion and the keyframe animation system.</p> <hr/> <h2 id="available-tools">Available Tools</h2> <table><thead><tr><th>Tool</th><th>Description</th></tr></thead><tbody><tr><td><code>create_project</code></td><td>Create a new animation project</td></tr><tr><td><code>get_project</code></td><td>Inspect project state, layers, and keyframes</td></tr><tr><td><code>create_layer</code></td><td>Add a layer with optional animations and keyframes</td></tr><tr><td><code>edit_layer</code></td><td>Patch an existing layer’s properties or keyframes</td></tr><tr><td><code>remove_layer</code></td><td>Delete a layer from the project</td></tr><tr><td><code>configure_project</code></td><td>Update project dimensions, duration, FPS, background</td></tr><tr><td><code>group_layers</code></td><td>Group multiple layers together</td></tr><tr><td><code>ungroup_layers</code></td><td>Ungroup a layer group</td></tr><tr><td><code>upload_media</code></td><td>Request a presigned upload URL (cloud only)</td></tr><tr><td><code>confirm_media_upload</code></td><td>Confirm a completed upload (cloud only)</td></tr><tr><td><code>import_media</code></td><td>Import media from a public URL (cloud only)</td></tr></tbody></table> <hr/> <h2 id="create_project">create_project</h2> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">create_project</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
181
181
  <span class="line"><span style="color:#7EE787"> "name"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"TikTok Intro"</span><span style="color:#E6EDF3">,</span></span>
182
182
  <span class="line"><span style="color:#7EE787"> "width"</span><span style="color:#E6EDF3">: </span><span style="color:#79C0FF">1080</span><span style="color:#E6EDF3">,</span></span>
183
183
  <span class="line"><span style="color:#7EE787"> "height"</span><span style="color:#E6EDF3">: </span><span style="color:#79C0FF">1920</span></span>
@@ -243,23 +243,31 @@
243
243
  <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">ungroup_layers</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
244
244
  <span class="line"><span style="color:#7EE787"> "projectId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"your_project_id"</span><span style="color:#E6EDF3">,</span></span>
245
245
  <span class="line"><span style="color:#7EE787"> "groupId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"group_xyz"</span></span>
246
- <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <hr/> <h2 id="media-actions">Media Actions</h2> <p>These tools run AI-powered operations on media layers (video/audio). Each action creates new layers and/or modifies the source layer automatically.</p> <h3 id="action_generate_captions">action_generate_captions</h3> <p>Transcribe a video or audio layer into word-level captions using Whisper AI.</p> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">action_generate_captions</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
246
+ <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <hr/> <h2 id="cloud-media-tools">Cloud Media Tools</h2> <p>Local projects use files directly from <code>assets/</code>. The tools below are only available on the cloud MCP server at <code>https://devmotion.app/mcp</code>.</p> <h3 id="upload_media">upload_media</h3> <p>Request a presigned URL for direct upload.</p> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">upload_media</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
247
247
  <span class="line"><span style="color:#7EE787"> "projectId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"your_project_id"</span><span style="color:#E6EDF3">,</span></span>
248
- <span class="line"><span style="color:#7EE787"> "layerId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video_layer_id"</span><span style="color:#E6EDF3">,</span></span>
249
- <span class="line"><span style="color:#7EE787"> "language"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"en"</span><span style="color:#E6EDF3">,</span></span>
250
- <span class="line"><span style="color:#7EE787"> "prompt"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"Optional context for transcription accuracy"</span></span>
251
- <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <table><thead><tr><th>Field</th><th>Type</th><th align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>projectId</code></td><td>string</td><td align="center">✓</td><td>Project containing the layer</td></tr><tr><td><code>layerId</code></td><td>string</td><td align="center">✓</td><td>Video or audio layer to transcribe</td></tr><tr><td><code>language</code></td><td>string</td><td align="center">—</td><td>Language code (e.g. “en”, “es”). Omit for auto-detect</td></tr><tr><td><code>prompt</code></td><td>string</td><td align="center">—</td><td>Context to guide transcription (lyrics, terminology)</td></tr></tbody></table> <p>Creates a new <strong>captions</strong> layer linked to the source media.</p> <h3 id="action_dub_audio">action_dub_audio</h3> <p>Dub audio into another language using AI voice cloning (ElevenLabs).</p> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">action_dub_audio</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
248
+ <span class="line"><span style="color:#7EE787"> "file_name"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"demo.mp4"</span><span style="color:#E6EDF3">,</span></span>
249
+ <span class="line"><span style="color:#7EE787"> "mime_type"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video/mp4"</span><span style="color:#E6EDF3">,</span></span>
250
+ <span class="line"><span style="color:#7EE787"> "file_size"</span><span style="color:#E6EDF3">: </span><span style="color:#79C0FF">1234567</span><span style="color:#E6EDF3">,</span></span>
251
+ <span class="line"><span style="color:#7EE787"> "media_type"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video"</span></span>
252
+ <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <p>Returns <code>upload_url</code>, <code>key</code>, <code>file_url</code>, and <code>asset_id</code>. Upload the file binary to <code>upload_url</code>, then call <code>confirm_media_upload</code>.</p> <h3 id="confirm_media_upload">confirm_media_upload</h3> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">confirm_media_upload</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
252
253
  <span class="line"><span style="color:#7EE787"> "projectId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"your_project_id"</span><span style="color:#E6EDF3">,</span></span>
253
- <span class="line"><span style="color:#7EE787"> "layerId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"audio_layer_id"</span><span style="color:#E6EDF3">,</span></span>
254
- <span class="line"><span style="color:#7EE787"> "targetLang"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"es"</span></span>
255
- <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <table><thead><tr><th>Field</th><th>Type</th><th align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>projectId</code></td><td>string</td><td align="center">✓</td><td>Project containing the layer</td></tr><tr><td><code>layerId</code></td><td>string</td><td align="center">✓</td><td>Audio or video layer to dub</td></tr><tr><td><code>targetLang</code></td><td>string</td><td align="center">✓</td><td>Target language code: en, es, fr, de, it, pt, ru, ja, ko, zh, ar, hi, nl, pl, tr</td></tr><tr><td><code>sourceLang</code></td><td>string</td><td align="center">—</td><td>Source language code. Omit for auto-detect</td></tr></tbody></table> <p>Creates a new <strong>audio</strong> layer with the dubbed track and mutes the original.</p> <h3 id="action_extract_audio">action_extract_audio</h3> <p>Extract the audio track from a video layer using FFmpeg.</p> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">action_extract_audio</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
254
+ <span class="line"><span style="color:#7EE787"> "asset_id"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"asset_abc"</span><span style="color:#E6EDF3">,</span></span>
255
+ <span class="line"><span style="color:#7EE787"> "key"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"uploads/user/demo.mp4"</span><span style="color:#E6EDF3">,</span></span>
256
+ <span class="line"><span style="color:#7EE787"> "file_url"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"https://assets.devmotion.app/uploads/user/demo.mp4"</span><span style="color:#E6EDF3">,</span></span>
257
+ <span class="line"><span style="color:#7EE787"> "original_name"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"demo.mp4"</span><span style="color:#E6EDF3">,</span></span>
258
+ <span class="line"><span style="color:#7EE787"> "mime_type"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video/mp4"</span><span style="color:#E6EDF3">,</span></span>
259
+ <span class="line"><span style="color:#7EE787"> "media_type"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video"</span><span style="color:#E6EDF3">,</span></span>
260
+ <span class="line"><span style="color:#7EE787"> "duration"</span><span style="color:#E6EDF3">: </span><span style="color:#79C0FF">4.2</span></span>
261
+ <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <p>Use the returned asset URL as <code>src</code> when creating an image, video, or audio layer.</p> <h3 id="import_media">import_media</h3> <!--[0--><div class="not-prose overflow-hidden rounded-lg border text-sm svelte-13xpxzd"><div class="flex items-center justify-between border-b bg-muted/50 px-4 py-2"><span class="font-mono text-xs text-muted-foreground">import_media</span> <!--[--><!--[-1--><button data-slot="button" class="focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium outline-none transition-all focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 size-8 shrink-0 text-muted-foreground" type="button" aria-label="Copy code"><!--[-1--><!--[1--><!--[--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide-icon lucide lucide-copy pointer-events-none shrink-0 size-4"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----><!----></svg><!--]--><!--]--><!----> <!----><!--]--></button><!--]--><!--]--></div> <div class="overflow-x-auto bg-[#0d1117] text-left [&amp;>pre]:m-0 [&amp;>pre]:min-w-max [&amp;>pre]:rounded-none [&amp;>pre]:p-4 svelte-13xpxzd"><!--[--><!----><pre class="shiki github-dark-default" style="background-color:#0d1117;color:#e6edf3" tabindex="0"><code><span class="line"><span style="color:#E6EDF3">{</span></span>
256
262
  <span class="line"><span style="color:#7EE787"> "projectId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"your_project_id"</span><span style="color:#E6EDF3">,</span></span>
257
- <span class="line"><span style="color:#7EE787"> "layerId"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video_layer_id"</span></span>
258
- <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <table><thead><tr><th>Field</th><th>Type</th><th align="center">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>projectId</code></td><td>string</td><td align="center">✓</td><td>Project containing the layer</td></tr><tr><td><code>layerId</code></td><td>string</td><td align="center">✓</td><td>Video layer to extract audio from</td></tr></tbody></table> <p>Creates a new <strong>audio</strong> layer and mutes the original video. Free — no AI credits required.</p> <hr/> <h2 id="layer-types">Layer Types</h2> <table><thead><tr><th>Type</th><th>Key props</th></tr></thead><tbody><tr><td><code>text</code></td><td><code>content</code> (string), <code>fontSize</code>, <code>color</code>, <code>fontFamily</code>, <code>fontWeight</code></td></tr><tr><td><code>shape</code></td><td><code>shapeType</code> (<code>rectangle</code>/<code>ellipse</code>/<code>circle</code>/…), <code>background</code></td></tr><tr><td><code>image</code></td><td><code>src</code> (URL)</td></tr><tr><td><code>video</code></td><td><code>src</code> (URL)</td></tr><tr><td><code>group</code></td><td><em>(no props — use <code>group_layers</code> instead)</em></td></tr></tbody></table> <hr/> <h2 id="keyframe-animation">Keyframe Animation</h2> <p>Layers are animated by adding keyframes at specific times. DevMotion interpolates between them automatically using the easing curve you specify.</p> <p>Pass keyframes inside <code>animation.keyframes</code> when calling <code>create_layer</code>, or add them later with <code>edit_layer</code>.</p> <h3 id="animatable-properties">Animatable Properties</h3> <table><thead><tr><th>Property</th><th>Description</th></tr></thead><tbody><tr><td><code>position.x</code> / <code>position.y</code></td><td>Position in pixels</td></tr><tr><td><code>position.z</code></td><td>Z depth</td></tr><tr><td><code>scale.x</code> / <code>scale.y</code></td><td>Scale (1 = 100%)</td></tr><tr><td><code>rotation.x</code> / <code>rotation.y</code> / <code>rotation.z</code></td><td>Rotation in degrees</td></tr><tr><td><code>opacity</code></td><td>Transparency (0–1)</td></tr><tr><td><code>props.fontSize</code></td><td>Font size (text layers)</td></tr><tr><td><code>props.color</code></td><td>Text color (hex)</td></tr><tr><td><code>props.content</code></td><td>Text content (typewriter)</td></tr></tbody></table> <h3 id="keyframe-schema">Keyframe schema</h3> <p>Each keyframe requires an <code>id</code> (any unique string — DevMotion replaces it internally):</p> <pre class="language-json"><!----><code class="language-json"><span class="token punctuation">&#123;</span> <span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"kf1"</span><span class="token punctuation">,</span> <span class="token property">"time"</span><span class="token operator">:</span> <span class="token number">0.5</span><span class="token punctuation">,</span> <span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"position.y"</span><span class="token punctuation">,</span> <span class="token property">"value"</span><span class="token operator">:</span> <span class="token number">-200</span><span class="token punctuation">,</span> <span class="token property">"easing"</span><span class="token operator">:</span> <span class="token string">"ease-out"</span> <span class="token punctuation">&#125;</span></code><!----></pre> <h3 id="easing-values">Easing Values</h3> <table><thead><tr><th>Value</th><th>Description</th></tr></thead><tbody><tr><td><code>linear</code></td><td>Constant speed</td></tr><tr><td><code>ease-in</code></td><td>Starts slow, ends fast</td></tr><tr><td><code>ease-out</code></td><td>Starts fast, ends slow</td></tr><tr><td><code>ease-in-out</code></td><td>Slow at both ends</td></tr><tr><td><code>bounce</code></td><td>Elastic bounce at end</td></tr></tbody></table> <hr/> <h2 id="example-prompts">Example Prompts</h2> <ul><li><em>“Create a 9:16 product showcase with a phone mockup image, a title, and a price tag that bounces in.”</em></li> <li><em>“Make a lower-third bar with white text on a semi-transparent dark background that slides in from the left.”</em></li> <li><em>“Build a 5-second countdown animation with a large number that scales up and fades out each second.”</em></li> <li><em>“Edit the ‘Headline’ layer to use yellow and add a shake animation.”</em></li></ul><!--]--><!----><!--]--><!--]--><!----></div></div> <!--[-1--><!--]--></div><!--]--><!--]--><!----></main> <!--[0--><footer class="border-t py-10"><div class="container mx-auto px-4 sm:px-6 lg:px-8"><div class="grid grid-cols-2 gap-8 sm:grid-cols-4"><div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Tools</p> <ul class="space-y-2 text-sm"><li><a href="../../tools" class="text-muted-foreground transition-colors hover:text-foreground">All Free Tools</a></li><!----> <!--[--><li><a href="../../tools/add-captions/tiktok" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for TikTok</a></li><li><a href="../../tools/add-captions/youtube" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for YouTube</a></li><li><a href="../../tools/add-captions/instagram" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for Instagram</a></li><li><a href="../../tools/add-captions/linkedin" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for LinkedIn</a></li><li><a href="../../tools/add-captions/twitter-x" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for X (Twitter)</a></li><li><a href="../../tools/translate-video/youtube" class="text-muted-foreground transition-colors hover:text-foreground">Video Translator &amp; AI Dubbing for YouTube</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">AI Dubbing</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../dub/spanish" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Spanish</a></li><li><a href="../../dub/portuguese" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Portuguese</a></li><li><a href="../../dub/french" class="text-muted-foreground transition-colors hover:text-foreground">Dub to French</a></li><li><a href="../../dub/german" class="text-muted-foreground transition-colors hover:text-foreground">Dub to German</a></li><li><a href="../../dub/italian" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Italian</a></li><li><a href="../../dub/japanese" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Japanese</a></li><li><a href="../../dub/korean" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Korean</a></li><li><a href="../../dub/hindi" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Hindi</a></li><li><a href="../../dub/arabic" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Arabic</a></li><li><a href="../../dub/chinese-simplified" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Chinese (Simplified)</a></li><li><a href="../../dub/dutch" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Dutch</a></li><li><a href="../../dub/polish" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Polish</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Alternatives</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../vs/descript" class="text-muted-foreground transition-colors hover:text-foreground">vs Descript</a></li><li><a href="../../vs/kapwing" class="text-muted-foreground transition-colors hover:text-foreground">vs Kapwing</a></li><li><a href="../../vs/captions-ai" class="text-muted-foreground transition-colors hover:text-foreground">vs Captions.ai</a></li><li><a href="../../vs/submagic" class="text-muted-foreground transition-colors hover:text-foreground">vs Submagic</a></li><li><a href="../../vs/veed" class="text-muted-foreground transition-colors hover:text-foreground">vs VEED.io</a></li><li><a href="../../vs/runway" class="text-muted-foreground transition-colors hover:text-foreground">vs Runway</a></li><li><a href="../../vs/canva" class="text-muted-foreground transition-colors hover:text-foreground">vs Canva Video</a></li><li><a href="../../vs/clipchamp" class="text-muted-foreground transition-colors hover:text-foreground">vs Clipchamp (Microsoft)</a></li><!--]--></ul> <p class="mt-6 mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Docs</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../docs" class="text-muted-foreground transition-colors hover:text-foreground">Get Started</a></li><li><a href="../../docs/mcp" class="text-muted-foreground transition-colors hover:text-foreground">MCP &amp; Agents</a></li><li><a href="../../docs/api" class="text-muted-foreground transition-colors hover:text-foreground">API Reference</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">DevMotion</p> <ul class="space-y-2 text-sm"><li><a href="../../" class="text-muted-foreground transition-colors hover:text-foreground">Home</a></li><!----> <li><a href="../../editor" class="text-muted-foreground transition-colors hover:text-foreground">Open Editor</a></li><!----> <li><a href="../../terms" class="text-muted-foreground transition-colors hover:text-foreground">Terms</a></li><!----> <li><a href="../../privacy" class="text-muted-foreground transition-colors hover:text-foreground">Privacy</a></li><!----> <li><a href="https://devmotion.canny.io/feature-requests" target="_blank" rel="noreferrer" class="text-muted-foreground transition-colors hover:text-foreground">Request a feature</a></li><!----></ul></div></div> <div class="mt-8 border-t pt-6 text-center text-sm text-muted-foreground">Built by <a href="https://twitter.com/emadev01" target="_blank" rel="noreferrer" class="font-medium underline underline-offset-4">EmaDev</a>.</div></div></footer><!--]--></div><!--]--><!--]--><!----><!----><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
263
+ <span class="line"><span style="color:#7EE787"> "url"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"https://example.com/demo.mp4"</span><span style="color:#E6EDF3">,</span></span>
264
+ <span class="line"><span style="color:#7EE787"> "media_type"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"video"</span><span style="color:#E6EDF3">,</span></span>
265
+ <span class="line"><span style="color:#7EE787"> "file_name"</span><span style="color:#E6EDF3">: </span><span style="color:#A5D6FF">"demo.mp4"</span></span>
266
+ <span class="line"><span style="color:#E6EDF3">}</span></span></code></pre><!----><!--]--></div></div><!--]--><!----> <p>Imports a public media URL into your DevMotion assets and returns the asset URL to use in layer props.</p> <hr/> <h2 id="layer-types">Layer Types</h2> <table><thead><tr><th>Type</th><th>Key props</th></tr></thead><tbody><tr><td><code>text</code></td><td><code>content</code> (string), <code>fontSize</code>, <code>color</code>, <code>fontFamily</code>, <code>fontWeight</code></td></tr><tr><td><code>shape</code></td><td><code>shapeType</code> (<code>rectangle</code>/<code>ellipse</code>/<code>circle</code>/…), <code>background</code></td></tr><tr><td><code>image</code></td><td><code>src</code> (URL)</td></tr><tr><td><code>video</code></td><td><code>src</code> (URL)</td></tr><tr><td><code>group</code></td><td><em>(no props — use <code>group_layers</code> instead)</em></td></tr></tbody></table> <hr/> <h2 id="keyframe-animation">Keyframe Animation</h2> <p>Layers are animated by adding keyframes at specific times. DevMotion interpolates between them automatically using the easing curve you specify.</p> <p>Pass keyframes inside <code>animation.keyframes</code> when calling <code>create_layer</code>, or add them later with <code>edit_layer</code>.</p> <h3 id="animatable-properties">Animatable Properties</h3> <table><thead><tr><th>Property</th><th>Description</th></tr></thead><tbody><tr><td><code>position.x</code> / <code>position.y</code></td><td>Position in pixels</td></tr><tr><td><code>position.z</code></td><td>Z depth</td></tr><tr><td><code>scale.x</code> / <code>scale.y</code></td><td>Scale (1 = 100%)</td></tr><tr><td><code>rotation.x</code> / <code>rotation.y</code> / <code>rotation.z</code></td><td>Rotation in degrees</td></tr><tr><td><code>opacity</code></td><td>Transparency (0–1)</td></tr><tr><td><code>props.fontSize</code></td><td>Font size (text layers)</td></tr><tr><td><code>props.color</code></td><td>Text color (hex)</td></tr><tr><td><code>props.content</code></td><td>Text content (typewriter)</td></tr></tbody></table> <h3 id="keyframe-schema">Keyframe schema</h3> <p>Each keyframe requires an <code>id</code> (any unique string — DevMotion replaces it internally):</p> <pre class="language-json"><!----><code class="language-json"><span class="token punctuation">&#123;</span> <span class="token property">"id"</span><span class="token operator">:</span> <span class="token string">"kf1"</span><span class="token punctuation">,</span> <span class="token property">"time"</span><span class="token operator">:</span> <span class="token number">0.5</span><span class="token punctuation">,</span> <span class="token property">"property"</span><span class="token operator">:</span> <span class="token string">"position.y"</span><span class="token punctuation">,</span> <span class="token property">"value"</span><span class="token operator">:</span> <span class="token number">-200</span><span class="token punctuation">,</span> <span class="token property">"easing"</span><span class="token operator">:</span> <span class="token string">"ease-out"</span> <span class="token punctuation">&#125;</span></code><!----></pre> <h3 id="easing-values">Easing Values</h3> <table><thead><tr><th>Value</th><th>Description</th></tr></thead><tbody><tr><td><code>linear</code></td><td>Constant speed</td></tr><tr><td><code>ease-in</code></td><td>Starts slow, ends fast</td></tr><tr><td><code>ease-out</code></td><td>Starts fast, ends slow</td></tr><tr><td><code>ease-in-out</code></td><td>Slow at both ends</td></tr><tr><td><code>bounce</code></td><td>Elastic bounce at end</td></tr></tbody></table> <hr/> <h2 id="example-prompts">Example Prompts</h2> <ul><li><em>“Create a 9:16 product showcase with a phone mockup image, a title, and a price tag that bounces in.”</em></li> <li><em>“Make a lower-third bar with white text on a semi-transparent dark background that slides in from the left.”</em></li> <li><em>“Build a 5-second countdown animation with a large number that scales up and fades out each second.”</em></li> <li><em>“Edit the ‘Headline’ layer to use yellow and add a shake animation.”</em></li></ul><!--]--><!----><!--]--><!--]--><!----></div></div> <!--[-1--><!--]--></div><!--]--><!--]--><!----></main> <!--[0--><footer class="border-t py-10"><div class="container mx-auto px-4 sm:px-6 lg:px-8"><div class="grid grid-cols-2 gap-8 sm:grid-cols-4"><div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Tools</p> <ul class="space-y-2 text-sm"><li><a href="../../tools" class="text-muted-foreground transition-colors hover:text-foreground">All Free Tools</a></li><!----> <!--[--><li><a href="../../tools/add-captions/tiktok" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for TikTok</a></li><li><a href="../../tools/add-captions/youtube" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for YouTube</a></li><li><a href="../../tools/add-captions/instagram" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for Instagram</a></li><li><a href="../../tools/add-captions/linkedin" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for LinkedIn</a></li><li><a href="../../tools/add-captions/twitter-x" class="text-muted-foreground transition-colors hover:text-foreground">Auto Captions Generator for X (Twitter)</a></li><li><a href="../../tools/translate-video/youtube" class="text-muted-foreground transition-colors hover:text-foreground">Video Translator &amp; AI Dubbing for YouTube</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">AI Dubbing</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../dub/spanish" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Spanish</a></li><li><a href="../../dub/portuguese" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Portuguese</a></li><li><a href="../../dub/french" class="text-muted-foreground transition-colors hover:text-foreground">Dub to French</a></li><li><a href="../../dub/german" class="text-muted-foreground transition-colors hover:text-foreground">Dub to German</a></li><li><a href="../../dub/italian" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Italian</a></li><li><a href="../../dub/japanese" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Japanese</a></li><li><a href="../../dub/korean" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Korean</a></li><li><a href="../../dub/hindi" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Hindi</a></li><li><a href="../../dub/arabic" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Arabic</a></li><li><a href="../../dub/chinese-simplified" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Chinese (Simplified)</a></li><li><a href="../../dub/dutch" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Dutch</a></li><li><a href="../../dub/polish" class="text-muted-foreground transition-colors hover:text-foreground">Dub to Polish</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Alternatives</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../vs/descript" class="text-muted-foreground transition-colors hover:text-foreground">vs Descript</a></li><li><a href="../../vs/kapwing" class="text-muted-foreground transition-colors hover:text-foreground">vs Kapwing</a></li><li><a href="../../vs/captions-ai" class="text-muted-foreground transition-colors hover:text-foreground">vs Captions.ai</a></li><li><a href="../../vs/submagic" class="text-muted-foreground transition-colors hover:text-foreground">vs Submagic</a></li><li><a href="../../vs/veed" class="text-muted-foreground transition-colors hover:text-foreground">vs VEED.io</a></li><li><a href="../../vs/runway" class="text-muted-foreground transition-colors hover:text-foreground">vs Runway</a></li><li><a href="../../vs/canva" class="text-muted-foreground transition-colors hover:text-foreground">vs Canva Video</a></li><li><a href="../../vs/clipchamp" class="text-muted-foreground transition-colors hover:text-foreground">vs Clipchamp (Microsoft)</a></li><!--]--></ul> <p class="mt-6 mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">Docs</p> <ul class="space-y-2 text-sm"><!--[--><li><a href="../../docs" class="text-muted-foreground transition-colors hover:text-foreground">Get Started</a></li><li><a href="../../docs/mcp" class="text-muted-foreground transition-colors hover:text-foreground">MCP &amp; Agents</a></li><li><a href="../../docs/api" class="text-muted-foreground transition-colors hover:text-foreground">API Reference</a></li><!--]--></ul></div> <div><p class="mb-3 text-xs font-semibold tracking-wide text-muted-foreground uppercase">DevMotion</p> <ul class="space-y-2 text-sm"><li><a href="../../" class="text-muted-foreground transition-colors hover:text-foreground">Home</a></li><!----> <li><a href="../../editor" class="text-muted-foreground transition-colors hover:text-foreground">Open Editor</a></li><!----> <li><a href="../../terms" class="text-muted-foreground transition-colors hover:text-foreground">Terms</a></li><!----> <li><a href="../../privacy" class="text-muted-foreground transition-colors hover:text-foreground">Privacy</a></li><!----> <li><a href="https://devmotion.canny.io/feature-requests" target="_blank" rel="noreferrer" class="text-muted-foreground transition-colors hover:text-foreground">Request a feature</a></li><!----></ul></div></div> <div class="mt-8 border-t pt-6 text-center text-sm text-muted-foreground">Built by <a href="https://twitter.com/emadev01" target="_blank" rel="noreferrer" class="font-medium underline underline-offset-4">EmaDev</a>.</div></div></footer><!--]--></div><!--]--><!--]--><!----><!----><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]-->
259
267
 
260
268
  <script>
261
269
  {
262
- __sveltekit_1ue3tsn = {
270
+ __sveltekit_dmozul = {
263
271
  base: new URL("../..", location).pathname.slice(0, -1),
264
272
  env: null
265
273
  };
@@ -267,11 +275,11 @@
267
275
  const element = document.currentScript.parentElement;
268
276
 
269
277
  import("../../_app/env.js").then(({ env }) => {
270
- __sveltekit_1ue3tsn.env = env;
278
+ __sveltekit_dmozul.env = env;
271
279
 
272
280
  Promise.all([
273
- import("../../_app/immutable/entry/start.DlbgBZQJ.js"),
274
- import("../../_app/immutable/entry/app.DWvKq1JP.js")
281
+ import("../../_app/immutable/entry/start.A0YlQrYf.js"),
282
+ import("../../_app/immutable/entry/app.Bb1-Avnn.js")
275
283
  ]).then(([kit, app]) => {
276
284
  kit.start(app, element, {
277
285
  node_ids: [0, 7, 8, 10, 39],