@atomic-chat/core 0.13.6 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/README.md +1 -1
  2. package/dist/backend/advisor/advisor.d.ts +8 -7
  3. package/dist/backend/advisor/advisor.js +17 -25
  4. package/dist/backend/advisor/advisor.js.map +1 -1
  5. package/dist/backend/catalog/index.d.ts +4 -2
  6. package/dist/backend/catalog/index.js +4 -2
  7. package/dist/backend/catalog/index.js.map +1 -1
  8. package/dist/backend/catalog/manifest.d.ts +5 -51
  9. package/dist/backend/catalog/manifest.js +5 -93
  10. package/dist/backend/catalog/manifest.js.map +1 -1
  11. package/dist/backend/catalog/upstream-releases-baseline.d.ts +2 -0
  12. package/dist/backend/catalog/upstream-releases-baseline.js +12 -0
  13. package/dist/backend/catalog/upstream-releases-baseline.js.map +1 -0
  14. package/dist/backend/catalog/upstream-releases-baseline.json +101 -0
  15. package/dist/backend/catalog/upstream-releases-catalog.d.ts +54 -0
  16. package/dist/backend/catalog/upstream-releases-catalog.js +148 -0
  17. package/dist/backend/catalog/upstream-releases-catalog.js.map +1 -0
  18. package/dist/backend/catalog/upstream-releases.d.ts +75 -0
  19. package/dist/backend/catalog/upstream-releases.js +155 -0
  20. package/dist/backend/catalog/upstream-releases.js.map +1 -0
  21. package/dist/backend/install/service.d.ts +7 -4
  22. package/dist/backend/install/service.js +4 -4
  23. package/dist/backend/install/service.js.map +1 -1
  24. package/dist/cli/commands/serve.js +10 -28
  25. package/dist/cli/commands/serve.js.map +1 -1
  26. package/dist/cli/main.d.ts +1 -1
  27. package/dist/cli/main.js +0 -1
  28. package/dist/cli/main.js.map +1 -1
  29. package/dist/client/control-client.d.ts +7 -19
  30. package/dist/client/control-client.js +9 -29
  31. package/dist/client/control-client.js.map +1 -1
  32. package/dist/cloud/registry.d.ts +14 -1
  33. package/dist/cloud/registry.js +73 -2
  34. package/dist/cloud/registry.js.map +1 -1
  35. package/dist/config/paths.d.ts +4 -3
  36. package/dist/config/paths.js +15 -14
  37. package/dist/config/paths.js.map +1 -1
  38. package/dist/contracts/diffusion.d.ts +45 -18
  39. package/dist/contracts/diffusion.js +1 -1
  40. package/dist/contracts/diffusion.js.map +1 -1
  41. package/dist/contracts/engines.d.ts +1 -1
  42. package/dist/contracts/engines.js +2 -0
  43. package/dist/contracts/engines.js.map +1 -1
  44. package/dist/contracts/errors.d.ts +1 -3
  45. package/dist/contracts/errors.js +16 -0
  46. package/dist/contracts/errors.js.map +1 -1
  47. package/dist/contracts/events.d.ts +11 -6
  48. package/dist/contracts/index.d.ts +1 -1
  49. package/dist/contracts/index.js +1 -1
  50. package/dist/contracts/index.js.map +1 -1
  51. package/dist/contracts/media.d.ts +186 -0
  52. package/dist/contracts/media.js +55 -0
  53. package/dist/contracts/media.js.map +1 -0
  54. package/dist/contracts/session.d.ts +10 -1
  55. package/dist/contracts/session.js +10 -0
  56. package/dist/contracts/session.js.map +1 -1
  57. package/dist/contracts/settings.d.ts +36 -1
  58. package/dist/contracts/settings.js.map +1 -1
  59. package/dist/core/atomic-core.d.ts +5 -5
  60. package/dist/core/atomic-core.js.map +1 -1
  61. package/dist/core/create.js +43 -59
  62. package/dist/core/create.js.map +1 -1
  63. package/dist/core/managed-engines.js +2 -0
  64. package/dist/core/managed-engines.js.map +1 -1
  65. package/dist/core/prism.d.ts +21 -6
  66. package/dist/core/prism.js +44 -0
  67. package/dist/core/prism.js.map +1 -1
  68. package/dist/core/types.d.ts +0 -5
  69. package/dist/core/types.js.map +1 -1
  70. package/dist/diffusion/gallery.d.ts +24 -3
  71. package/dist/diffusion/gallery.js +151 -21
  72. package/dist/diffusion/gallery.js.map +1 -1
  73. package/dist/diffusion/index.d.ts +3 -0
  74. package/dist/diffusion/index.js +3 -0
  75. package/dist/diffusion/index.js.map +1 -1
  76. package/dist/diffusion/jobs.d.ts +6 -1
  77. package/dist/diffusion/jobs.js +6 -1
  78. package/dist/diffusion/jobs.js.map +1 -1
  79. package/dist/diffusion/media-header.d.ts +22 -0
  80. package/dist/diffusion/media-header.js +149 -0
  81. package/dist/diffusion/media-header.js.map +1 -0
  82. package/dist/diffusion/parse.d.ts +3 -1
  83. package/dist/diffusion/parse.js +36 -0
  84. package/dist/diffusion/parse.js.map +1 -1
  85. package/dist/diffusion/recipe.d.ts +10 -1
  86. package/dist/diffusion/recipe.js +85 -21
  87. package/dist/diffusion/recipe.js.map +1 -1
  88. package/dist/diffusion/remote-job.d.ts +76 -0
  89. package/dist/diffusion/remote-job.js +643 -0
  90. package/dist/diffusion/remote-job.js.map +1 -0
  91. package/dist/diffusion/remote-store.d.ts +38 -0
  92. package/dist/diffusion/remote-store.js +91 -0
  93. package/dist/diffusion/remote-store.js.map +1 -0
  94. package/dist/diffusion/service.d.ts +9 -1
  95. package/dist/diffusion/service.js +49 -9
  96. package/dist/diffusion/service.js.map +1 -1
  97. package/dist/diffusion/state.d.ts +13 -1
  98. package/dist/diffusion/state.js +8 -0
  99. package/dist/diffusion/state.js.map +1 -1
  100. package/dist/diffusion/video-gallery.d.ts +11 -4
  101. package/dist/diffusion/video-gallery.js +62 -25
  102. package/dist/diffusion/video-gallery.js.map +1 -1
  103. package/dist/diffusion/video-history.js +4 -1
  104. package/dist/diffusion/video-history.js.map +1 -1
  105. package/dist/diffusion/video-recipe.js +58 -25
  106. package/dist/diffusion/video-recipe.js.map +1 -1
  107. package/dist/diffusion/wiring.d.ts +3 -0
  108. package/dist/diffusion/wiring.js +1 -0
  109. package/dist/diffusion/wiring.js.map +1 -1
  110. package/dist/downloads/downloader.d.ts +1 -18
  111. package/dist/downloads/downloader.js +1 -45
  112. package/dist/downloads/downloader.js.map +1 -1
  113. package/dist/media/adapters/a1111.d.ts +32 -0
  114. package/dist/media/adapters/a1111.js +207 -0
  115. package/dist/media/adapters/a1111.js.map +1 -0
  116. package/dist/media/adapters/aimlapi-videos.d.ts +34 -0
  117. package/dist/media/adapters/aimlapi-videos.js +172 -0
  118. package/dist/media/adapters/aimlapi-videos.js.map +1 -0
  119. package/dist/media/adapters/dashscope-image.d.ts +26 -0
  120. package/dist/media/adapters/dashscope-image.js +160 -0
  121. package/dist/media/adapters/dashscope-image.js.map +1 -0
  122. package/dist/media/adapters/dashscope-video.d.ts +47 -0
  123. package/dist/media/adapters/dashscope-video.js +251 -0
  124. package/dist/media/adapters/dashscope-video.js.map +1 -0
  125. package/dist/media/adapters/gemini-image.d.ts +27 -0
  126. package/dist/media/adapters/gemini-image.js +181 -0
  127. package/dist/media/adapters/gemini-image.js.map +1 -0
  128. package/dist/media/adapters/gemini-veo.d.ts +39 -0
  129. package/dist/media/adapters/gemini-veo.js +196 -0
  130. package/dist/media/adapters/gemini-veo.js.map +1 -0
  131. package/dist/media/adapters/hf-images.d.ts +85 -0
  132. package/dist/media/adapters/hf-images.js +439 -0
  133. package/dist/media/adapters/hf-images.js.map +1 -0
  134. package/dist/media/adapters/hf-videos.d.ts +44 -0
  135. package/dist/media/adapters/hf-videos.js +265 -0
  136. package/dist/media/adapters/hf-videos.js.map +1 -0
  137. package/dist/media/adapters/minimax-image.d.ts +26 -0
  138. package/dist/media/adapters/minimax-image.js +111 -0
  139. package/dist/media/adapters/minimax-image.js.map +1 -0
  140. package/dist/media/adapters/minimax-video-v2.d.ts +34 -0
  141. package/dist/media/adapters/minimax-video-v2.js +191 -0
  142. package/dist/media/adapters/minimax-video-v2.js.map +1 -0
  143. package/dist/media/adapters/minimax-video.d.ts +28 -0
  144. package/dist/media/adapters/minimax-video.js +155 -0
  145. package/dist/media/adapters/minimax-video.js.map +1 -0
  146. package/dist/media/adapters/mistral-agent-image.d.ts +33 -0
  147. package/dist/media/adapters/mistral-agent-image.js +108 -0
  148. package/dist/media/adapters/mistral-agent-image.js.map +1 -0
  149. package/dist/media/adapters/nvidia-genai.d.ts +28 -0
  150. package/dist/media/adapters/nvidia-genai.js +182 -0
  151. package/dist/media/adapters/nvidia-genai.js.map +1 -0
  152. package/dist/media/adapters/openai-images.d.ts +23 -0
  153. package/dist/media/adapters/openai-images.js +164 -0
  154. package/dist/media/adapters/openai-images.js.map +1 -0
  155. package/dist/media/adapters/openai-videos.d.ts +34 -0
  156. package/dist/media/adapters/openai-videos.js +175 -0
  157. package/dist/media/adapters/openai-videos.js.map +1 -0
  158. package/dist/media/adapters/openrouter-images.d.ts +25 -0
  159. package/dist/media/adapters/openrouter-images.js +161 -0
  160. package/dist/media/adapters/openrouter-images.js.map +1 -0
  161. package/dist/media/adapters/openrouter-videos.d.ts +43 -0
  162. package/dist/media/adapters/openrouter-videos.js +208 -0
  163. package/dist/media/adapters/openrouter-videos.js.map +1 -0
  164. package/dist/media/adapters/registry.d.ts +7 -0
  165. package/dist/media/adapters/registry.js +45 -0
  166. package/dist/media/adapters/registry.js.map +1 -0
  167. package/dist/media/adapters/types.d.ts +133 -0
  168. package/dist/media/adapters/types.js +15 -0
  169. package/dist/media/adapters/types.js.map +1 -0
  170. package/dist/media/adapters/xai-images.d.ts +19 -0
  171. package/dist/media/adapters/xai-images.js +83 -0
  172. package/dist/media/adapters/xai-images.js.map +1 -0
  173. package/dist/media/adapters/xai-videos.d.ts +29 -0
  174. package/dist/media/adapters/xai-videos.js +148 -0
  175. package/dist/media/adapters/xai-videos.js.map +1 -0
  176. package/dist/media/catalog-baseline.d.ts +2 -0
  177. package/dist/media/catalog-baseline.js +10 -0
  178. package/dist/media/catalog-baseline.js.map +1 -0
  179. package/dist/media/catalog-baseline.json +1819 -0
  180. package/dist/media/catalog-service.d.ts +42 -0
  181. package/dist/media/catalog-service.js +111 -0
  182. package/dist/media/catalog-service.js.map +1 -0
  183. package/dist/media/catalog.d.ts +50 -0
  184. package/dist/media/catalog.js +315 -0
  185. package/dist/media/catalog.js.map +1 -0
  186. package/dist/media/http.d.ts +125 -0
  187. package/dist/media/http.js +308 -0
  188. package/dist/media/http.js.map +1 -0
  189. package/dist/media/index.d.ts +14 -0
  190. package/dist/media/index.js +15 -0
  191. package/dist/media/index.js.map +1 -0
  192. package/dist/media/mask.d.ts +12 -0
  193. package/dist/media/mask.js +57 -0
  194. package/dist/media/mask.js.map +1 -0
  195. package/dist/media/service.d.ts +42 -0
  196. package/dist/media/service.js +144 -0
  197. package/dist/media/service.js.map +1 -0
  198. package/dist/models/hf.d.ts +3 -16
  199. package/dist/models/hf.js +4 -42
  200. package/dist/models/hf.js.map +1 -1
  201. package/dist/router/resolve.d.ts +15 -4
  202. package/dist/router/resolve.js +25 -3
  203. package/dist/router/resolve.js.map +1 -1
  204. package/dist/runtime/environment/linux-provisioner.js +7 -67
  205. package/dist/runtime/environment/linux-provisioner.js.map +1 -1
  206. package/dist/runtime/environment/runtime-removal-plan.d.ts +19 -0
  207. package/dist/runtime/environment/runtime-removal-plan.js +74 -0
  208. package/dist/runtime/environment/runtime-removal-plan.js.map +1 -0
  209. package/dist/runtime/environment/windows-provisioner.js +20 -4
  210. package/dist/runtime/environment/windows-provisioner.js.map +1 -1
  211. package/dist/runtime/managed-engines/spec.d.ts +2 -2
  212. package/dist/runtime/managed-engines/spec.js +6 -0
  213. package/dist/runtime/managed-engines/spec.js.map +1 -1
  214. package/dist/runtime/managed-models/compatibility.d.ts +10 -0
  215. package/dist/runtime/managed-models/compatibility.js +18 -0
  216. package/dist/runtime/managed-models/compatibility.js.map +1 -1
  217. package/dist/runtime/managed-text/request-rules.d.ts +9 -7
  218. package/dist/runtime/managed-text/request-rules.js +58 -2
  219. package/dist/runtime/managed-text/request-rules.js.map +1 -1
  220. package/dist/runtime/managed-text/setting-values.d.ts +9 -0
  221. package/dist/runtime/managed-text/setting-values.js +44 -0
  222. package/dist/runtime/managed-text/setting-values.js.map +1 -0
  223. package/dist/runtime/sglang/adapter.d.ts +50 -0
  224. package/dist/runtime/sglang/adapter.js +393 -0
  225. package/dist/runtime/sglang/adapter.js.map +1 -0
  226. package/dist/runtime/sglang/engine.d.ts +16 -0
  227. package/dist/runtime/sglang/engine.js +38 -0
  228. package/dist/runtime/sglang/engine.js.map +1 -0
  229. package/dist/runtime/sglang/index.d.ts +11 -0
  230. package/dist/runtime/sglang/index.js +12 -0
  231. package/dist/runtime/sglang/index.js.map +1 -0
  232. package/dist/runtime/sglang/memory.d.ts +64 -0
  233. package/dist/runtime/sglang/memory.js +90 -0
  234. package/dist/runtime/sglang/memory.js.map +1 -0
  235. package/dist/runtime/sglang/settings.d.ts +49 -0
  236. package/dist/runtime/sglang/settings.js +118 -0
  237. package/dist/runtime/sglang/settings.js.map +1 -0
  238. package/dist/runtime/shared/external-sessions.js +1 -0
  239. package/dist/runtime/shared/external-sessions.js.map +1 -1
  240. package/dist/runtime/vllm/adapter.js +2 -47
  241. package/dist/runtime/vllm/adapter.js.map +1 -1
  242. package/dist/runtime/vllm/memory.js +3 -16
  243. package/dist/runtime/vllm/memory.js.map +1 -1
  244. package/dist/runtime/vllm/settings.d.ts +7 -0
  245. package/dist/runtime/vllm/settings.js +2 -30
  246. package/dist/runtime/vllm/settings.js.map +1 -1
  247. package/dist/server/control/router.js +4 -3
  248. package/dist/server/control/router.js.map +1 -1
  249. package/dist/server/control/routes/media.d.ts +9 -0
  250. package/dist/server/control/routes/media.js +24 -0
  251. package/dist/server/control/routes/media.js.map +1 -0
  252. package/dist/server/control/routes/model-compatibility.d.ts +9 -0
  253. package/dist/server/control/routes/model-compatibility.js +31 -0
  254. package/dist/server/control/routes/model-compatibility.js.map +1 -0
  255. package/dist/server/control/types.d.ts +14 -20
  256. package/dist/server/control/types.js.map +1 -1
  257. package/dist/server/http.js +15 -2
  258. package/dist/server/http.js.map +1 -1
  259. package/dist/server/public/images-params.js +18 -1
  260. package/dist/server/public/images-params.js.map +1 -1
  261. package/dist/server/public/images.d.ts +11 -2
  262. package/dist/server/public/images.js +73 -9
  263. package/dist/server/public/images.js.map +1 -1
  264. package/dist/server/public/index.js +7 -1
  265. package/dist/server/public/index.js.map +1 -1
  266. package/dist/server/public/listing.js +1 -0
  267. package/dist/server/public/listing.js.map +1 -1
  268. package/dist/server/public/remote-media.d.ts +51 -0
  269. package/dist/server/public/remote-media.js +225 -0
  270. package/dist/server/public/remote-media.js.map +1 -0
  271. package/dist/server/public/responses.js +4 -2
  272. package/dist/server/public/responses.js.map +1 -1
  273. package/dist/server/public/static-assets.generated.js +1 -1
  274. package/dist/server/public/static-assets.generated.js.map +1 -1
  275. package/dist/server/public/trace.js +2 -0
  276. package/dist/server/public/trace.js.map +1 -1
  277. package/dist/server/public/types.d.ts +5 -1
  278. package/dist/server/public/videos-params.js +13 -3
  279. package/dist/server/public/videos-params.js.map +1 -1
  280. package/dist/server/public/videos.d.ts +1 -0
  281. package/dist/server/public/videos.js +21 -3
  282. package/dist/server/public/videos.js.map +1 -1
  283. package/dist/settings/schema/llamacpp-upstream.json +9 -0
  284. package/dist/settings/schema/sglang.json +251 -0
  285. package/dist/settings/schema.js +27 -1
  286. package/dist/settings/schema.js.map +1 -1
  287. package/dist/version.d.ts +1 -1
  288. package/dist/version.js +1 -1
  289. package/package.json +1 -5
  290. package/src/settings/schema/llamacpp-upstream.json +9 -0
  291. package/src/settings/schema/sglang.json +251 -0
  292. package/dist/backend/catalog/bundled-manifest-baseline.d.ts +0 -2
  293. package/dist/backend/catalog/bundled-manifest-baseline.js +0 -65
  294. package/dist/backend/catalog/bundled-manifest-baseline.js.map +0 -1
  295. package/dist/contracts/model-setup.d.ts +0 -115
  296. package/dist/contracts/model-setup.js +0 -33
  297. package/dist/contracts/model-setup.js.map +0 -1
  298. package/dist/core/model-setup/index.d.ts +0 -4
  299. package/dist/core/model-setup/index.js +0 -5
  300. package/dist/core/model-setup/index.js.map +0 -1
  301. package/dist/core/model-setup/plan.d.ts +0 -56
  302. package/dist/core/model-setup/plan.js +0 -158
  303. package/dist/core/model-setup/plan.js.map +0 -1
  304. package/dist/core/model-setup/service.d.ts +0 -92
  305. package/dist/core/model-setup/service.js +0 -329
  306. package/dist/core/model-setup/service.js.map +0 -1
  307. package/dist/core/model-setup/store.d.ts +0 -29
  308. package/dist/core/model-setup/store.js +0 -116
  309. package/dist/core/model-setup/store.js.map +0 -1
  310. package/dist/core/model-setup/wiring.d.ts +0 -59
  311. package/dist/core/model-setup/wiring.js +0 -132
  312. package/dist/core/model-setup/wiring.js.map +0 -1
  313. package/dist/core/tensorrt-llm.d.ts +0 -169
  314. package/dist/core/tensorrt-llm.js +0 -428
  315. package/dist/core/tensorrt-llm.js.map +0 -1
  316. package/dist/downloads/segmented.d.ts +0 -40
  317. package/dist/downloads/segmented.js +0 -170
  318. package/dist/downloads/segmented.js.map +0 -1
  319. package/dist/runtime/tensorrt-llm/delete.d.ts +0 -15
  320. package/dist/runtime/tensorrt-llm/delete.js +0 -60
  321. package/dist/runtime/tensorrt-llm/delete.js.map +0 -1
  322. package/dist/runtime/tensorrt-llm/guest-files.d.ts +0 -8
  323. package/dist/runtime/tensorrt-llm/guest-files.js +0 -49
  324. package/dist/runtime/tensorrt-llm/guest-files.js.map +0 -1
  325. package/dist/runtime/tensorrt-llm/location.d.ts +0 -20
  326. package/dist/runtime/tensorrt-llm/location.js +0 -48
  327. package/dist/runtime/tensorrt-llm/location.js.map +0 -1
  328. package/dist/runtime/tensorrt-llm/model-dir.d.ts +0 -38
  329. package/dist/runtime/tensorrt-llm/model-dir.js +0 -137
  330. package/dist/runtime/tensorrt-llm/model-dir.js.map +0 -1
  331. package/dist/runtime/tensorrt-llm/quant-format.d.ts +0 -65
  332. package/dist/runtime/tensorrt-llm/quant-format.js +0 -189
  333. package/dist/runtime/tensorrt-llm/quant-format.js.map +0 -1
  334. package/dist/runtime/tensorrt-llm/registry.d.ts +0 -26
  335. package/dist/runtime/tensorrt-llm/registry.js +0 -68
  336. package/dist/runtime/tensorrt-llm/registry.js.map +0 -1
  337. package/dist/runtime/tensorrt-llm/runtime.d.ts +0 -130
  338. package/dist/runtime/tensorrt-llm/runtime.js +0 -395
  339. package/dist/runtime/tensorrt-llm/runtime.js.map +0 -1
  340. package/dist/server/control/routes/model-setups.d.ts +0 -11
  341. package/dist/server/control/routes/model-setups.js +0 -55
  342. package/dist/server/control/routes/model-setups.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../src/downloads/downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../src/downloads/downloader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `a1111`: the Automatic1111 web UI API (`--api`) and the forks that keep it — Forge and Forge Neo.
3
+ * A self-hosted server, usually keyless, registered at its root (`http://127.0.0.1:7860`); a base
4
+ * entered with a trailing `/sdapi/v1` or `/v1` is cut back to the root, and every route below is
5
+ * `{root}/sdapi/v1/...`.
6
+ *
7
+ * - `create` → `POST /sdapi/v1/txt2img`; `transform` and `inpaint` → `POST /sdapi/v1/img2img` with
8
+ * the source as `init_images` and, for `inpaint`, the mask as is (white repaints there too).
9
+ * The checkpoint is picked per request (`override_settings.sd_model_checkpoint`), `n` images are
10
+ * one batch, and the images come back as base64 PNGs.
11
+ * - While a generation runs, `GET /sdapi/v1/progress` is polled about once a second for the
12
+ * fraction; cancelling the job sends `POST /sdapi/v1/interrupt`, best effort.
13
+ * - Listing: `GET /sdapi/v1/sd-models` (its `title` is what `sd_model_checkpoint` takes) and
14
+ * `GET /sdapi/v1/samplers` (missing on some forks; then no samplers are listed).
15
+ *
16
+ * Basic auth (`--api-auth user:pass`) is a custom `Authorization` header, or the registration's key
17
+ * as `user:pass`, sent as `Basic` only when no custom `Authorization` is set.
18
+ */
19
+ import type { LiveMediaModel } from '../catalog.js';
20
+ import type { MediaContext } from '../http.js';
21
+ import type { GeneratedImage, ImageAdapter, ImageGenerationJob } from './types.js';
22
+ /** The server root: the registered base without trailing slashes, `/sdapi/v1` or `/v1`. */
23
+ export declare function a1111Root(baseUrl: string): string;
24
+ /** `Basic <base64(key)>` from the registration's key, unless a custom `Authorization` is set. */
25
+ export declare function a1111Auth(ctx: Pick<MediaContext, 'apiKey' | 'customHeaders'>): Record<string, string>;
26
+ /** The `txt2img` / `img2img` body of a job. The source and the mask must be there for their workflows. */
27
+ export declare function a1111Body(job: ImageGenerationJob): Record<string, unknown>;
28
+ /** The images of an answer: `n` of them, without the grid a batch may put first. */
29
+ export declare function a1111Images(ctx: Pick<MediaContext, 'provider'>, json: unknown, n: number): GeneratedImage[];
30
+ /** The checkpoints of `/sd-models`, each with the samplers of `/samplers`. */
31
+ export declare function liveModelsFromA1111(models: unknown, samplers: unknown): LiveMediaModel[];
32
+ export declare const A1111: ImageAdapter;
@@ -0,0 +1,207 @@
1
+ /**
2
+ * `a1111`: the Automatic1111 web UI API (`--api`) and the forks that keep it — Forge and Forge Neo.
3
+ * A self-hosted server, usually keyless, registered at its root (`http://127.0.0.1:7860`); a base
4
+ * entered with a trailing `/sdapi/v1` or `/v1` is cut back to the root, and every route below is
5
+ * `{root}/sdapi/v1/...`.
6
+ *
7
+ * - `create` → `POST /sdapi/v1/txt2img`; `transform` and `inpaint` → `POST /sdapi/v1/img2img` with
8
+ * the source as `init_images` and, for `inpaint`, the mask as is (white repaints there too).
9
+ * The checkpoint is picked per request (`override_settings.sd_model_checkpoint`), `n` images are
10
+ * one batch, and the images come back as base64 PNGs.
11
+ * - While a generation runs, `GET /sdapi/v1/progress` is polled about once a second for the
12
+ * fraction; cancelling the job sends `POST /sdapi/v1/interrupt`, best effort.
13
+ * - Listing: `GET /sdapi/v1/sd-models` (its `title` is what `sd_model_checkpoint` takes) and
14
+ * `GET /sdapi/v1/samplers` (missing on some forks; then no samplers are listed).
15
+ *
16
+ * Basic auth (`--api-auth user:pass`) is a custom `Authorization` header, or the registration's key
17
+ * as `user:pass`, sent as `Basic` only when no custom `Authorization` is set.
18
+ */
19
+ import { callProvider, decodeBase64Image, GENERATE_TIMEOUT_MS, joinUrl, parseWxH, remoteError, remoteHttpError, } from '../http.js';
20
+ const asObject = (value) => value !== null && typeof value === 'object' && !Array.isArray(value) ? value : {};
21
+ const text = (value) => typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined;
22
+ /** How often the progress route is asked while a generation runs. */
23
+ const PROGRESS_INTERVAL_MS = 1000;
24
+ /** A progress poll or an interrupt that takes longer than this is dropped. */
25
+ const SIDE_CALL_TIMEOUT_MS = 10_000;
26
+ /** The server root: the registered base without trailing slashes, `/sdapi/v1` or `/v1`. */
27
+ export function a1111Root(baseUrl) {
28
+ return baseUrl.replace(/\/+$/, '').replace(/(\/sdapi)?\/v1$/i, '');
29
+ }
30
+ /** `Basic <base64(key)>` from the registration's key, unless a custom `Authorization` is set. */
31
+ export function a1111Auth(ctx) {
32
+ const key = ctx.apiKey?.trim();
33
+ if (!key || ctx.customHeaders.some(({ header }) => header.toLowerCase() === 'authorization'))
34
+ return {};
35
+ return { Authorization: `Basic ${Buffer.from(key, 'utf8').toString('base64')}` };
36
+ }
37
+ /** One call to the server: its own auth, and a 404 read as "no API here". */
38
+ async function a1111Call(ctx, path, options = {}) {
39
+ const accept = options.accept ?? [];
40
+ const answer = await callProvider(ctx, joinUrl(a1111Root(ctx.baseUrl), path), {
41
+ ...options,
42
+ auth: 'none',
43
+ headers: { ...a1111Auth(ctx), ...options.headers },
44
+ accept: accept.includes(404) ? accept : [...accept, 404],
45
+ });
46
+ if (answer.status === 404 && !accept.includes(404))
47
+ throw remoteError('REMOTE_NOT_CONFIGURED', `${ctx.provider} has no Automatic1111 API at this address; start the server with --api.`, `HTTP 404 ${path}`);
48
+ return answer;
49
+ }
50
+ /** The job's pixel size: the form's width and height, its `WxH`, else the model's default. */
51
+ function pixelSize(job) {
52
+ if (job.width && job.height)
53
+ return { width: job.width, height: job.height };
54
+ const listed = parseWxH(job.size);
55
+ if (listed)
56
+ return listed;
57
+ const size = job.model.params.size;
58
+ if (size?.kind === 'range' && size.default_width && size.default_height)
59
+ return { width: size.default_width, height: size.default_height };
60
+ return undefined;
61
+ }
62
+ /** The `txt2img` / `img2img` body of a job. The source and the mask must be there for their workflows. */
63
+ export function a1111Body(job) {
64
+ const params = job.model.params;
65
+ const body = { prompt: job.prompt, negative_prompt: job.negativePrompt ?? '' };
66
+ const size = pixelSize(job);
67
+ if (size)
68
+ Object.assign(body, size);
69
+ const steps = job.steps ?? params.steps?.default;
70
+ if (steps !== undefined)
71
+ body['steps'] = steps;
72
+ const cfg = job.cfgScale ?? params.cfg?.default;
73
+ if (cfg !== undefined)
74
+ body['cfg_scale'] = cfg;
75
+ // Forge's distilled CFG (FLUX); the original A1111 ignores the field.
76
+ if (job.guidance !== undefined)
77
+ body['distilled_cfg_scale'] = job.guidance;
78
+ if (job.sampler)
79
+ body['sampler_name'] = job.sampler;
80
+ body['seed'] = job.seed !== undefined && job.seed >= 0 ? Math.trunc(job.seed) : -1;
81
+ body['batch_size'] = Math.max(1, job.n);
82
+ body['n_iter'] = 1;
83
+ body['override_settings'] = { sd_model_checkpoint: job.model.id };
84
+ body['override_settings_restore_afterwards'] = true;
85
+ body['send_images'] = true;
86
+ body['save_images'] = false;
87
+ if (job.workflow === 'transform' || job.workflow === 'inpaint') {
88
+ const source = job.images[0];
89
+ if (!source)
90
+ throw remoteError('REMOTE_UNSUPPORTED', 'This workflow needs a source image.', job.workflow);
91
+ body['init_images'] = [source.bytes.toString('base64')];
92
+ body['denoising_strength'] = job.strength ?? 0.75;
93
+ }
94
+ if (job.workflow === 'inpaint') {
95
+ if (!job.mask)
96
+ throw remoteError('REMOTE_UNSUPPORTED', 'Inpainting needs a mask.', job.workflow);
97
+ body['mask'] = job.mask.bytes.toString('base64');
98
+ body['inpainting_fill'] = 1;
99
+ body['inpaint_full_res'] = false;
100
+ body['mask_blur'] = 4;
101
+ }
102
+ return body;
103
+ }
104
+ /** The images of an answer: `n` of them, without the grid a batch may put first. */
105
+ export function a1111Images(ctx, json, n) {
106
+ const listed = (Array.isArray(asObject(json)['images']) ? asObject(json)['images'] : []).filter((item) => typeof item === 'string' && item !== '');
107
+ const count = Math.max(1, n);
108
+ const images = count > 1 && listed.length === count + 1 ? listed.slice(1) : listed;
109
+ const out = images.slice(0, count).map((payload) => decodeBase64Image(payload));
110
+ if (out.length === 0)
111
+ throw remoteError('REMOTE_UNAVAILABLE', `${ctx.provider} answered without an image.`);
112
+ return out;
113
+ }
114
+ /** The checkpoints of `/sd-models`, each with the samplers of `/samplers`. */
115
+ export function liveModelsFromA1111(models, samplers) {
116
+ const names = (Array.isArray(samplers) ? samplers : [])
117
+ .map((item) => text(asObject(item)['name']))
118
+ .filter((name) => name !== undefined);
119
+ const out = [];
120
+ const seen = new Set();
121
+ for (const item of Array.isArray(models) ? models : []) {
122
+ const entry = asObject(item);
123
+ const id = text(entry['title']) ?? text(entry['model_name']);
124
+ if (!id || seen.has(id))
125
+ continue;
126
+ seen.add(id);
127
+ const model = { id, name: text(entry['model_name']) ?? id };
128
+ if (names.length > 0)
129
+ model.samplers = [...new Set(names)];
130
+ out.push(model);
131
+ }
132
+ return out;
133
+ }
134
+ /**
135
+ * Polls the progress route until `finished` settles, reporting the fraction. Best effort: a failed
136
+ * poll is skipped, a server without the route stops the polling.
137
+ */
138
+ async function followProgress(ctx, finished, report) {
139
+ let over = false;
140
+ void finished.then(() => {
141
+ over = true;
142
+ });
143
+ for (;;) {
144
+ const woke = await Promise.race([
145
+ ctx.sleep(PROGRESS_INTERVAL_MS).then(() => true, () => false),
146
+ finished.then(() => false),
147
+ ]);
148
+ if (!woke || over)
149
+ return;
150
+ let answer;
151
+ try {
152
+ answer = await a1111Call(ctx, '/sdapi/v1/progress?skip_current_image=true', {
153
+ accept: [404, 405],
154
+ timeoutMs: SIDE_CALL_TIMEOUT_MS,
155
+ });
156
+ }
157
+ catch {
158
+ continue;
159
+ }
160
+ if (over || answer.status === 404 || answer.status === 405)
161
+ return;
162
+ const fraction = asObject(answer.json)['progress'];
163
+ if (typeof fraction === 'number' && Number.isFinite(fraction) && fraction > 0)
164
+ report({ phase: 'generating', fraction: Math.min(fraction, 1) });
165
+ }
166
+ }
167
+ /** Stops the server's current generation, best effort and without waiting. */
168
+ function interrupt(ctx) {
169
+ const quiet = { ...ctx, signal: new AbortController().signal };
170
+ void a1111Call(quiet, '/sdapi/v1/interrupt', { method: 'POST', timeoutMs: SIDE_CALL_TIMEOUT_MS }).catch(() => undefined);
171
+ }
172
+ export const A1111 = {
173
+ dialect: 'a1111',
174
+ kind: 'image',
175
+ async listModels(ctx) {
176
+ const models = await a1111Call(ctx, '/sdapi/v1/sd-models');
177
+ const samplers = await a1111Call(ctx, '/sdapi/v1/samplers', { accept: [404] });
178
+ return liveModelsFromA1111(models.json, samplers.status === 404 ? [] : samplers.json);
179
+ },
180
+ async generate(ctx, job, report) {
181
+ report({ phase: 'generating' });
182
+ if (job.workflow !== 'create' && job.workflow !== 'transform' && job.workflow !== 'inpaint')
183
+ throw remoteError('REMOTE_UNSUPPORTED', 'Automatic1111 cannot do that workflow here.', job.workflow);
184
+ const body = a1111Body(job);
185
+ const route = job.workflow === 'create' ? '/sdapi/v1/txt2img' : '/sdapi/v1/img2img';
186
+ const onAbort = () => interrupt(ctx);
187
+ ctx.signal.addEventListener('abort', onAbort, { once: true });
188
+ try {
189
+ const call = a1111Call(ctx, route, { json: body, timeoutMs: GENERATE_TIMEOUT_MS, accept: [500] });
190
+ void followProgress(ctx, call.then(() => undefined, () => undefined), report).catch(() => undefined);
191
+ const answer = await call;
192
+ if (answer.status === 500) {
193
+ // A1111 puts the exception class in `error` and its words in `errors`.
194
+ const fields = asObject(answer.json);
195
+ const said = [text(fields['error']), text(fields['errors']) ?? text(fields['detail'])]
196
+ .filter(Boolean)
197
+ .join(': ');
198
+ throw remoteHttpError(ctx.provider, 500, said ? { message: said } : answer.json, answer.text);
199
+ }
200
+ return a1111Images(ctx, answer.json, job.n);
201
+ }
202
+ finally {
203
+ ctx.signal.removeEventListener('abort', onAbort);
204
+ }
205
+ },
206
+ };
207
+ //# sourceMappingURL=a1111.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a1111.js","sourceRoot":"","sources":["../../../src/media/adapters/a1111.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `aimlapi-videos`: AIMLAPI's video API. The provider is registered with `https://api.aimlapi.com/v1`;
3
+ * video lives on `/v2` of the same server, so `{video}` is the base with its trailing version
4
+ * segment swapped for `/v2/video/generations` (`https://api.aimlapi.com/v2/video/generations`).
5
+ *
6
+ * - submit: `POST {video}`, JSON `{model, prompt, duration, aspect_ratio, resolution, generate_audio,
7
+ * seed, negative_prompt, image_url}` → `{id, status}`. The first frame goes as a data URL in
8
+ * `image_url` (the field most of its image-to-video models take), or in the field the model's
9
+ * `options.image_field` names; a last frame only into the field `options.last_frame_field` names.
10
+ * - poll: `GET {video}?generation_id={id}` → `queued | generating | completed | error` (also
11
+ * `waiting`, `active`), `video: {url}`, `error: {name, message}`.
12
+ * - download: `video.url`, a file on AIMLAPI's CDN; off the API's origin it goes without the key.
13
+ * - models: `GET {base}/models`, the entries typed `internal/video-generations/submit`. An id that
14
+ * says image to video (`-i2v`, `image-to-video`) takes only that workflow, one that says text to
15
+ * video only `create`; models that need a video, references or a voice are left out.
16
+ *
17
+ * No cancel: AIMLAPI has none.
18
+ */
19
+ import type { AtomicCoreError } from '../../contracts/index.js';
20
+ import type { LiveMediaModel } from '../catalog.js';
21
+ import type { VideoAdapter, VideoGenerationJob, VideoPoll } from './types.js';
22
+ type Fields = Record<string, unknown>;
23
+ /** `POST`/`GET` URL of AIMLAPI's video API: the registered base with `/v2/video/generations` for its version. */
24
+ export declare function aimlapiVideoUrl(baseUrl: string): string;
25
+ /** The submit body: each field only when the job set it and the model offers it; frames as data URLs. */
26
+ export declare function aimlapiVideoBody(job: VideoGenerationJob, provider?: string): Fields;
27
+ /** A generation's `error: {name, message}` as the closest `REMOTE_*` code. */
28
+ export declare function aimlapiVideoError(provider: string, error: unknown): AtomicCoreError;
29
+ /** One generation answer (the submit's or a poll's) as a poll result. */
30
+ export declare function readAimlapiVideo(provider: string, json: unknown): VideoPoll;
31
+ /** The video models of AIMLAPI's `GET {base}/models`, with the workflow their id names. */
32
+ export declare function aimlapiVideoModels(json: unknown): LiveMediaModel[];
33
+ export declare const AIMLAPI_VIDEOS: VideoAdapter;
34
+ export {};
@@ -0,0 +1,172 @@
1
+ /**
2
+ * `aimlapi-videos`: AIMLAPI's video API. The provider is registered with `https://api.aimlapi.com/v1`;
3
+ * video lives on `/v2` of the same server, so `{video}` is the base with its trailing version
4
+ * segment swapped for `/v2/video/generations` (`https://api.aimlapi.com/v2/video/generations`).
5
+ *
6
+ * - submit: `POST {video}`, JSON `{model, prompt, duration, aspect_ratio, resolution, generate_audio,
7
+ * seed, negative_prompt, image_url}` → `{id, status}`. The first frame goes as a data URL in
8
+ * `image_url` (the field most of its image-to-video models take), or in the field the model's
9
+ * `options.image_field` names; a last frame only into the field `options.last_frame_field` names.
10
+ * - poll: `GET {video}?generation_id={id}` → `queued | generating | completed | error` (also
11
+ * `waiting`, `active`), `video: {url}`, `error: {name, message}`.
12
+ * - download: `video.url`, a file on AIMLAPI's CDN; off the API's origin it goes without the key.
13
+ * - models: `GET {base}/models`, the entries typed `internal/video-generations/submit`. An id that
14
+ * says image to video (`-i2v`, `image-to-video`) takes only that workflow, one that says text to
15
+ * video only `create`; models that need a video, references or a voice are left out.
16
+ *
17
+ * No cancel: AIMLAPI has none.
18
+ */
19
+ import { callProvider, downloadResult, joinUrl, MAX_VIDEO_BYTES, remoteError, sniffVideoMime, toDataUrl, } from '../http.js';
20
+ const isObject = (value) => value !== null && typeof value === 'object' && !Array.isArray(value);
21
+ const BLOCKED = /moderation|content[ _-]?polic|safety|nsfw|sensitive|prohibited|blocked|flagged/i;
22
+ const VIDEO_TYPE = 'internal/video-generations/submit';
23
+ const IMAGE_TO_VIDEO = /(^|[-/_.])(i2v|image-to-video)([-/_.]|$)/i;
24
+ const TEXT_TO_VIDEO = /(^|[-/_.])(t2v|text-to-video)([-/_.]|$)/i;
25
+ /** Models whose input is a video, reference images, a pose or a voice: nothing the form gives. */
26
+ const OTHER_INPUTS = /(^|[-/_.])(v2v|r2v|video-to-video|reference-to-video|extend-video|video-edit|motion-control|vace|foley|avatar|omnihuman|animate)([-/_.]|$)/i;
27
+ /** `POST`/`GET` URL of AIMLAPI's video API: the registered base with `/v2/video/generations` for its version. */
28
+ export function aimlapiVideoUrl(baseUrl) {
29
+ return joinUrl(baseUrl.replace(/\/+$/, '').replace(/\/v\d+$/, ''), '/v2/video/generations');
30
+ }
31
+ /** The submit body: each field only when the job set it and the model offers it; frames as data URLs. */
32
+ export function aimlapiVideoBody(job, provider = 'AIMLAPI') {
33
+ const params = job.model.params;
34
+ const options = job.model.options ?? {};
35
+ const body = { model: job.model.id, prompt: job.prompt };
36
+ if (job.durationSecs !== undefined && params.durations)
37
+ body['duration'] = Math.round(job.durationSecs);
38
+ if (job.aspectRatio && params.aspect_ratios)
39
+ body['aspect_ratio'] = job.aspectRatio;
40
+ if (job.resolution && params.resolutions)
41
+ body['resolution'] = job.resolution;
42
+ if (job.generateAudio !== undefined && params.audio)
43
+ body['generate_audio'] = job.generateAudio;
44
+ if (job.seed !== undefined && params.seed)
45
+ body['seed'] = job.seed;
46
+ if (job.negativePrompt && params.negative_prompt)
47
+ body['negative_prompt'] = job.negativePrompt;
48
+ if (job.workflow === 'image-to-video') {
49
+ if (!job.firstFrame)
50
+ throw remoteError('REMOTE_UNSUPPORTED', 'Image to video needs a first frame.', job.workflow);
51
+ const field = typeof options['image_field'] === 'string' && options['image_field']
52
+ ? options['image_field']
53
+ : 'image_url';
54
+ body[field] = toDataUrl(job.firstFrame.bytes, job.firstFrame.mime);
55
+ if (job.lastFrame) {
56
+ const last = options['last_frame_field'];
57
+ if (!params.last_frame || typeof last !== 'string' || last === '')
58
+ throw remoteError('REMOTE_UNSUPPORTED', `${provider} takes no last frame for this model.`, job.model.id);
59
+ body[last] = toDataUrl(job.lastFrame.bytes, job.lastFrame.mime);
60
+ }
61
+ }
62
+ return body;
63
+ }
64
+ /** A generation's `error: {name, message}` as the closest `REMOTE_*` code. */
65
+ export function aimlapiVideoError(provider, error) {
66
+ const fields = isObject(error) ? error : {};
67
+ const name = typeof fields['name'] === 'string' ? fields['name'] : '';
68
+ const said = typeof fields['message'] === 'string' && fields['message'].trim() !== ''
69
+ ? fields['message'].trim()
70
+ : typeof error === 'string' && error.trim() !== ''
71
+ ? error.trim()
72
+ : '';
73
+ const details = [name, said].filter(Boolean).join(': ') || undefined;
74
+ if (BLOCKED.test(`${name} ${said}`))
75
+ return remoteError('REMOTE_CONTENT_BLOCKED', `${provider} refused the request: ${said || name}`, details);
76
+ if (/invalid|validation|bad.?request|unprocessable/i.test(name))
77
+ return remoteError('REMOTE_REJECTED', said ? `${provider}: ${said}` : `${provider} refused the request.`, details);
78
+ return remoteError('REMOTE_UNAVAILABLE', said ? `${provider} failed to make the clip: ${said}` : `${provider} failed to make the clip.`, details);
79
+ }
80
+ /** One generation answer (the submit's or a poll's) as a poll result. */
81
+ export function readAimlapiVideo(provider, json) {
82
+ const fields = isObject(json) ? json : {};
83
+ const status = typeof fields['status'] === 'string' ? fields['status'].toLowerCase() : '';
84
+ switch (status) {
85
+ case 'queued':
86
+ case 'waiting':
87
+ case 'pending':
88
+ return { state: 'queued' };
89
+ case 'completed':
90
+ case 'succeeded':
91
+ case 'success': {
92
+ const video = fields['video'];
93
+ const url = isObject(video) && typeof video['url'] === 'string'
94
+ ? video['url']
95
+ : typeof video === 'string'
96
+ ? video
97
+ : '';
98
+ return url !== ''
99
+ ? { state: 'completed', result: { url } }
100
+ : {
101
+ state: 'failed',
102
+ error: remoteError('REMOTE_UNAVAILABLE', `${provider} finished without a clip.`),
103
+ };
104
+ }
105
+ case 'error':
106
+ case 'failed':
107
+ return { state: 'failed', error: aimlapiVideoError(provider, fields['error']) };
108
+ default:
109
+ // `generating`, `active`, and whatever comes next.
110
+ return { state: 'running' };
111
+ }
112
+ }
113
+ /** The video models of AIMLAPI's `GET {base}/models`, with the workflow their id names. */
114
+ export function aimlapiVideoModels(json) {
115
+ const data = isObject(json) ? json['data'] : json;
116
+ const out = [];
117
+ const seen = new Set();
118
+ for (const item of Array.isArray(data) ? data : []) {
119
+ if (!isObject(item) || item['type'] !== VIDEO_TYPE)
120
+ continue;
121
+ const id = item['id'];
122
+ if (typeof id !== 'string' || id === '' || seen.has(id) || OTHER_INPUTS.test(id))
123
+ continue;
124
+ seen.add(id);
125
+ const model = { id };
126
+ const info = isObject(item['info']) ? item['info'] : {};
127
+ if (typeof info['name'] === 'string' && info['name'] !== '')
128
+ model.name = info['name'];
129
+ if (IMAGE_TO_VIDEO.test(id))
130
+ model.workflows = ['image-to-video'];
131
+ else if (TEXT_TO_VIDEO.test(id))
132
+ model.workflows = ['create'];
133
+ out.push(model);
134
+ }
135
+ return out;
136
+ }
137
+ export const AIMLAPI_VIDEOS = {
138
+ dialect: 'aimlapi-videos',
139
+ kind: 'video',
140
+ pollIntervalMs: { first: 5_000, max: 20_000 },
141
+ async listModels(ctx) {
142
+ const answer = await callProvider(ctx, joinUrl(ctx.baseUrl, '/models'));
143
+ return aimlapiVideoModels(answer.json);
144
+ },
145
+ async submit(ctx, job) {
146
+ const body = aimlapiVideoBody(job, ctx.provider);
147
+ const answer = await callProvider(ctx, aimlapiVideoUrl(ctx.baseUrl), { json: body });
148
+ const fields = isObject(answer.json) ? answer.json : {};
149
+ const id = fields['id'] ?? fields['generation_id'];
150
+ if (typeof id !== 'string' || id === '')
151
+ throw remoteError('REMOTE_UNAVAILABLE', `${ctx.provider} answered without a generation id.`, answer.text.slice(0, 500));
152
+ const status = typeof fields['status'] === 'string' ? fields['status'].toLowerCase() : '';
153
+ if (status === 'error' || status === 'failed')
154
+ throw aimlapiVideoError(ctx.provider, fields['error']);
155
+ return { id };
156
+ },
157
+ async poll(ctx, submission) {
158
+ const url = `${aimlapiVideoUrl(ctx.baseUrl)}?generation_id=${encodeURIComponent(submission.id)}`;
159
+ const answer = await callProvider(ctx, url);
160
+ return readAimlapiVideo(ctx.provider, answer.json);
161
+ },
162
+ async download(ctx, _submission, result) {
163
+ if (!result.url)
164
+ throw remoteError('REMOTE_UNAVAILABLE', `${ctx.provider} gave no clip to download.`);
165
+ const file = await downloadResult(ctx, result.url, { maxBytes: MAX_VIDEO_BYTES, what: 'video' });
166
+ const mime = sniffVideoMime(file.bytes);
167
+ if (!mime)
168
+ throw remoteError('REMOTE_UNAVAILABLE', `${ctx.provider} returned a file that is not a video.`);
169
+ return { bytes: file.bytes, mime };
170
+ },
171
+ };
172
+ //# sourceMappingURL=aimlapi-videos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aimlapi-videos.js","sourceRoot":"","sources":["../../../src/media/adapters/aimlapi-videos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * `dashscope-image`: Alibaba Model Studio (DashScope) image models — Qwen-Image and Wan image — on the
3
+ * native API, Bearer key.
4
+ *
5
+ * The provider is registered with its OpenAI-compatible base
6
+ * `https://dashscope-intl.aliyuncs.com/compatible-mode/v1`; the native API lives on the same origin
7
+ * (the base cut after its host) under `/api/v1`. Every workflow (`create`, `edit`, `reference`) is
8
+ * the synchronous `POST {origin}/api/v1/services/aigc/multimodal-generation/generation`: one user
9
+ * message whose content is the input images (data URLs, the source first) and then the prompt. The
10
+ * answer points at signed image URLs on Alibaba's storage, downloaded without the key. The listing is
11
+ * `GET {origin}/api/v1/models?capabilities=IG`.
12
+ */
13
+ import type { AtomicCoreError } from '../../contracts/index.js';
14
+ import type { LiveMediaModel } from '../catalog.js';
15
+ import type { ImageAdapter, ImageGenerationJob } from './types.js';
16
+ /** The native API's origin from the registered base: everything after the host goes. */
17
+ export declare function dashscopeOrigin(baseUrl: string): string;
18
+ /** The JSON body of a multimodal generation. */
19
+ export declare function dashscopeImageBody(job: ImageGenerationJob): Record<string, unknown>;
20
+ /** Every image URL of an answer, across all its choices. */
21
+ export declare function dashscopeImageUrls(json: unknown): string[];
22
+ /** DashScope's error body (`{code, message, request_id}`) as the closest `REMOTE_*` error. */
23
+ export declare function dashscopeError(provider: string, status: number, json: unknown, body?: string): AtomicCoreError;
24
+ /** The models of the native listing (`output.models[]`, or `data[]`), by `model` or `id`. */
25
+ export declare function dashscopeImageModels(json: unknown): LiveMediaModel[];
26
+ export declare const DASHSCOPE_IMAGE: ImageAdapter;