@runware/schemas 0.0.0-20260510231619

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 (401) hide show
  1. package/dist/response-map.json +1902 -0
  2. package/dist/schemas/requests/architectures/exactly-illustrative.json +252 -0
  3. package/dist/schemas/requests/architectures/flux-1-dev.json +1103 -0
  4. package/dist/schemas/requests/architectures/flux-1-kontext-dev.json +855 -0
  5. package/dist/schemas/requests/architectures/flux-1-schnell.json +911 -0
  6. package/dist/schemas/requests/architectures/illustrious.json +893 -0
  7. package/dist/schemas/requests/architectures/noobai.json +893 -0
  8. package/dist/schemas/requests/architectures/pony.json +893 -0
  9. package/dist/schemas/requests/architectures/sd-1-5-distilled.json +893 -0
  10. package/dist/schemas/requests/architectures/sd-1-5-hyper.json +893 -0
  11. package/dist/schemas/requests/architectures/sd-1-5-lcm.json +893 -0
  12. package/dist/schemas/requests/architectures/sd-1-5.json +893 -0
  13. package/dist/schemas/requests/architectures/sd-2-1.json +893 -0
  14. package/dist/schemas/requests/architectures/sd3.json +847 -0
  15. package/dist/schemas/requests/architectures/sdxl-distilled.json +893 -0
  16. package/dist/schemas/requests/architectures/sdxl-hyper.json +893 -0
  17. package/dist/schemas/requests/architectures/sdxl-lcm.json +893 -0
  18. package/dist/schemas/requests/architectures/sdxl-lightning.json +893 -0
  19. package/dist/schemas/requests/architectures/sdxl-turbo.json +893 -0
  20. package/dist/schemas/requests/architectures/sdxl.json +990 -0
  21. package/dist/schemas/requests/architectures/z-image-turbo.json +730 -0
  22. package/dist/schemas/requests/architectures/z-image.json +730 -0
  23. package/dist/schemas/requests/models/alibaba/alibaba-happyhorse-1-0.json +709 -0
  24. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-2-0-pro.json +257 -0
  25. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-2-0.json +257 -0
  26. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-2512.json +740 -0
  27. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-edit-plus.json +571 -0
  28. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-edit.json +572 -0
  29. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image-layered.json +571 -0
  30. package/dist/schemas/requests/models/alibaba/alibaba-qwen-image.json +744 -0
  31. package/dist/schemas/requests/models/alibaba/alibaba-qwen2-5-vl-3b-instruct.json +136 -0
  32. package/dist/schemas/requests/models/alibaba/alibaba-qwen2-5-vl-7b-instruct.json +136 -0
  33. package/dist/schemas/requests/models/alibaba/alibaba-qwen3-5-27b.json +281 -0
  34. package/dist/schemas/requests/models/alibaba/alibaba-qwen3-5-397b.json +281 -0
  35. package/dist/schemas/requests/models/alibaba/alibaba-qwen3-tts-1-7b-base.json +815 -0
  36. package/dist/schemas/requests/models/alibaba/alibaba-qwen3-tts-1-7b-customvoice.json +759 -0
  37. package/dist/schemas/requests/models/alibaba/alibaba-qwen3-tts-1-7b-voicedesign.json +749 -0
  38. package/dist/schemas/requests/models/alibaba/alibaba-wan2-2-a14b-turbo.json +829 -0
  39. package/dist/schemas/requests/models/alibaba/alibaba-wan2-2-a14b.json +829 -0
  40. package/dist/schemas/requests/models/alibaba/alibaba-wan2-2-animate.json +848 -0
  41. package/dist/schemas/requests/models/alibaba/alibaba-wan2-5-preview-image.json +191 -0
  42. package/dist/schemas/requests/models/alibaba/alibaba-wan2-5-preview.json +568 -0
  43. package/dist/schemas/requests/models/alibaba/alibaba-wan2-6-flash.json +587 -0
  44. package/dist/schemas/requests/models/alibaba/alibaba-wan2-6-image.json +238 -0
  45. package/dist/schemas/requests/models/alibaba/alibaba-wan2-6.json +640 -0
  46. package/dist/schemas/requests/models/alibaba/alibaba-wan2-7-image-pro.json +364 -0
  47. package/dist/schemas/requests/models/alibaba/alibaba-wan2-7-image.json +340 -0
  48. package/dist/schemas/requests/models/alibaba/alibaba-wan2-7.json +685 -0
  49. package/dist/schemas/requests/models/alibaba/alibaba-z-image-turbo.json +730 -0
  50. package/dist/schemas/requests/models/alibaba/alibaba-z-image.json +730 -0
  51. package/dist/schemas/requests/models/alibaba/index.json +15134 -0
  52. package/dist/schemas/requests/models/anthropic/anthropic-claude-haiku-4-5.json +370 -0
  53. package/dist/schemas/requests/models/anthropic/anthropic-claude-opus-4-7.json +373 -0
  54. package/dist/schemas/requests/models/anthropic/anthropic-claude-sonnet-4-6.json +372 -0
  55. package/dist/schemas/requests/models/anthropic/index.json +1117 -0
  56. package/dist/schemas/requests/models/bfl/bfl-flux-1-1-pro-ultra.json +317 -0
  57. package/dist/schemas/requests/models/bfl/bfl-flux-1-1-pro.json +214 -0
  58. package/dist/schemas/requests/models/bfl/bfl-flux-1-dev.json +1103 -0
  59. package/dist/schemas/requests/models/bfl/bfl-flux-1-expand-pro.json +266 -0
  60. package/dist/schemas/requests/models/bfl/bfl-flux-1-fill-pro.json +252 -0
  61. package/dist/schemas/requests/models/bfl/bfl-flux-1-kontext-dev.json +855 -0
  62. package/dist/schemas/requests/models/bfl/bfl-flux-1-kontext-max.json +345 -0
  63. package/dist/schemas/requests/models/bfl/bfl-flux-1-kontext-pro.json +345 -0
  64. package/dist/schemas/requests/models/bfl/bfl-flux-1-schnell.json +911 -0
  65. package/dist/schemas/requests/models/bfl/bfl-flux-2-dev.json +569 -0
  66. package/dist/schemas/requests/models/bfl/bfl-flux-2-flex.json +264 -0
  67. package/dist/schemas/requests/models/bfl/bfl-flux-2-klein-4b-base.json +570 -0
  68. package/dist/schemas/requests/models/bfl/bfl-flux-2-klein-4b.json +570 -0
  69. package/dist/schemas/requests/models/bfl/bfl-flux-2-klein-9b-base.json +570 -0
  70. package/dist/schemas/requests/models/bfl/bfl-flux-2-klein-9b-kv.json +570 -0
  71. package/dist/schemas/requests/models/bfl/bfl-flux-2-klein-9b.json +570 -0
  72. package/dist/schemas/requests/models/bfl/bfl-flux-2-max.json +248 -0
  73. package/dist/schemas/requests/models/bfl/bfl-flux-2-pro.json +248 -0
  74. package/dist/schemas/requests/models/bfl/index.json +8774 -0
  75. package/dist/schemas/requests/models/bria/bria-3-2.json +569 -0
  76. package/dist/schemas/requests/models/bria/bria-fibo-edit-tools.json +401 -0
  77. package/dist/schemas/requests/models/bria/bria-fibo-edit.json +253 -0
  78. package/dist/schemas/requests/models/bria/bria-fibo-lite.json +350 -0
  79. package/dist/schemas/requests/models/bria/bria-fibo.json +358 -0
  80. package/dist/schemas/requests/models/bria/bria-image-increase-resolution.json +163 -0
  81. package/dist/schemas/requests/models/bria/bria-image-replace-background.json +264 -0
  82. package/dist/schemas/requests/models/bria/bria-rmbg-v2-0.json +153 -0
  83. package/dist/schemas/requests/models/bria/bria-video-background-removal.json +153 -0
  84. package/dist/schemas/requests/models/bria/bria-video-eraser.json +361 -0
  85. package/dist/schemas/requests/models/bria/bria-video-increase-resolution.json +129 -0
  86. package/dist/schemas/requests/models/bria/index.json +3148 -0
  87. package/dist/schemas/requests/models/bytedance/bytedance-omnihuman-1-5.json +231 -0
  88. package/dist/schemas/requests/models/bytedance/bytedance-omnihuman-1.json +191 -0
  89. package/dist/schemas/requests/models/bytedance/bytedance-seedance-1-0-pro-fast.json +513 -0
  90. package/dist/schemas/requests/models/bytedance/bytedance-seedance-1-0-pro.json +521 -0
  91. package/dist/schemas/requests/models/bytedance/bytedance-seedance-1-5-pro.json +683 -0
  92. package/dist/schemas/requests/models/bytedance/bytedance-seedance-2-0-fast.json +634 -0
  93. package/dist/schemas/requests/models/bytedance/bytedance-seedance-2-0.json +701 -0
  94. package/dist/schemas/requests/models/bytedance/bytedance-seedream-4-0.json +424 -0
  95. package/dist/schemas/requests/models/bytedance/bytedance-seedream-4-5.json +321 -0
  96. package/dist/schemas/requests/models/bytedance/bytedance-seedream-5-0-lite.json +426 -0
  97. package/dist/schemas/requests/models/bytedance/bytedance-video-upscaler.json +119 -0
  98. package/dist/schemas/requests/models/bytedance/index.json +4758 -0
  99. package/dist/schemas/requests/models/creatify/creatify-aurora-v1-fast.json +199 -0
  100. package/dist/schemas/requests/models/creatify/creatify-aurora-v1.json +199 -0
  101. package/dist/schemas/requests/models/creatify/index.json +401 -0
  102. package/dist/schemas/requests/models/elevenlabs/elevenlabs-flash-v2-5.json +833 -0
  103. package/dist/schemas/requests/models/elevenlabs/elevenlabs-flash-v2.json +802 -0
  104. package/dist/schemas/requests/models/elevenlabs/elevenlabs-monolingual-v1.json +802 -0
  105. package/dist/schemas/requests/models/elevenlabs/elevenlabs-multilingual-v1.json +810 -0
  106. package/dist/schemas/requests/models/elevenlabs/elevenlabs-multilingual-v2.json +830 -0
  107. package/dist/schemas/requests/models/elevenlabs/elevenlabs-music-v1.json +877 -0
  108. package/dist/schemas/requests/models/elevenlabs/elevenlabs-turbo-v2-5.json +833 -0
  109. package/dist/schemas/requests/models/elevenlabs/elevenlabs-turbo-v2.json +802 -0
  110. package/dist/schemas/requests/models/elevenlabs/elevenlabs-v3.json +875 -0
  111. package/dist/schemas/requests/models/elevenlabs/index.json +7460 -0
  112. package/dist/schemas/requests/models/exactly/exactly-illustrative-training.json +112 -0
  113. package/dist/schemas/requests/models/exactly/exactly-photo-bright-pulse.json +553 -0
  114. package/dist/schemas/requests/models/exactly/exactly-photo-distant-reality.json +553 -0
  115. package/dist/schemas/requests/models/exactly/exactly-photo-extreme-contrast.json +553 -0
  116. package/dist/schemas/requests/models/exactly/exactly-photo-grain-film-look.json +553 -0
  117. package/dist/schemas/requests/models/exactly/exactly-photo-journey.json +553 -0
  118. package/dist/schemas/requests/models/exactly/exactly-photo-warm-light.json +553 -0
  119. package/dist/schemas/requests/models/exactly/index.json +3428 -0
  120. package/dist/schemas/requests/models/google/google-gemini-3-1-flash-lite.json +400 -0
  121. package/dist/schemas/requests/models/google/google-gemini-3-1-flash-tts.json +1384 -0
  122. package/dist/schemas/requests/models/google/google-gemini-3-1-pro.json +398 -0
  123. package/dist/schemas/requests/models/google/google-gemini-3-flash.json +400 -0
  124. package/dist/schemas/requests/models/google/google-imagen-3-fast.json +230 -0
  125. package/dist/schemas/requests/models/google/google-imagen-3.json +230 -0
  126. package/dist/schemas/requests/models/google/google-imagen-4-fast.json +230 -0
  127. package/dist/schemas/requests/models/google/google-imagen-4-preview.json +230 -0
  128. package/dist/schemas/requests/models/google/google-imagen-4-ultra.json +230 -0
  129. package/dist/schemas/requests/models/google/google-nano-banana-2.json +983 -0
  130. package/dist/schemas/requests/models/google/google-nano-banana-pro.json +703 -0
  131. package/dist/schemas/requests/models/google/google-nano-banana.json +373 -0
  132. package/dist/schemas/requests/models/google/google-veo-2.json +428 -0
  133. package/dist/schemas/requests/models/google/google-veo-3-1-fast.json +568 -0
  134. package/dist/schemas/requests/models/google/google-veo-3-1-lite.json +509 -0
  135. package/dist/schemas/requests/models/google/google-veo-3-1.json +783 -0
  136. package/dist/schemas/requests/models/google/google-veo-3-fast.json +411 -0
  137. package/dist/schemas/requests/models/google/google-veo-3.json +454 -0
  138. package/dist/schemas/requests/models/google/index.json +8876 -0
  139. package/dist/schemas/requests/models/heygen/heygen-avatar-iv.json +3066 -0
  140. package/dist/schemas/requests/models/heygen/heygen-video-agent.json +1522 -0
  141. package/dist/schemas/requests/models/heygen/index.json +4591 -0
  142. package/dist/schemas/requests/models/hyper3d/hyper3d-rodin-gen-2.json +355 -0
  143. package/dist/schemas/requests/models/hyper3d/index.json +359 -0
  144. package/dist/schemas/requests/models/ideogram/ideogram-1-0-remix.json +473 -0
  145. package/dist/schemas/requests/models/ideogram/ideogram-1-0.json +427 -0
  146. package/dist/schemas/requests/models/ideogram/ideogram-2-0-edit.json +322 -0
  147. package/dist/schemas/requests/models/ideogram/ideogram-2-0-reframe.json +1138 -0
  148. package/dist/schemas/requests/models/ideogram/ideogram-2-0-remix.json +1219 -0
  149. package/dist/schemas/requests/models/ideogram/ideogram-2-0.json +1173 -0
  150. package/dist/schemas/requests/models/ideogram/ideogram-2a-remix.json +1148 -0
  151. package/dist/schemas/requests/models/ideogram/ideogram-2a.json +1102 -0
  152. package/dist/schemas/requests/models/ideogram/ideogram-3-0-edit.json +538 -0
  153. package/dist/schemas/requests/models/ideogram/ideogram-3-0-reframe.json +1204 -0
  154. package/dist/schemas/requests/models/ideogram/ideogram-3-0-remix.json +1325 -0
  155. package/dist/schemas/requests/models/ideogram/ideogram-3-0-replace-background.json +427 -0
  156. package/dist/schemas/requests/models/ideogram/ideogram-3-0.json +1225 -0
  157. package/dist/schemas/requests/models/ideogram/index.json +11713 -0
  158. package/dist/schemas/requests/models/imagineart/imagineart-1-5-pro.json +283 -0
  159. package/dist/schemas/requests/models/imagineart/imagineart-1-5.json +272 -0
  160. package/dist/schemas/requests/models/imagineart/imagineart-2-0.json +486 -0
  161. package/dist/schemas/requests/models/imagineart/index.json +1043 -0
  162. package/dist/schemas/requests/models/inworld/index.json +3062 -0
  163. package/dist/schemas/requests/models/inworld/inworld-tts-1-5-max.json +807 -0
  164. package/dist/schemas/requests/models/inworld/inworld-tts-1-5-mini.json +807 -0
  165. package/dist/schemas/requests/models/inworld/inworld-tts-2.json +1446 -0
  166. package/dist/schemas/requests/models/klingai/index.json +11714 -0
  167. package/dist/schemas/requests/models/klingai/klingai-1-0-pro.json +319 -0
  168. package/dist/schemas/requests/models/klingai/klingai-1-0-standard.json +319 -0
  169. package/dist/schemas/requests/models/klingai/klingai-1-5-pro.json +308 -0
  170. package/dist/schemas/requests/models/klingai/klingai-1-5-standard.json +296 -0
  171. package/dist/schemas/requests/models/klingai/klingai-1-6-pro.json +304 -0
  172. package/dist/schemas/requests/models/klingai/klingai-1-6-standard.json +311 -0
  173. package/dist/schemas/requests/models/klingai/klingai-2-0-master.json +319 -0
  174. package/dist/schemas/requests/models/klingai/klingai-2-1-master.json +311 -0
  175. package/dist/schemas/requests/models/klingai/klingai-2-1-pro.json +320 -0
  176. package/dist/schemas/requests/models/klingai/klingai-2-1-standard.json +300 -0
  177. package/dist/schemas/requests/models/klingai/klingai-2-5-turbo-pro.json +319 -0
  178. package/dist/schemas/requests/models/klingai/klingai-2-5-turbo-standard.json +251 -0
  179. package/dist/schemas/requests/models/klingai/klingai-avatar-2-0-pro.json +189 -0
  180. package/dist/schemas/requests/models/klingai/klingai-avatar-2-0-standard.json +189 -0
  181. package/dist/schemas/requests/models/klingai/klingai-image-3-0.json +443 -0
  182. package/dist/schemas/requests/models/klingai/klingai-image-o1.json +444 -0
  183. package/dist/schemas/requests/models/klingai/klingai-image-o3.json +473 -0
  184. package/dist/schemas/requests/models/klingai/klingai-lip-sync.json +210 -0
  185. package/dist/schemas/requests/models/klingai/klingai-video-2-6-pro.json +493 -0
  186. package/dist/schemas/requests/models/klingai/klingai-video-2-6-standard.json +326 -0
  187. package/dist/schemas/requests/models/klingai/klingai-video-3-0-4k.json +551 -0
  188. package/dist/schemas/requests/models/klingai/klingai-video-3-0-pro.json +765 -0
  189. package/dist/schemas/requests/models/klingai/klingai-video-3-0-standard.json +765 -0
  190. package/dist/schemas/requests/models/klingai/klingai-video-o1-pro.json +534 -0
  191. package/dist/schemas/requests/models/klingai/klingai-video-o1-standard.json +528 -0
  192. package/dist/schemas/requests/models/klingai/klingai-video-o3-4k.json +512 -0
  193. package/dist/schemas/requests/models/klingai/klingai-video-o3-pro.json +819 -0
  194. package/dist/schemas/requests/models/klingai/klingai-video-o3-standard.json +819 -0
  195. package/dist/schemas/requests/models/lightricks/index.json +2356 -0
  196. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2-3-fast.json +438 -0
  197. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2-3.json +517 -0
  198. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2-fast.json +328 -0
  199. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2-pro.json +482 -0
  200. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2-retake.json +289 -0
  201. package/dist/schemas/requests/models/lightricks/lightricks-ltx-2.json +303 -0
  202. package/dist/schemas/requests/models/luma/index.json +1049 -0
  203. package/dist/schemas/requests/models/luma/luma-uni-1-max.json +523 -0
  204. package/dist/schemas/requests/models/luma/luma-uni-1.json +523 -0
  205. package/dist/schemas/requests/models/memories/index.json +241 -0
  206. package/dist/schemas/requests/models/memories/memories-video-age-detection.json +119 -0
  207. package/dist/schemas/requests/models/memories/memories-video-captioning.json +119 -0
  208. package/dist/schemas/requests/models/meshy/index.json +583 -0
  209. package/dist/schemas/requests/models/meshy/meshy-6.json +579 -0
  210. package/dist/schemas/requests/models/meta/index.json +298 -0
  211. package/dist/schemas/requests/models/meta/meta-llava-1-6-mistral-7b.json +136 -0
  212. package/dist/schemas/requests/models/meta/meta-sam-3d-objects.json +159 -0
  213. package/dist/schemas/requests/models/microsoft/index.json +326 -0
  214. package/dist/schemas/requests/models/microsoft/microsoft-trellis-2.json +322 -0
  215. package/dist/schemas/requests/models/minimax/index.json +5629 -0
  216. package/dist/schemas/requests/models/minimax/minimax-01-director.json +296 -0
  217. package/dist/schemas/requests/models/minimax/minimax-01-live.json +296 -0
  218. package/dist/schemas/requests/models/minimax/minimax-01.json +322 -0
  219. package/dist/schemas/requests/models/minimax/minimax-hailuo-02.json +345 -0
  220. package/dist/schemas/requests/models/minimax/minimax-hailuo-2-3-fast.json +383 -0
  221. package/dist/schemas/requests/models/minimax/minimax-hailuo-2-3.json +362 -0
  222. package/dist/schemas/requests/models/minimax/minimax-m2-5.json +349 -0
  223. package/dist/schemas/requests/models/minimax/minimax-m2-7-highspeed.json +291 -0
  224. package/dist/schemas/requests/models/minimax/minimax-m2-7.json +291 -0
  225. package/dist/schemas/requests/models/minimax/minimax-music-2-6.json +858 -0
  226. package/dist/schemas/requests/models/minimax/minimax-music-cover.json +730 -0
  227. package/dist/schemas/requests/models/minimax/minimax-speech-2-8.json +1113 -0
  228. package/dist/schemas/requests/models/mirelo/index.json +813 -0
  229. package/dist/schemas/requests/models/mirelo/mirelo-sfx-1-5.json +809 -0
  230. package/dist/schemas/requests/models/moonshotai/index.json +415 -0
  231. package/dist/schemas/requests/models/moonshotai/moonshotai-kimi-k2-6.json +411 -0
  232. package/dist/schemas/requests/models/openai/index.json +4198 -0
  233. package/dist/schemas/requests/models/openai/openai-clip-vit-l-14.json +136 -0
  234. package/dist/schemas/requests/models/openai/openai-dalle-2.json +214 -0
  235. package/dist/schemas/requests/models/openai/openai-dalle-3.json +252 -0
  236. package/dist/schemas/requests/models/openai/openai-gpt-5-4-mini.json +331 -0
  237. package/dist/schemas/requests/models/openai/openai-gpt-5-4-nano.json +331 -0
  238. package/dist/schemas/requests/models/openai/openai-gpt-5-4-pro.json +331 -0
  239. package/dist/schemas/requests/models/openai/openai-gpt-5-4.json +331 -0
  240. package/dist/schemas/requests/models/openai/openai-gpt-5-5.json +318 -0
  241. package/dist/schemas/requests/models/openai/openai-gpt-image-1-5.json +318 -0
  242. package/dist/schemas/requests/models/openai/openai-gpt-image-1-mini.json +318 -0
  243. package/dist/schemas/requests/models/openai/openai-gpt-image-1.json +318 -0
  244. package/dist/schemas/requests/models/openai/openai-gpt-image-2.json +267 -0
  245. package/dist/schemas/requests/models/openai/openai-sora-2-pro.json +382 -0
  246. package/dist/schemas/requests/models/openai/openai-sora-2.json +360 -0
  247. package/dist/schemas/requests/models/picsart/index.json +125 -0
  248. package/dist/schemas/requests/models/picsart/picsart-image-vectorizer.json +121 -0
  249. package/dist/schemas/requests/models/pixverse/index.json +7029 -0
  250. package/dist/schemas/requests/models/pixverse/pixverse-lipsync.json +222 -0
  251. package/dist/schemas/requests/models/pixverse/pixverse-modify.json +253 -0
  252. package/dist/schemas/requests/models/pixverse/pixverse-v3-5.json +911 -0
  253. package/dist/schemas/requests/models/pixverse/pixverse-v4-5.json +1040 -0
  254. package/dist/schemas/requests/models/pixverse/pixverse-v4.json +1040 -0
  255. package/dist/schemas/requests/models/pixverse/pixverse-v5-5.json +732 -0
  256. package/dist/schemas/requests/models/pixverse/pixverse-v5-6.json +726 -0
  257. package/dist/schemas/requests/models/pixverse/pixverse-v5-fast.json +573 -0
  258. package/dist/schemas/requests/models/pixverse/pixverse-v5.json +711 -0
  259. package/dist/schemas/requests/models/pixverse/pixverse-v6.json +826 -0
  260. package/dist/schemas/requests/models/prunaai/index.json +1628 -0
  261. package/dist/schemas/requests/models/prunaai/prunaai-p-image-edit.json +347 -0
  262. package/dist/schemas/requests/models/prunaai/prunaai-p-image-upscale.json +158 -0
  263. package/dist/schemas/requests/models/prunaai/prunaai-p-image.json +175 -0
  264. package/dist/schemas/requests/models/prunaai/prunaai-p-video-avatar.json +393 -0
  265. package/dist/schemas/requests/models/prunaai/prunaai-p-video.json +555 -0
  266. package/dist/schemas/requests/models/recraft/index.json +1583 -0
  267. package/dist/schemas/requests/models/recraft/recraft-v4-pro-vector.json +335 -0
  268. package/dist/schemas/requests/models/recraft/recraft-v4-pro.json +396 -0
  269. package/dist/schemas/requests/models/recraft/recraft-v4-vector.json +335 -0
  270. package/dist/schemas/requests/models/recraft/recraft-v4.json +396 -0
  271. package/dist/schemas/requests/models/recraft/recraft-vectorize.json +121 -0
  272. package/dist/schemas/requests/models/rundiffusion/index.json +3849 -0
  273. package/dist/schemas/requests/models/rundiffusion/rundiffusion-juggernaut-base-flux.json +1103 -0
  274. package/dist/schemas/requests/models/rundiffusion/rundiffusion-juggernaut-lightning-flux.json +911 -0
  275. package/dist/schemas/requests/models/rundiffusion/rundiffusion-juggernaut-pro-flux.json +1103 -0
  276. package/dist/schemas/requests/models/rundiffusion/rundiffusion-juggernaut-z.json +731 -0
  277. package/dist/schemas/requests/models/runware/ace-step-v1-5-base.json +1005 -0
  278. package/dist/schemas/requests/models/runware/ace-step-v1-5-turbo.json +1005 -0
  279. package/dist/schemas/requests/models/runware/birefnet-dis.json +131 -0
  280. package/dist/schemas/requests/models/runware/birefnet-general-resolution-512x512-fp16.json +131 -0
  281. package/dist/schemas/requests/models/runware/birefnet-general.json +131 -0
  282. package/dist/schemas/requests/models/runware/birefnet-hrsod-dhu.json +131 -0
  283. package/dist/schemas/requests/models/runware/birefnet-massive-tr-dis5k-tr-tes.json +131 -0
  284. package/dist/schemas/requests/models/runware/birefnet-matting.json +131 -0
  285. package/dist/schemas/requests/models/runware/birefnet-portrait.json +131 -0
  286. package/dist/schemas/requests/models/runware/birefnet-v1-base-cod.json +131 -0
  287. package/dist/schemas/requests/models/runware/birefnet-v1-base.json +131 -0
  288. package/dist/schemas/requests/models/runware/bria-rmbg-v2-0-open.json +131 -0
  289. package/dist/schemas/requests/models/runware/ccsr.json +187 -0
  290. package/dist/schemas/requests/models/runware/clarity.json +277 -0
  291. package/dist/schemas/requests/models/runware/dia-1-6b.json +742 -0
  292. package/dist/schemas/requests/models/runware/dia2-2b.json +809 -0
  293. package/dist/schemas/requests/models/runware/flux-1-dev-srpo.json +1103 -0
  294. package/dist/schemas/requests/models/runware/flux-krea.json +1103 -0
  295. package/dist/schemas/requests/models/runware/hidream-i1-dev.json +448 -0
  296. package/dist/schemas/requests/models/runware/hidream-i1-fast.json +448 -0
  297. package/dist/schemas/requests/models/runware/hidream-i1-full.json +448 -0
  298. package/dist/schemas/requests/models/runware/index.json +11773 -0
  299. package/dist/schemas/requests/models/runware/kandinsky-5-0-image-lite.json +469 -0
  300. package/dist/schemas/requests/models/runware/kandinsky-5-0-lite.json +312 -0
  301. package/dist/schemas/requests/models/runware/llama-3-1-8b-prompt-enhancer.json +81 -0
  302. package/dist/schemas/requests/models/runware/object-eraser.json +221 -0
  303. package/dist/schemas/requests/models/runware/open-age-detection.json +131 -0
  304. package/dist/schemas/requests/models/runware/ovi.json +313 -0
  305. package/dist/schemas/requests/models/runware/qwen2-5-vl-7b-age-detector.json +131 -0
  306. package/dist/schemas/requests/models/runware/real-esrgan.json +140 -0
  307. package/dist/schemas/requests/models/runware/rembg-v1-4.json +199 -0
  308. package/dist/schemas/requests/models/runware/stable-diffusion-latent-upscaler.json +184 -0
  309. package/dist/schemas/requests/models/runware/swinir.json +140 -0
  310. package/dist/schemas/requests/models/runware/twinflow-z-image-turbo.json +465 -0
  311. package/dist/schemas/requests/models/runware/vit-age-classifier.json +131 -0
  312. package/dist/schemas/requests/models/runway/index.json +1983 -0
  313. package/dist/schemas/requests/models/runway/runway-aleph.json +359 -0
  314. package/dist/schemas/requests/models/runway/runway-gen-4-5.json +394 -0
  315. package/dist/schemas/requests/models/runway/runway-gen-4-image-turbo.json +428 -0
  316. package/dist/schemas/requests/models/runway/runway-gen-4-image.json +425 -0
  317. package/dist/schemas/requests/models/runway/runway-gen-4-turbo.json +377 -0
  318. package/dist/schemas/requests/models/skywork/index.json +811 -0
  319. package/dist/schemas/requests/models/skywork/skywork-skyreels-v4.json +807 -0
  320. package/dist/schemas/requests/models/sourceful/index.json +3421 -0
  321. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-1-1-mini.json +331 -0
  322. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-1-1-pro.json +331 -0
  323. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-1-1.json +331 -0
  324. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-2-0-fast.json +454 -0
  325. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-2-0-pro.json +564 -0
  326. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-2-preview-fast.json +471 -0
  327. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-2-preview-max.json +471 -0
  328. package/dist/schemas/requests/models/sourceful/sourceful-riverflow-2-preview-standard.json +471 -0
  329. package/dist/schemas/requests/models/stabilityai/index.json +1832 -0
  330. package/dist/schemas/requests/models/stabilityai/stabilityai-stable-diffusion-3.json +843 -0
  331. package/dist/schemas/requests/models/stabilityai/stabilityai-stable-diffusion-xl-v1-0-vae-fix.json +986 -0
  332. package/dist/schemas/requests/models/sync/index.json +1506 -0
  333. package/dist/schemas/requests/models/sync/sync-3.json +534 -0
  334. package/dist/schemas/requests/models/sync/sync-lipsync-2-pro.json +334 -0
  335. package/dist/schemas/requests/models/sync/sync-lipsync-2.json +334 -0
  336. package/dist/schemas/requests/models/sync/sync-react-1.json +303 -0
  337. package/dist/schemas/requests/models/tencent/index.json +1075 -0
  338. package/dist/schemas/requests/models/tencent/tencent-hunyuan-3d-3-1-pro.json +236 -0
  339. package/dist/schemas/requests/models/tencent/tencent-hunyuan-3d-3-1-rapid.json +260 -0
  340. package/dist/schemas/requests/models/tencent/tencent-hunyuanimage-3-0.json +577 -0
  341. package/dist/schemas/requests/models/topazlabs/index.json +146 -0
  342. package/dist/schemas/requests/models/topazlabs/topazlabs-starlight-precise-2-5.json +142 -0
  343. package/dist/schemas/requests/models/tripo/index.json +481 -0
  344. package/dist/schemas/requests/models/tripo/tripo-v3-1.json +477 -0
  345. package/dist/schemas/requests/models/veed/index.json +286 -0
  346. package/dist/schemas/requests/models/veed/veed-fabric-1-0.json +282 -0
  347. package/dist/schemas/requests/models/vidu/index.json +4290 -0
  348. package/dist/schemas/requests/models/vidu/vidu-1-5.json +531 -0
  349. package/dist/schemas/requests/models/vidu/vidu-2-0.json +472 -0
  350. package/dist/schemas/requests/models/vidu/vidu-q1-classic.json +316 -0
  351. package/dist/schemas/requests/models/vidu/vidu-q1-image.json +244 -0
  352. package/dist/schemas/requests/models/vidu/vidu-q1.json +459 -0
  353. package/dist/schemas/requests/models/vidu/vidu-q2-pro.json +591 -0
  354. package/dist/schemas/requests/models/vidu/vidu-q2-turbo.json +591 -0
  355. package/dist/schemas/requests/models/vidu/vidu-q3-turbo.json +537 -0
  356. package/dist/schemas/requests/models/vidu/vidu-q3.json +553 -0
  357. package/dist/schemas/requests/models/xai/index.json +2950 -0
  358. package/dist/schemas/requests/models/xai/xai-grok-imagine-image-pro.json +563 -0
  359. package/dist/schemas/requests/models/xai/xai-grok-imagine-image-quality.json +563 -0
  360. package/dist/schemas/requests/models/xai/xai-grok-imagine-image.json +419 -0
  361. package/dist/schemas/requests/models/xai/xai-grok-imagine-video.json +670 -0
  362. package/dist/schemas/requests/models/xai/xai-tts.json +735 -0
  363. package/dist/schemas/requests/models/zai/index.json +794 -0
  364. package/dist/schemas/requests/models/zai/zai-glm-4-7.json +231 -0
  365. package/dist/schemas/requests/models/zai/zai-glm-5-1.json +326 -0
  366. package/dist/schemas/requests/models/zai/zai-glm-image.json +235 -0
  367. package/dist/schemas/requests/types/3d.json +97 -0
  368. package/dist/schemas/requests/types/audio.json +676 -0
  369. package/dist/schemas/requests/types/caption-image.json +132 -0
  370. package/dist/schemas/requests/types/caption-video.json +120 -0
  371. package/dist/schemas/requests/types/caption.json +63 -0
  372. package/dist/schemas/requests/types/image.json +152 -0
  373. package/dist/schemas/requests/types/prompt-enhance.json +82 -0
  374. package/dist/schemas/requests/types/remove-background-image.json +132 -0
  375. package/dist/schemas/requests/types/remove-background-video.json +120 -0
  376. package/dist/schemas/requests/types/remove-background.json +63 -0
  377. package/dist/schemas/requests/types/text.json +126 -0
  378. package/dist/schemas/requests/types/training.json +43 -0
  379. package/dist/schemas/requests/types/upscale-image.json +132 -0
  380. package/dist/schemas/requests/types/upscale-video.json +120 -0
  381. package/dist/schemas/requests/types/upscale.json +63 -0
  382. package/dist/schemas/requests/types/vectorize.json +91 -0
  383. package/dist/schemas/requests/types/video.json +151 -0
  384. package/dist/schemas/requests/utilities/account-management.json +33 -0
  385. package/dist/schemas/requests/utilities/authentication.json +29 -0
  386. package/dist/schemas/requests/utilities/get-response.json +24 -0
  387. package/dist/schemas/requests/utilities/get-task-details.json +24 -0
  388. package/dist/schemas/requests/utilities/image-upload.json +39 -0
  389. package/dist/schemas/requests/utilities/model-search.json +357 -0
  390. package/dist/schemas/requests/utilities/model-upload.json +407 -0
  391. package/dist/schemas/requests/utilities/ping.json +21 -0
  392. package/dist/schemas/responses/errors/error.json +49 -0
  393. package/dist/schemas/responses/utilities/account-management.json +262 -0
  394. package/dist/schemas/responses/utilities/authentication.json +23 -0
  395. package/dist/schemas/responses/utilities/get-response.json +59 -0
  396. package/dist/schemas/responses/utilities/get-task-details.json +41 -0
  397. package/dist/schemas/responses/utilities/image-upload.json +29 -0
  398. package/dist/schemas/responses/utilities/model-search.json +111 -0
  399. package/dist/schemas/responses/utilities/model-upload.json +48 -0
  400. package/dist/schemas/responses/utilities/ping.json +15 -0
  401. package/package.json +16 -0
@@ -0,0 +1,4198 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "oneOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "model": {
8
+ "title": "Model",
9
+ "description": "Identifier of the model to use for generation.",
10
+ "type": "string",
11
+ "const": "runware:151@1"
12
+ },
13
+ "prompt": {
14
+ "title": "Caption Prompt",
15
+ "description": "Instructions or questions to guide the image analysis.",
16
+ "type": "string"
17
+ },
18
+ "taskType": {
19
+ "title": "Task Type",
20
+ "description": "Identifier for the type of task being performed",
21
+ "type": "string",
22
+ "const": "caption"
23
+ },
24
+ "taskUUID": {
25
+ "title": "Task UUID",
26
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
27
+ "type": "string",
28
+ "format": "uuid"
29
+ },
30
+ "webhookURL": {
31
+ "title": "Webhook URL",
32
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
33
+ "type": "string",
34
+ "format": "uri"
35
+ },
36
+ "includeCost": {
37
+ "title": "Include Cost",
38
+ "description": "Include task cost in the response.",
39
+ "type": "boolean",
40
+ "default": false
41
+ },
42
+ "uploadEndpoint": {
43
+ "title": "Upload Endpoint",
44
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
45
+ "type": "string",
46
+ "format": "uri"
47
+ },
48
+ "ttl": {
49
+ "title": "TTL",
50
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
51
+ "type": "integer",
52
+ "minimum": 60
53
+ },
54
+ "outputQuality": {
55
+ "title": "Output Quality",
56
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
57
+ "type": "integer",
58
+ "minimum": 20,
59
+ "maximum": 99,
60
+ "default": 95
61
+ },
62
+ "outputType": {
63
+ "title": "Output Type",
64
+ "description": "Image output type.",
65
+ "type": "string",
66
+ "enum": [
67
+ "URL",
68
+ "base64Data",
69
+ "dataURI"
70
+ ],
71
+ "default": "URL"
72
+ },
73
+ "outputFormat": {
74
+ "title": "Output Format",
75
+ "description": "File format for the generated image.",
76
+ "type": "string",
77
+ "enum": [
78
+ "JPG",
79
+ "PNG",
80
+ "WEBP"
81
+ ],
82
+ "default": "JPG"
83
+ },
84
+ "deliveryMethod": {
85
+ "title": "Delivery Method",
86
+ "description": "Determines how the API delivers task results.",
87
+ "type": "string",
88
+ "oneOf": [
89
+ {
90
+ "const": "sync",
91
+ "description": "Returns complete results directly in the API response."
92
+ },
93
+ {
94
+ "const": "async",
95
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
96
+ }
97
+ ],
98
+ "default": "sync"
99
+ },
100
+ "inputs": {
101
+ "title": "Inputs",
102
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
103
+ "type": "object",
104
+ "properties": {
105
+ "image": {
106
+ "title": "Image",
107
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
108
+ "type": "string",
109
+ "anyOf": [
110
+ {
111
+ "format": "uuid"
112
+ },
113
+ {
114
+ "format": "uri"
115
+ },
116
+ {
117
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
118
+ },
119
+ {
120
+ "pattern": "^[a-zA-Z0-9+/=]+$"
121
+ }
122
+ ]
123
+ }
124
+ },
125
+ "required": [
126
+ "image"
127
+ ],
128
+ "additionalProperties": false
129
+ }
130
+ },
131
+ "additionalProperties": false,
132
+ "required": [
133
+ "taskType",
134
+ "taskUUID",
135
+ "model",
136
+ "inputs"
137
+ ]
138
+ },
139
+ {
140
+ "type": "object",
141
+ "properties": {
142
+ "model": {
143
+ "title": "Model",
144
+ "description": "Identifier of the model to use for generation.",
145
+ "type": "string",
146
+ "const": "openai:2@2"
147
+ },
148
+ "inputs": {
149
+ "title": "Inputs",
150
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
151
+ "type": "object",
152
+ "additionalProperties": false
153
+ },
154
+ "positivePrompt": {
155
+ "title": "Positive Prompt",
156
+ "description": "Text prompt describing elements to include in the generated output.",
157
+ "type": "string",
158
+ "minLength": 1,
159
+ "maxLength": 1000
160
+ },
161
+ "width": {
162
+ "title": "Width",
163
+ "description": "Width of the generated media in pixels.",
164
+ "type": "integer"
165
+ },
166
+ "height": {
167
+ "title": "Height",
168
+ "description": "Height of the generated media in pixels.",
169
+ "type": "integer"
170
+ },
171
+ "taskType": {
172
+ "title": "Task Type",
173
+ "description": "Identifier for the type of task being performed",
174
+ "type": "string",
175
+ "const": "imageInference"
176
+ },
177
+ "taskUUID": {
178
+ "title": "Task UUID",
179
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
180
+ "type": "string",
181
+ "format": "uuid"
182
+ },
183
+ "webhookURL": {
184
+ "title": "Webhook URL",
185
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
186
+ "type": "string",
187
+ "format": "uri"
188
+ },
189
+ "includeCost": {
190
+ "title": "Include Cost",
191
+ "description": "Include task cost in the response.",
192
+ "type": "boolean",
193
+ "default": false
194
+ },
195
+ "numberResults": {
196
+ "title": "Number of Results",
197
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
198
+ "type": "integer",
199
+ "minimum": 1,
200
+ "default": 1,
201
+ "maximum": 20
202
+ },
203
+ "uploadEndpoint": {
204
+ "title": "Upload Endpoint",
205
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
206
+ "type": "string",
207
+ "format": "uri"
208
+ },
209
+ "ttl": {
210
+ "title": "TTL",
211
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
212
+ "type": "integer",
213
+ "minimum": 60
214
+ },
215
+ "outputType": {
216
+ "title": "Output Type",
217
+ "description": "Image output type.",
218
+ "type": "string",
219
+ "enum": [
220
+ "URL",
221
+ "base64Data",
222
+ "dataURI"
223
+ ],
224
+ "default": "URL"
225
+ },
226
+ "outputFormat": {
227
+ "title": "Output Format",
228
+ "description": "File format for the generated image.",
229
+ "type": "string",
230
+ "enum": [
231
+ "JPG",
232
+ "PNG",
233
+ "WEBP"
234
+ ],
235
+ "default": "JPG"
236
+ },
237
+ "outputQuality": {
238
+ "title": "Output Quality",
239
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
240
+ "type": "integer",
241
+ "minimum": 20,
242
+ "maximum": 99,
243
+ "default": 95
244
+ },
245
+ "deliveryMethod": {
246
+ "title": "Delivery Method",
247
+ "description": "Determines how the API delivers task results.",
248
+ "type": "string",
249
+ "oneOf": [
250
+ {
251
+ "const": "sync",
252
+ "description": "Returns complete results directly in the API response."
253
+ },
254
+ {
255
+ "const": "async",
256
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
257
+ }
258
+ ],
259
+ "default": "sync"
260
+ },
261
+ "safety": {
262
+ "type": "object",
263
+ "title": "Safety Settings",
264
+ "description": "Content safety checking configuration for image generation.",
265
+ "properties": {
266
+ "checkContent": {
267
+ "title": "Check Content",
268
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
269
+ "type": "boolean",
270
+ "default": false
271
+ },
272
+ "mode": {
273
+ "description": "Safety checking mode for image generation.",
274
+ "type": "string",
275
+ "oneOf": [
276
+ {
277
+ "const": "none",
278
+ "title": "None",
279
+ "description": "Disables checking."
280
+ },
281
+ {
282
+ "const": "fast",
283
+ "title": "Fast",
284
+ "description": "Performs a single check."
285
+ }
286
+ ],
287
+ "default": "none"
288
+ }
289
+ },
290
+ "additionalProperties": false
291
+ }
292
+ },
293
+ "required": [
294
+ "positivePrompt",
295
+ "width",
296
+ "height",
297
+ "taskType",
298
+ "taskUUID",
299
+ "model"
300
+ ],
301
+ "allOf": [
302
+ {
303
+ "dependentRequired": {
304
+ "width": [
305
+ "height"
306
+ ],
307
+ "height": [
308
+ "width"
309
+ ]
310
+ }
311
+ },
312
+ {
313
+ "oneOf": [
314
+ {
315
+ "title": "0.25K (1:1)",
316
+ "properties": {
317
+ "width": {
318
+ "const": 256
319
+ },
320
+ "height": {
321
+ "const": 256
322
+ }
323
+ }
324
+ },
325
+ {
326
+ "title": "0.5K (1:1)",
327
+ "properties": {
328
+ "width": {
329
+ "const": 512
330
+ },
331
+ "height": {
332
+ "const": 512
333
+ }
334
+ }
335
+ },
336
+ {
337
+ "title": "1K (1:1)",
338
+ "properties": {
339
+ "width": {
340
+ "const": 1024
341
+ },
342
+ "height": {
343
+ "const": 1024
344
+ }
345
+ }
346
+ }
347
+ ]
348
+ }
349
+ ],
350
+ "additionalProperties": false
351
+ },
352
+ {
353
+ "type": "object",
354
+ "properties": {
355
+ "model": {
356
+ "title": "Model",
357
+ "description": "Identifier of the model to use for generation.",
358
+ "type": "string",
359
+ "const": "openai:2@3"
360
+ },
361
+ "positivePrompt": {
362
+ "title": "Positive Prompt",
363
+ "description": "Text prompt describing elements to include in the generated output.",
364
+ "type": "string",
365
+ "minLength": 1,
366
+ "maxLength": 4000
367
+ },
368
+ "width": {
369
+ "title": "Width",
370
+ "description": "Width of the generated media in pixels.",
371
+ "type": "integer"
372
+ },
373
+ "height": {
374
+ "title": "Height",
375
+ "description": "Height of the generated media in pixels.",
376
+ "type": "integer"
377
+ },
378
+ "providerSettings": {
379
+ "title": "Provider Settings",
380
+ "description": "Provider-specific configuration settings.",
381
+ "type": "object",
382
+ "properties": {
383
+ "openai": {
384
+ "title": "OpenAI Settings",
385
+ "description": "Provider-specific settings for OpenAI.",
386
+ "type": "object",
387
+ "properties": {
388
+ "quality": {
389
+ "title": "Quality",
390
+ "description": "Image quality level.",
391
+ "type": "string",
392
+ "oneOf": [
393
+ {
394
+ "const": "auto",
395
+ "description": "Automatically selects optimal quality based on context."
396
+ },
397
+ {
398
+ "const": "high",
399
+ "description": "Maximum quality with enhanced detail and refinement."
400
+ },
401
+ {
402
+ "const": "medium",
403
+ "description": "Balanced quality suitable for most use cases."
404
+ },
405
+ {
406
+ "const": "low",
407
+ "description": "Faster generation with acceptable quality for rapid iteration."
408
+ }
409
+ ],
410
+ "default": "auto",
411
+ "enum": [
412
+ "hd",
413
+ "standard"
414
+ ]
415
+ }
416
+ },
417
+ "additionalProperties": false
418
+ }
419
+ },
420
+ "additionalProperties": false
421
+ },
422
+ "taskType": {
423
+ "title": "Task Type",
424
+ "description": "Identifier for the type of task being performed",
425
+ "type": "string",
426
+ "const": "imageInference"
427
+ },
428
+ "taskUUID": {
429
+ "title": "Task UUID",
430
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
431
+ "type": "string",
432
+ "format": "uuid"
433
+ },
434
+ "webhookURL": {
435
+ "title": "Webhook URL",
436
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
437
+ "type": "string",
438
+ "format": "uri"
439
+ },
440
+ "includeCost": {
441
+ "title": "Include Cost",
442
+ "description": "Include task cost in the response.",
443
+ "type": "boolean",
444
+ "default": false
445
+ },
446
+ "numberResults": {
447
+ "title": "Number of Results",
448
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
449
+ "type": "integer",
450
+ "minimum": 1,
451
+ "default": 1,
452
+ "maximum": 20
453
+ },
454
+ "uploadEndpoint": {
455
+ "title": "Upload Endpoint",
456
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
457
+ "type": "string",
458
+ "format": "uri"
459
+ },
460
+ "ttl": {
461
+ "title": "TTL",
462
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
463
+ "type": "integer",
464
+ "minimum": 60
465
+ },
466
+ "outputType": {
467
+ "title": "Output Type",
468
+ "description": "Image output type.",
469
+ "type": "string",
470
+ "enum": [
471
+ "URL",
472
+ "base64Data",
473
+ "dataURI"
474
+ ],
475
+ "default": "URL"
476
+ },
477
+ "outputFormat": {
478
+ "title": "Output Format",
479
+ "description": "File format for the generated image.",
480
+ "type": "string",
481
+ "enum": [
482
+ "JPG",
483
+ "PNG",
484
+ "WEBP"
485
+ ],
486
+ "default": "JPG"
487
+ },
488
+ "outputQuality": {
489
+ "title": "Output Quality",
490
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
491
+ "type": "integer",
492
+ "minimum": 20,
493
+ "maximum": 99,
494
+ "default": 95
495
+ },
496
+ "deliveryMethod": {
497
+ "title": "Delivery Method",
498
+ "description": "Determines how the API delivers task results.",
499
+ "type": "string",
500
+ "oneOf": [
501
+ {
502
+ "const": "sync",
503
+ "description": "Returns complete results directly in the API response."
504
+ },
505
+ {
506
+ "const": "async",
507
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
508
+ }
509
+ ],
510
+ "default": "sync"
511
+ },
512
+ "safety": {
513
+ "type": "object",
514
+ "title": "Safety Settings",
515
+ "description": "Content safety checking configuration for image generation.",
516
+ "properties": {
517
+ "checkContent": {
518
+ "title": "Check Content",
519
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
520
+ "type": "boolean",
521
+ "default": false
522
+ },
523
+ "mode": {
524
+ "description": "Safety checking mode for image generation.",
525
+ "type": "string",
526
+ "oneOf": [
527
+ {
528
+ "const": "none",
529
+ "title": "None",
530
+ "description": "Disables checking."
531
+ },
532
+ {
533
+ "const": "fast",
534
+ "title": "Fast",
535
+ "description": "Performs a single check."
536
+ }
537
+ ],
538
+ "default": "none"
539
+ }
540
+ },
541
+ "additionalProperties": false
542
+ }
543
+ },
544
+ "required": [
545
+ "positivePrompt",
546
+ "width",
547
+ "height",
548
+ "taskType",
549
+ "taskUUID",
550
+ "model"
551
+ ],
552
+ "allOf": [
553
+ {
554
+ "dependentRequired": {
555
+ "width": [
556
+ "height"
557
+ ],
558
+ "height": [
559
+ "width"
560
+ ]
561
+ }
562
+ },
563
+ {
564
+ "oneOf": [
565
+ {
566
+ "title": "1K (1:1)",
567
+ "properties": {
568
+ "width": {
569
+ "const": 1024
570
+ },
571
+ "height": {
572
+ "const": 1024
573
+ }
574
+ }
575
+ },
576
+ {
577
+ "title": "1K (7:4)",
578
+ "properties": {
579
+ "width": {
580
+ "const": 1792
581
+ },
582
+ "height": {
583
+ "const": 1024
584
+ }
585
+ }
586
+ },
587
+ {
588
+ "title": "1K (4:7)",
589
+ "properties": {
590
+ "width": {
591
+ "const": 1024
592
+ },
593
+ "height": {
594
+ "const": 1792
595
+ }
596
+ }
597
+ }
598
+ ]
599
+ }
600
+ ],
601
+ "additionalProperties": false
602
+ },
603
+ {
604
+ "type": "object",
605
+ "properties": {
606
+ "model": {
607
+ "title": "Model",
608
+ "description": "Identifier of the model to use for generation.",
609
+ "type": "string",
610
+ "const": "openai:4@1"
611
+ },
612
+ "inputs": {
613
+ "title": "Inputs",
614
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
615
+ "type": "object",
616
+ "properties": {
617
+ "referenceImages": {
618
+ "title": "Reference Images",
619
+ "description": "List of reference images (UUID, URL, Data URI, or Base64).",
620
+ "type": "array",
621
+ "minItems": 1,
622
+ "items": {
623
+ "title": "Image",
624
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
625
+ "type": "string",
626
+ "anyOf": [
627
+ {
628
+ "format": "uuid"
629
+ },
630
+ {
631
+ "format": "uri"
632
+ },
633
+ {
634
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
635
+ },
636
+ {
637
+ "pattern": "^[a-zA-Z0-9+/=]+$"
638
+ }
639
+ ]
640
+ },
641
+ "maxItems": 16
642
+ }
643
+ },
644
+ "additionalProperties": false
645
+ },
646
+ "positivePrompt": {
647
+ "title": "Positive Prompt",
648
+ "description": "Text prompt describing elements to include in the generated output.",
649
+ "type": "string",
650
+ "minLength": 2,
651
+ "maxLength": 32000
652
+ },
653
+ "width": {
654
+ "title": "Width",
655
+ "description": "Width of the generated media in pixels.",
656
+ "type": "integer"
657
+ },
658
+ "height": {
659
+ "title": "Height",
660
+ "description": "Height of the generated media in pixels.",
661
+ "type": "integer"
662
+ },
663
+ "providerSettings": {
664
+ "title": "Provider Settings",
665
+ "description": "Provider-specific configuration settings.",
666
+ "type": "object",
667
+ "properties": {
668
+ "openai": {
669
+ "title": "OpenAI Settings",
670
+ "description": "Provider-specific settings for OpenAI.",
671
+ "type": "object",
672
+ "properties": {
673
+ "background": {
674
+ "title": "Background",
675
+ "description": "Background handling in generated images.",
676
+ "type": "string",
677
+ "oneOf": [
678
+ {
679
+ "const": "auto",
680
+ "description": "Automatically determines the most appropriate background based on content."
681
+ },
682
+ {
683
+ "const": "opaque",
684
+ "description": "Solid background, no transparency."
685
+ },
686
+ {
687
+ "const": "transparent",
688
+ "description": "Transparent background areas where applicable."
689
+ }
690
+ ],
691
+ "default": "auto"
692
+ },
693
+ "moderation": {
694
+ "title": "Moderation",
695
+ "description": "Content moderation level.",
696
+ "type": "string",
697
+ "oneOf": [
698
+ {
699
+ "const": "auto",
700
+ "description": "Standard filtering that limits creating certain categories of potentially age-inappropriate content."
701
+ },
702
+ {
703
+ "const": "low",
704
+ "description": "Less restrictive filtering."
705
+ }
706
+ ],
707
+ "default": "auto"
708
+ },
709
+ "quality": {
710
+ "title": "Quality",
711
+ "description": "Image quality level.",
712
+ "type": "string",
713
+ "oneOf": [
714
+ {
715
+ "const": "auto",
716
+ "description": "Automatically selects optimal quality based on context."
717
+ },
718
+ {
719
+ "const": "high",
720
+ "description": "Maximum quality with enhanced detail and refinement."
721
+ },
722
+ {
723
+ "const": "medium",
724
+ "description": "Balanced quality suitable for most use cases."
725
+ },
726
+ {
727
+ "const": "low",
728
+ "description": "Faster generation with acceptable quality for rapid iteration."
729
+ }
730
+ ],
731
+ "default": "auto"
732
+ }
733
+ },
734
+ "additionalProperties": false
735
+ }
736
+ },
737
+ "additionalProperties": false
738
+ },
739
+ "taskType": {
740
+ "title": "Task Type",
741
+ "description": "Identifier for the type of task being performed",
742
+ "type": "string",
743
+ "const": "imageInference"
744
+ },
745
+ "taskUUID": {
746
+ "title": "Task UUID",
747
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
748
+ "type": "string",
749
+ "format": "uuid"
750
+ },
751
+ "webhookURL": {
752
+ "title": "Webhook URL",
753
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
754
+ "type": "string",
755
+ "format": "uri"
756
+ },
757
+ "includeCost": {
758
+ "title": "Include Cost",
759
+ "description": "Include task cost in the response.",
760
+ "type": "boolean",
761
+ "default": false
762
+ },
763
+ "numberResults": {
764
+ "title": "Number of Results",
765
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
766
+ "type": "integer",
767
+ "minimum": 1,
768
+ "default": 1,
769
+ "maximum": 20
770
+ },
771
+ "uploadEndpoint": {
772
+ "title": "Upload Endpoint",
773
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
774
+ "type": "string",
775
+ "format": "uri"
776
+ },
777
+ "ttl": {
778
+ "title": "TTL",
779
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
780
+ "type": "integer",
781
+ "minimum": 60
782
+ },
783
+ "outputType": {
784
+ "title": "Output Type",
785
+ "description": "Image output type.",
786
+ "type": "string",
787
+ "enum": [
788
+ "URL",
789
+ "base64Data",
790
+ "dataURI"
791
+ ],
792
+ "default": "URL"
793
+ },
794
+ "outputFormat": {
795
+ "title": "Output Format",
796
+ "description": "File format for the generated image.",
797
+ "type": "string",
798
+ "enum": [
799
+ "JPG",
800
+ "PNG",
801
+ "WEBP"
802
+ ],
803
+ "default": "JPG"
804
+ },
805
+ "outputQuality": {
806
+ "title": "Output Quality",
807
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
808
+ "type": "integer",
809
+ "minimum": 20,
810
+ "maximum": 99,
811
+ "default": 95
812
+ },
813
+ "deliveryMethod": {
814
+ "title": "Delivery Method",
815
+ "description": "Determines how the API delivers task results.",
816
+ "type": "string",
817
+ "oneOf": [
818
+ {
819
+ "const": "sync",
820
+ "description": "Returns complete results directly in the API response."
821
+ },
822
+ {
823
+ "const": "async",
824
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
825
+ }
826
+ ],
827
+ "default": "sync"
828
+ },
829
+ "safety": {
830
+ "type": "object",
831
+ "title": "Safety Settings",
832
+ "description": "Content safety checking configuration for image generation.",
833
+ "properties": {
834
+ "checkContent": {
835
+ "title": "Check Content",
836
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
837
+ "type": "boolean",
838
+ "default": false
839
+ },
840
+ "mode": {
841
+ "description": "Safety checking mode for image generation.",
842
+ "type": "string",
843
+ "oneOf": [
844
+ {
845
+ "const": "none",
846
+ "title": "None",
847
+ "description": "Disables checking."
848
+ },
849
+ {
850
+ "const": "fast",
851
+ "title": "Fast",
852
+ "description": "Performs a single check."
853
+ }
854
+ ],
855
+ "default": "none"
856
+ }
857
+ },
858
+ "additionalProperties": false
859
+ }
860
+ },
861
+ "required": [
862
+ "positivePrompt",
863
+ "width",
864
+ "height",
865
+ "taskType",
866
+ "taskUUID",
867
+ "model"
868
+ ],
869
+ "allOf": [
870
+ {
871
+ "dependentRequired": {
872
+ "width": [
873
+ "height"
874
+ ],
875
+ "height": [
876
+ "width"
877
+ ]
878
+ }
879
+ },
880
+ {
881
+ "oneOf": [
882
+ {
883
+ "title": "1K (1:1)",
884
+ "properties": {
885
+ "width": {
886
+ "const": 1024
887
+ },
888
+ "height": {
889
+ "const": 1024
890
+ }
891
+ }
892
+ },
893
+ {
894
+ "title": "1K (3:2)",
895
+ "properties": {
896
+ "width": {
897
+ "const": 1536
898
+ },
899
+ "height": {
900
+ "const": 1024
901
+ }
902
+ }
903
+ },
904
+ {
905
+ "title": "1K (2:3)",
906
+ "properties": {
907
+ "width": {
908
+ "const": 1024
909
+ },
910
+ "height": {
911
+ "const": 1536
912
+ }
913
+ }
914
+ }
915
+ ]
916
+ }
917
+ ],
918
+ "additionalProperties": false
919
+ },
920
+ {
921
+ "type": "object",
922
+ "properties": {
923
+ "model": {
924
+ "title": "Model",
925
+ "description": "Identifier of the model to use for generation.",
926
+ "type": "string",
927
+ "const": "openai:gpt-image@2"
928
+ },
929
+ "inputs": {
930
+ "title": "Inputs",
931
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
932
+ "type": "object",
933
+ "properties": {
934
+ "referenceImages": {
935
+ "title": "Reference Images",
936
+ "description": "List of reference images (UUID, URL, Data URI, or Base64).",
937
+ "type": "array",
938
+ "minItems": 1,
939
+ "items": {
940
+ "title": "Image",
941
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
942
+ "type": "string",
943
+ "anyOf": [
944
+ {
945
+ "format": "uuid"
946
+ },
947
+ {
948
+ "format": "uri"
949
+ },
950
+ {
951
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
952
+ },
953
+ {
954
+ "pattern": "^[a-zA-Z0-9+/=]+$"
955
+ }
956
+ ]
957
+ },
958
+ "maxItems": 16
959
+ }
960
+ },
961
+ "additionalProperties": false
962
+ },
963
+ "positivePrompt": {
964
+ "title": "Positive Prompt",
965
+ "description": "Text prompt describing elements to include in the generated output.",
966
+ "type": "string",
967
+ "minLength": 2,
968
+ "maxLength": 32000
969
+ },
970
+ "width": {
971
+ "title": "Width",
972
+ "description": "Width of the generated media in pixels.",
973
+ "type": "integer",
974
+ "minimum": 480,
975
+ "maximum": 3840,
976
+ "multipleOf": 16
977
+ },
978
+ "height": {
979
+ "title": "Height",
980
+ "description": "Height of the generated media in pixels.",
981
+ "type": "integer",
982
+ "minimum": 480,
983
+ "maximum": 3840,
984
+ "multipleOf": 16
985
+ },
986
+ "providerSettings": {
987
+ "title": "Provider Settings",
988
+ "description": "Provider-specific configuration settings.",
989
+ "type": "object",
990
+ "properties": {
991
+ "openai": {
992
+ "title": "OpenAI Settings",
993
+ "description": "Provider-specific settings for OpenAI.",
994
+ "type": "object",
995
+ "properties": {
996
+ "moderation": {
997
+ "title": "Moderation",
998
+ "description": "Content moderation level.",
999
+ "type": "string",
1000
+ "oneOf": [
1001
+ {
1002
+ "const": "auto",
1003
+ "description": "Standard filtering that limits creating certain categories of potentially age-inappropriate content."
1004
+ },
1005
+ {
1006
+ "const": "low",
1007
+ "description": "Less restrictive filtering."
1008
+ }
1009
+ ],
1010
+ "default": "auto"
1011
+ },
1012
+ "quality": {
1013
+ "title": "Quality",
1014
+ "description": "Image quality level.",
1015
+ "type": "string",
1016
+ "oneOf": [
1017
+ {
1018
+ "const": "auto",
1019
+ "description": "Automatically selects optimal quality based on context."
1020
+ },
1021
+ {
1022
+ "const": "high",
1023
+ "description": "Maximum quality with enhanced detail and refinement."
1024
+ },
1025
+ {
1026
+ "const": "medium",
1027
+ "description": "Balanced quality suitable for most use cases."
1028
+ },
1029
+ {
1030
+ "const": "low",
1031
+ "description": "Faster generation with acceptable quality for rapid iteration."
1032
+ }
1033
+ ],
1034
+ "default": "auto"
1035
+ }
1036
+ },
1037
+ "additionalProperties": false
1038
+ }
1039
+ },
1040
+ "additionalProperties": false
1041
+ },
1042
+ "taskType": {
1043
+ "title": "Task Type",
1044
+ "description": "Identifier for the type of task being performed",
1045
+ "type": "string",
1046
+ "const": "imageInference"
1047
+ },
1048
+ "taskUUID": {
1049
+ "title": "Task UUID",
1050
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
1051
+ "type": "string",
1052
+ "format": "uuid"
1053
+ },
1054
+ "webhookURL": {
1055
+ "title": "Webhook URL",
1056
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
1057
+ "type": "string",
1058
+ "format": "uri"
1059
+ },
1060
+ "includeCost": {
1061
+ "title": "Include Cost",
1062
+ "description": "Include task cost in the response.",
1063
+ "type": "boolean",
1064
+ "default": false
1065
+ },
1066
+ "numberResults": {
1067
+ "title": "Number of Results",
1068
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
1069
+ "type": "integer",
1070
+ "minimum": 1,
1071
+ "default": 1,
1072
+ "maximum": 20
1073
+ },
1074
+ "uploadEndpoint": {
1075
+ "title": "Upload Endpoint",
1076
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
1077
+ "type": "string",
1078
+ "format": "uri"
1079
+ },
1080
+ "ttl": {
1081
+ "title": "TTL",
1082
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
1083
+ "type": "integer",
1084
+ "minimum": 60
1085
+ },
1086
+ "outputType": {
1087
+ "title": "Output Type",
1088
+ "description": "Image output type.",
1089
+ "type": "string",
1090
+ "enum": [
1091
+ "URL",
1092
+ "base64Data",
1093
+ "dataURI"
1094
+ ],
1095
+ "default": "URL"
1096
+ },
1097
+ "outputFormat": {
1098
+ "title": "Output Format",
1099
+ "description": "File format for the generated image.",
1100
+ "type": "string",
1101
+ "enum": [
1102
+ "JPG",
1103
+ "PNG",
1104
+ "WEBP"
1105
+ ],
1106
+ "default": "JPG"
1107
+ },
1108
+ "outputQuality": {
1109
+ "title": "Output Quality",
1110
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
1111
+ "type": "integer",
1112
+ "minimum": 20,
1113
+ "maximum": 99,
1114
+ "default": 95
1115
+ },
1116
+ "deliveryMethod": {
1117
+ "title": "Delivery Method",
1118
+ "description": "Determines how the API delivers task results.",
1119
+ "type": "string",
1120
+ "oneOf": [
1121
+ {
1122
+ "const": "sync",
1123
+ "description": "Returns complete results directly in the API response."
1124
+ },
1125
+ {
1126
+ "const": "async",
1127
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
1128
+ }
1129
+ ],
1130
+ "default": "sync"
1131
+ },
1132
+ "safety": {
1133
+ "type": "object",
1134
+ "title": "Safety Settings",
1135
+ "description": "Content safety checking configuration for image generation.",
1136
+ "properties": {
1137
+ "checkContent": {
1138
+ "title": "Check Content",
1139
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
1140
+ "type": "boolean",
1141
+ "default": false
1142
+ },
1143
+ "mode": {
1144
+ "description": "Safety checking mode for image generation.",
1145
+ "type": "string",
1146
+ "oneOf": [
1147
+ {
1148
+ "const": "none",
1149
+ "title": "None",
1150
+ "description": "Disables checking."
1151
+ },
1152
+ {
1153
+ "const": "fast",
1154
+ "title": "Fast",
1155
+ "description": "Performs a single check."
1156
+ }
1157
+ ],
1158
+ "default": "none"
1159
+ }
1160
+ },
1161
+ "additionalProperties": false
1162
+ }
1163
+ },
1164
+ "required": [
1165
+ "positivePrompt",
1166
+ "width",
1167
+ "height",
1168
+ "taskType",
1169
+ "taskUUID",
1170
+ "model"
1171
+ ],
1172
+ "allOf": [
1173
+ {
1174
+ "dependentRequired": {
1175
+ "width": [
1176
+ "height"
1177
+ ],
1178
+ "height": [
1179
+ "width"
1180
+ ]
1181
+ }
1182
+ }
1183
+ ],
1184
+ "additionalProperties": false
1185
+ },
1186
+ {
1187
+ "type": "object",
1188
+ "properties": {
1189
+ "model": {
1190
+ "title": "Model",
1191
+ "description": "Identifier of the model to use for generation.",
1192
+ "type": "string",
1193
+ "const": "openai:1@1"
1194
+ },
1195
+ "inputs": {
1196
+ "title": "Inputs",
1197
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
1198
+ "type": "object",
1199
+ "properties": {
1200
+ "referenceImages": {
1201
+ "title": "Reference Images",
1202
+ "description": "List of reference images (UUID, URL, Data URI, or Base64).",
1203
+ "type": "array",
1204
+ "minItems": 1,
1205
+ "items": {
1206
+ "title": "Image",
1207
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
1208
+ "type": "string",
1209
+ "anyOf": [
1210
+ {
1211
+ "format": "uuid"
1212
+ },
1213
+ {
1214
+ "format": "uri"
1215
+ },
1216
+ {
1217
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
1218
+ },
1219
+ {
1220
+ "pattern": "^[a-zA-Z0-9+/=]+$"
1221
+ }
1222
+ ]
1223
+ },
1224
+ "maxItems": 16
1225
+ }
1226
+ },
1227
+ "additionalProperties": false
1228
+ },
1229
+ "positivePrompt": {
1230
+ "title": "Positive Prompt",
1231
+ "description": "Text prompt describing elements to include in the generated output.",
1232
+ "type": "string",
1233
+ "minLength": 1,
1234
+ "maxLength": 32000
1235
+ },
1236
+ "width": {
1237
+ "title": "Width",
1238
+ "description": "Width of the generated media in pixels.",
1239
+ "type": "integer"
1240
+ },
1241
+ "height": {
1242
+ "title": "Height",
1243
+ "description": "Height of the generated media in pixels.",
1244
+ "type": "integer"
1245
+ },
1246
+ "providerSettings": {
1247
+ "title": "Provider Settings",
1248
+ "description": "Provider-specific configuration settings.",
1249
+ "type": "object",
1250
+ "properties": {
1251
+ "openai": {
1252
+ "title": "OpenAI Settings",
1253
+ "description": "Provider-specific settings for OpenAI.",
1254
+ "type": "object",
1255
+ "properties": {
1256
+ "background": {
1257
+ "title": "Background",
1258
+ "description": "Background handling in generated images.",
1259
+ "type": "string",
1260
+ "oneOf": [
1261
+ {
1262
+ "const": "auto",
1263
+ "description": "Automatically determines the most appropriate background based on content."
1264
+ },
1265
+ {
1266
+ "const": "opaque",
1267
+ "description": "Solid background, no transparency."
1268
+ },
1269
+ {
1270
+ "const": "transparent",
1271
+ "description": "Transparent background areas where applicable."
1272
+ }
1273
+ ],
1274
+ "default": "auto"
1275
+ },
1276
+ "moderation": {
1277
+ "title": "Moderation",
1278
+ "description": "Content moderation level.",
1279
+ "type": "string",
1280
+ "oneOf": [
1281
+ {
1282
+ "const": "auto",
1283
+ "description": "Standard filtering that limits creating certain categories of potentially age-inappropriate content."
1284
+ },
1285
+ {
1286
+ "const": "low",
1287
+ "description": "Less restrictive filtering."
1288
+ }
1289
+ ],
1290
+ "default": "auto"
1291
+ },
1292
+ "quality": {
1293
+ "title": "Quality",
1294
+ "description": "Image quality level.",
1295
+ "type": "string",
1296
+ "oneOf": [
1297
+ {
1298
+ "const": "auto",
1299
+ "description": "Automatically selects optimal quality based on context."
1300
+ },
1301
+ {
1302
+ "const": "high",
1303
+ "description": "Maximum quality with enhanced detail and refinement."
1304
+ },
1305
+ {
1306
+ "const": "medium",
1307
+ "description": "Balanced quality suitable for most use cases."
1308
+ },
1309
+ {
1310
+ "const": "low",
1311
+ "description": "Faster generation with acceptable quality for rapid iteration."
1312
+ }
1313
+ ],
1314
+ "default": "auto"
1315
+ }
1316
+ },
1317
+ "additionalProperties": false
1318
+ }
1319
+ },
1320
+ "additionalProperties": false
1321
+ },
1322
+ "taskType": {
1323
+ "title": "Task Type",
1324
+ "description": "Identifier for the type of task being performed",
1325
+ "type": "string",
1326
+ "const": "imageInference"
1327
+ },
1328
+ "taskUUID": {
1329
+ "title": "Task UUID",
1330
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
1331
+ "type": "string",
1332
+ "format": "uuid"
1333
+ },
1334
+ "webhookURL": {
1335
+ "title": "Webhook URL",
1336
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
1337
+ "type": "string",
1338
+ "format": "uri"
1339
+ },
1340
+ "includeCost": {
1341
+ "title": "Include Cost",
1342
+ "description": "Include task cost in the response.",
1343
+ "type": "boolean",
1344
+ "default": false
1345
+ },
1346
+ "numberResults": {
1347
+ "title": "Number of Results",
1348
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
1349
+ "type": "integer",
1350
+ "minimum": 1,
1351
+ "default": 1,
1352
+ "maximum": 20
1353
+ },
1354
+ "uploadEndpoint": {
1355
+ "title": "Upload Endpoint",
1356
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
1357
+ "type": "string",
1358
+ "format": "uri"
1359
+ },
1360
+ "ttl": {
1361
+ "title": "TTL",
1362
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
1363
+ "type": "integer",
1364
+ "minimum": 60
1365
+ },
1366
+ "outputType": {
1367
+ "title": "Output Type",
1368
+ "description": "Image output type.",
1369
+ "type": "string",
1370
+ "enum": [
1371
+ "URL",
1372
+ "base64Data",
1373
+ "dataURI"
1374
+ ],
1375
+ "default": "URL"
1376
+ },
1377
+ "outputFormat": {
1378
+ "title": "Output Format",
1379
+ "description": "File format for the generated image.",
1380
+ "type": "string",
1381
+ "enum": [
1382
+ "JPG",
1383
+ "PNG",
1384
+ "WEBP"
1385
+ ],
1386
+ "default": "JPG"
1387
+ },
1388
+ "outputQuality": {
1389
+ "title": "Output Quality",
1390
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
1391
+ "type": "integer",
1392
+ "minimum": 20,
1393
+ "maximum": 99,
1394
+ "default": 95
1395
+ },
1396
+ "deliveryMethod": {
1397
+ "title": "Delivery Method",
1398
+ "description": "Determines how the API delivers task results.",
1399
+ "type": "string",
1400
+ "oneOf": [
1401
+ {
1402
+ "const": "sync",
1403
+ "description": "Returns complete results directly in the API response."
1404
+ },
1405
+ {
1406
+ "const": "async",
1407
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
1408
+ }
1409
+ ],
1410
+ "default": "sync"
1411
+ },
1412
+ "safety": {
1413
+ "type": "object",
1414
+ "title": "Safety Settings",
1415
+ "description": "Content safety checking configuration for image generation.",
1416
+ "properties": {
1417
+ "checkContent": {
1418
+ "title": "Check Content",
1419
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
1420
+ "type": "boolean",
1421
+ "default": false
1422
+ },
1423
+ "mode": {
1424
+ "description": "Safety checking mode for image generation.",
1425
+ "type": "string",
1426
+ "oneOf": [
1427
+ {
1428
+ "const": "none",
1429
+ "title": "None",
1430
+ "description": "Disables checking."
1431
+ },
1432
+ {
1433
+ "const": "fast",
1434
+ "title": "Fast",
1435
+ "description": "Performs a single check."
1436
+ }
1437
+ ],
1438
+ "default": "none"
1439
+ }
1440
+ },
1441
+ "additionalProperties": false
1442
+ }
1443
+ },
1444
+ "required": [
1445
+ "positivePrompt",
1446
+ "width",
1447
+ "height",
1448
+ "taskType",
1449
+ "taskUUID",
1450
+ "model"
1451
+ ],
1452
+ "allOf": [
1453
+ {
1454
+ "dependentRequired": {
1455
+ "width": [
1456
+ "height"
1457
+ ],
1458
+ "height": [
1459
+ "width"
1460
+ ]
1461
+ }
1462
+ },
1463
+ {
1464
+ "oneOf": [
1465
+ {
1466
+ "title": "1K (1:1)",
1467
+ "properties": {
1468
+ "width": {
1469
+ "const": 1024
1470
+ },
1471
+ "height": {
1472
+ "const": 1024
1473
+ }
1474
+ }
1475
+ },
1476
+ {
1477
+ "title": "1K (3:2)",
1478
+ "properties": {
1479
+ "width": {
1480
+ "const": 1536
1481
+ },
1482
+ "height": {
1483
+ "const": 1024
1484
+ }
1485
+ }
1486
+ },
1487
+ {
1488
+ "title": "1K (2:3)",
1489
+ "properties": {
1490
+ "width": {
1491
+ "const": 1024
1492
+ },
1493
+ "height": {
1494
+ "const": 1536
1495
+ }
1496
+ }
1497
+ }
1498
+ ]
1499
+ }
1500
+ ],
1501
+ "additionalProperties": false
1502
+ },
1503
+ {
1504
+ "type": "object",
1505
+ "properties": {
1506
+ "model": {
1507
+ "title": "Model",
1508
+ "description": "Identifier of the model to use for generation.",
1509
+ "type": "string",
1510
+ "const": "openai:1@2"
1511
+ },
1512
+ "inputs": {
1513
+ "title": "Inputs",
1514
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
1515
+ "type": "object",
1516
+ "properties": {
1517
+ "referenceImages": {
1518
+ "title": "Reference Images",
1519
+ "description": "List of reference images (UUID, URL, Data URI, or Base64).",
1520
+ "type": "array",
1521
+ "minItems": 1,
1522
+ "items": {
1523
+ "title": "Image",
1524
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
1525
+ "type": "string",
1526
+ "anyOf": [
1527
+ {
1528
+ "format": "uuid"
1529
+ },
1530
+ {
1531
+ "format": "uri"
1532
+ },
1533
+ {
1534
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
1535
+ },
1536
+ {
1537
+ "pattern": "^[a-zA-Z0-9+/=]+$"
1538
+ }
1539
+ ]
1540
+ },
1541
+ "maxItems": 16
1542
+ }
1543
+ },
1544
+ "additionalProperties": false
1545
+ },
1546
+ "positivePrompt": {
1547
+ "title": "Positive Prompt",
1548
+ "description": "Text prompt describing elements to include in the generated output.",
1549
+ "type": "string",
1550
+ "minLength": 1,
1551
+ "maxLength": 32000
1552
+ },
1553
+ "width": {
1554
+ "title": "Width",
1555
+ "description": "Width of the generated media in pixels.",
1556
+ "type": "integer"
1557
+ },
1558
+ "height": {
1559
+ "title": "Height",
1560
+ "description": "Height of the generated media in pixels.",
1561
+ "type": "integer"
1562
+ },
1563
+ "providerSettings": {
1564
+ "title": "Provider Settings",
1565
+ "description": "Provider-specific configuration settings.",
1566
+ "type": "object",
1567
+ "properties": {
1568
+ "openai": {
1569
+ "title": "OpenAI Settings",
1570
+ "description": "Provider-specific settings for OpenAI.",
1571
+ "type": "object",
1572
+ "properties": {
1573
+ "background": {
1574
+ "title": "Background",
1575
+ "description": "Background handling in generated images.",
1576
+ "type": "string",
1577
+ "oneOf": [
1578
+ {
1579
+ "const": "auto",
1580
+ "description": "Automatically determines the most appropriate background based on content."
1581
+ },
1582
+ {
1583
+ "const": "opaque",
1584
+ "description": "Solid background, no transparency."
1585
+ },
1586
+ {
1587
+ "const": "transparent",
1588
+ "description": "Transparent background areas where applicable."
1589
+ }
1590
+ ],
1591
+ "default": "auto"
1592
+ },
1593
+ "moderation": {
1594
+ "title": "Moderation",
1595
+ "description": "Content moderation level.",
1596
+ "type": "string",
1597
+ "oneOf": [
1598
+ {
1599
+ "const": "auto",
1600
+ "description": "Standard filtering that limits creating certain categories of potentially age-inappropriate content."
1601
+ },
1602
+ {
1603
+ "const": "low",
1604
+ "description": "Less restrictive filtering."
1605
+ }
1606
+ ],
1607
+ "default": "auto"
1608
+ },
1609
+ "quality": {
1610
+ "title": "Quality",
1611
+ "description": "Image quality level.",
1612
+ "type": "string",
1613
+ "oneOf": [
1614
+ {
1615
+ "const": "auto",
1616
+ "description": "Automatically selects optimal quality based on context."
1617
+ },
1618
+ {
1619
+ "const": "high",
1620
+ "description": "Maximum quality with enhanced detail and refinement."
1621
+ },
1622
+ {
1623
+ "const": "medium",
1624
+ "description": "Balanced quality suitable for most use cases."
1625
+ },
1626
+ {
1627
+ "const": "low",
1628
+ "description": "Faster generation with acceptable quality for rapid iteration."
1629
+ }
1630
+ ],
1631
+ "default": "auto"
1632
+ }
1633
+ },
1634
+ "additionalProperties": false
1635
+ }
1636
+ },
1637
+ "additionalProperties": false
1638
+ },
1639
+ "taskType": {
1640
+ "title": "Task Type",
1641
+ "description": "Identifier for the type of task being performed",
1642
+ "type": "string",
1643
+ "const": "imageInference"
1644
+ },
1645
+ "taskUUID": {
1646
+ "title": "Task UUID",
1647
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
1648
+ "type": "string",
1649
+ "format": "uuid"
1650
+ },
1651
+ "webhookURL": {
1652
+ "title": "Webhook URL",
1653
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
1654
+ "type": "string",
1655
+ "format": "uri"
1656
+ },
1657
+ "includeCost": {
1658
+ "title": "Include Cost",
1659
+ "description": "Include task cost in the response.",
1660
+ "type": "boolean",
1661
+ "default": false
1662
+ },
1663
+ "numberResults": {
1664
+ "title": "Number of Results",
1665
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
1666
+ "type": "integer",
1667
+ "minimum": 1,
1668
+ "default": 1,
1669
+ "maximum": 20
1670
+ },
1671
+ "uploadEndpoint": {
1672
+ "title": "Upload Endpoint",
1673
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
1674
+ "type": "string",
1675
+ "format": "uri"
1676
+ },
1677
+ "ttl": {
1678
+ "title": "TTL",
1679
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
1680
+ "type": "integer",
1681
+ "minimum": 60
1682
+ },
1683
+ "outputType": {
1684
+ "title": "Output Type",
1685
+ "description": "Image output type.",
1686
+ "type": "string",
1687
+ "enum": [
1688
+ "URL",
1689
+ "base64Data",
1690
+ "dataURI"
1691
+ ],
1692
+ "default": "URL"
1693
+ },
1694
+ "outputFormat": {
1695
+ "title": "Output Format",
1696
+ "description": "File format for the generated image.",
1697
+ "type": "string",
1698
+ "enum": [
1699
+ "JPG",
1700
+ "PNG",
1701
+ "WEBP"
1702
+ ],
1703
+ "default": "JPG"
1704
+ },
1705
+ "outputQuality": {
1706
+ "title": "Output Quality",
1707
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
1708
+ "type": "integer",
1709
+ "minimum": 20,
1710
+ "maximum": 99,
1711
+ "default": 95
1712
+ },
1713
+ "deliveryMethod": {
1714
+ "title": "Delivery Method",
1715
+ "description": "Determines how the API delivers task results.",
1716
+ "type": "string",
1717
+ "oneOf": [
1718
+ {
1719
+ "const": "sync",
1720
+ "description": "Returns complete results directly in the API response."
1721
+ },
1722
+ {
1723
+ "const": "async",
1724
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
1725
+ }
1726
+ ],
1727
+ "default": "sync"
1728
+ },
1729
+ "safety": {
1730
+ "type": "object",
1731
+ "title": "Safety Settings",
1732
+ "description": "Content safety checking configuration for image generation.",
1733
+ "properties": {
1734
+ "checkContent": {
1735
+ "title": "Check Content",
1736
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
1737
+ "type": "boolean",
1738
+ "default": false
1739
+ },
1740
+ "mode": {
1741
+ "description": "Safety checking mode for image generation.",
1742
+ "type": "string",
1743
+ "oneOf": [
1744
+ {
1745
+ "const": "none",
1746
+ "title": "None",
1747
+ "description": "Disables checking."
1748
+ },
1749
+ {
1750
+ "const": "fast",
1751
+ "title": "Fast",
1752
+ "description": "Performs a single check."
1753
+ }
1754
+ ],
1755
+ "default": "none"
1756
+ }
1757
+ },
1758
+ "additionalProperties": false
1759
+ }
1760
+ },
1761
+ "required": [
1762
+ "positivePrompt",
1763
+ "width",
1764
+ "height",
1765
+ "taskType",
1766
+ "taskUUID",
1767
+ "model"
1768
+ ],
1769
+ "allOf": [
1770
+ {
1771
+ "dependentRequired": {
1772
+ "width": [
1773
+ "height"
1774
+ ],
1775
+ "height": [
1776
+ "width"
1777
+ ]
1778
+ }
1779
+ },
1780
+ {
1781
+ "oneOf": [
1782
+ {
1783
+ "title": "1K (1:1)",
1784
+ "properties": {
1785
+ "width": {
1786
+ "const": 1024
1787
+ },
1788
+ "height": {
1789
+ "const": 1024
1790
+ }
1791
+ }
1792
+ },
1793
+ {
1794
+ "title": "1K (3:2)",
1795
+ "properties": {
1796
+ "width": {
1797
+ "const": 1536
1798
+ },
1799
+ "height": {
1800
+ "const": 1024
1801
+ }
1802
+ }
1803
+ },
1804
+ {
1805
+ "title": "1K (2:3)",
1806
+ "properties": {
1807
+ "width": {
1808
+ "const": 1024
1809
+ },
1810
+ "height": {
1811
+ "const": 1536
1812
+ }
1813
+ }
1814
+ }
1815
+ ]
1816
+ }
1817
+ ],
1818
+ "additionalProperties": false
1819
+ },
1820
+ {
1821
+ "type": "object",
1822
+ "properties": {
1823
+ "model": {
1824
+ "title": "Model",
1825
+ "description": "Identifier of the model to use for generation.",
1826
+ "type": "string",
1827
+ "const": "openai:gpt@5.4"
1828
+ },
1829
+ "includeCost": {
1830
+ "title": "Include Cost",
1831
+ "description": "Include task cost in the response.",
1832
+ "type": "boolean",
1833
+ "default": true
1834
+ },
1835
+ "inputs": {
1836
+ "title": "Inputs",
1837
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
1838
+ "type": "object",
1839
+ "properties": {
1840
+ "images": {
1841
+ "title": "Images",
1842
+ "description": "Array of image inputs (UUID, URL, Data URI, or Base64).",
1843
+ "type": "array",
1844
+ "minItems": 1,
1845
+ "items": {
1846
+ "title": "Image",
1847
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
1848
+ "type": "string",
1849
+ "anyOf": [
1850
+ {
1851
+ "format": "uuid"
1852
+ },
1853
+ {
1854
+ "format": "uri"
1855
+ },
1856
+ {
1857
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
1858
+ },
1859
+ {
1860
+ "pattern": "^[a-zA-Z0-9+/=]+$"
1861
+ }
1862
+ ]
1863
+ }
1864
+ }
1865
+ },
1866
+ "additionalProperties": false
1867
+ },
1868
+ "seed": {
1869
+ "title": "Seed",
1870
+ "description": "Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.",
1871
+ "type": "integer",
1872
+ "minimum": 0,
1873
+ "maximum": 9223372036854776000
1874
+ },
1875
+ "settings": {
1876
+ "title": "Settings",
1877
+ "description": "Global inference settings.",
1878
+ "type": "object",
1879
+ "properties": {
1880
+ "systemPrompt": {
1881
+ "title": "System Prompt",
1882
+ "description": "System-level instruction that guides the model's behavior and output style across the entire generation.",
1883
+ "type": "string",
1884
+ "minLength": 1,
1885
+ "maxLength": 200000
1886
+ },
1887
+ "temperature": {
1888
+ "title": "Temperature",
1889
+ "description": "Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.",
1890
+ "type": "number",
1891
+ "multipleOf": 0.01,
1892
+ "minimum": 0,
1893
+ "maximum": 2,
1894
+ "default": 1
1895
+ },
1896
+ "topP": {
1897
+ "title": "Top-P",
1898
+ "description": "Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.",
1899
+ "type": "number",
1900
+ "multipleOf": 0.01,
1901
+ "minimum": 0,
1902
+ "maximum": 1,
1903
+ "default": 0.95
1904
+ },
1905
+ "maxTokens": {
1906
+ "title": "Max Tokens",
1907
+ "description": "Maximum number of tokens to generate in the response.",
1908
+ "type": "integer",
1909
+ "minimum": 1,
1910
+ "default": 4096,
1911
+ "maximum": 128000
1912
+ },
1913
+ "thinkingLevel": {
1914
+ "title": "Thinking Level",
1915
+ "description": "Controls the depth of internal reasoning the model performs before generating a response.",
1916
+ "type": "string",
1917
+ "enum": [
1918
+ "low",
1919
+ "medium",
1920
+ "high",
1921
+ "xhigh"
1922
+ ]
1923
+ }
1924
+ },
1925
+ "additionalProperties": false
1926
+ },
1927
+ "messages": {
1928
+ "title": "Messages",
1929
+ "description": "Array of chat messages forming the conversation context.",
1930
+ "type": "array",
1931
+ "minItems": 1,
1932
+ "items": {
1933
+ "title": "Message",
1934
+ "description": "A single chat message with a role and content.",
1935
+ "type": "object",
1936
+ "properties": {
1937
+ "role": {
1938
+ "title": "Role",
1939
+ "description": "The role of the message author.",
1940
+ "type": "string",
1941
+ "enum": [
1942
+ "user",
1943
+ "assistant"
1944
+ ]
1945
+ },
1946
+ "content": {
1947
+ "title": "Content",
1948
+ "description": "The text content of the message.",
1949
+ "type": "string",
1950
+ "minLength": 1
1951
+ }
1952
+ },
1953
+ "required": [
1954
+ "role",
1955
+ "content"
1956
+ ],
1957
+ "additionalProperties": false
1958
+ }
1959
+ },
1960
+ "toolChoice": {
1961
+ "title": "Tool Choice",
1962
+ "description": "Controls how the model selects which tool to call. Requires tools to be defined.",
1963
+ "type": "object",
1964
+ "properties": {
1965
+ "type": {
1966
+ "title": "Type",
1967
+ "description": "Strategy the model uses to decide when and which tools to call.",
1968
+ "type": "string",
1969
+ "oneOf": [
1970
+ {
1971
+ "const": "auto",
1972
+ "description": "The model decides whether to call a tool based on the conversation context. This is the recommended default."
1973
+ },
1974
+ {
1975
+ "const": "any",
1976
+ "description": "The model must call at least one tool but chooses which one. Useful when you always need structured output."
1977
+ },
1978
+ {
1979
+ "const": "tool",
1980
+ "description": "The model must call the specific tool identified by `name`. Use this to force a particular function call."
1981
+ },
1982
+ {
1983
+ "const": "none",
1984
+ "description": "The model will not call any tool, even if tools are defined. Useful for forcing a text-only response."
1985
+ }
1986
+ ]
1987
+ },
1988
+ "name": {
1989
+ "title": "Name",
1990
+ "description": "Name of the specific tool the model must call. Required when type is `tool`.",
1991
+ "type": "string"
1992
+ }
1993
+ },
1994
+ "required": [
1995
+ "type"
1996
+ ],
1997
+ "if": {
1998
+ "properties": {
1999
+ "type": {
2000
+ "const": "tool"
2001
+ }
2002
+ }
2003
+ },
2004
+ "then": {
2005
+ "required": [
2006
+ "name"
2007
+ ]
2008
+ },
2009
+ "additionalProperties": false
2010
+ },
2011
+ "tools": {
2012
+ "title": "Tools",
2013
+ "description": "Tool definitions available for the model to call during generation.",
2014
+ "type": "array",
2015
+ "minItems": 1,
2016
+ "items": {
2017
+ "type": "object",
2018
+ "properties": {
2019
+ "type": {
2020
+ "title": "Type",
2021
+ "description": "The kind of tool to make available to the model. User-defined functions require `name` and `schema`, while built-in tools (`search`, `codeInterpreter`) are executed server-side by the provider.",
2022
+ "type": "string",
2023
+ "oneOf": [
2024
+ {
2025
+ "const": "function",
2026
+ "description": "User-defined function tool. The model outputs the tool name and arguments. You execute the function locally and send results back."
2027
+ },
2028
+ {
2029
+ "const": "search",
2030
+ "description": "Built-in web search. The provider executes search server-side and enriches the response automatically."
2031
+ },
2032
+ {
2033
+ "const": "codeInterpreter",
2034
+ "description": "Built-in code execution sandbox (Python). The provider runs code server-side and returns results automatically."
2035
+ }
2036
+ ]
2037
+ },
2038
+ "name": {
2039
+ "title": "Name",
2040
+ "description": "Unique function name. Required for function tools.",
2041
+ "type": "string",
2042
+ "pattern": "^[a-zA-Z0-9_-]+$",
2043
+ "maxLength": 64
2044
+ },
2045
+ "description": {
2046
+ "title": "Description",
2047
+ "description": "Explanation of what the function does, used by the model to decide when to call it.",
2048
+ "type": "string"
2049
+ },
2050
+ "schema": {
2051
+ "title": "Schema",
2052
+ "description": "JSON Schema object describing the function's input parameters.",
2053
+ "type": "object",
2054
+ "additionalProperties": false
2055
+ }
2056
+ },
2057
+ "required": [
2058
+ "type"
2059
+ ],
2060
+ "allOf": [
2061
+ {
2062
+ "if": {
2063
+ "properties": {
2064
+ "type": {
2065
+ "const": "function"
2066
+ }
2067
+ }
2068
+ },
2069
+ "then": {
2070
+ "required": [
2071
+ "name",
2072
+ "schema"
2073
+ ]
2074
+ }
2075
+ }
2076
+ ],
2077
+ "additionalProperties": false
2078
+ }
2079
+ },
2080
+ "taskType": {
2081
+ "title": "Task Type",
2082
+ "description": "Identifier for the type of task being performed",
2083
+ "type": "string",
2084
+ "const": "textInference"
2085
+ },
2086
+ "taskUUID": {
2087
+ "title": "Task UUID",
2088
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
2089
+ "type": "string",
2090
+ "format": "uuid"
2091
+ },
2092
+ "webhookURL": {
2093
+ "title": "Webhook URL",
2094
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
2095
+ "type": "string",
2096
+ "format": "uri"
2097
+ },
2098
+ "outputFormat": {
2099
+ "title": "Output Format",
2100
+ "description": "Output format for the generated text.",
2101
+ "type": "string",
2102
+ "enum": [
2103
+ "TEXT"
2104
+ ],
2105
+ "default": "TEXT"
2106
+ },
2107
+ "deliveryMethod": {
2108
+ "title": "Delivery Method",
2109
+ "description": "Determines how the API delivers task results.",
2110
+ "type": "string",
2111
+ "oneOf": [
2112
+ {
2113
+ "const": "sync",
2114
+ "description": "Returns complete results directly in the API response."
2115
+ },
2116
+ {
2117
+ "const": "async",
2118
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
2119
+ },
2120
+ {
2121
+ "const": "stream",
2122
+ "description": "Streams results token-by-token as they are generated."
2123
+ }
2124
+ ],
2125
+ "default": "sync"
2126
+ },
2127
+ "numberResults": {
2128
+ "title": "Number of Results",
2129
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
2130
+ "type": "integer",
2131
+ "minimum": 1,
2132
+ "default": 1,
2133
+ "maximum": 4
2134
+ },
2135
+ "includeUsage": {
2136
+ "title": "Include Usage",
2137
+ "description": "Include token usage statistics in the response.",
2138
+ "type": "boolean",
2139
+ "default": false
2140
+ }
2141
+ },
2142
+ "additionalProperties": false,
2143
+ "required": [
2144
+ "taskType",
2145
+ "taskUUID",
2146
+ "model",
2147
+ "messages"
2148
+ ]
2149
+ },
2150
+ {
2151
+ "type": "object",
2152
+ "properties": {
2153
+ "model": {
2154
+ "title": "Model",
2155
+ "description": "Identifier of the model to use for generation.",
2156
+ "type": "string",
2157
+ "const": "openai:gpt@5.4-mini"
2158
+ },
2159
+ "includeCost": {
2160
+ "title": "Include Cost",
2161
+ "description": "Include task cost in the response.",
2162
+ "type": "boolean",
2163
+ "default": true
2164
+ },
2165
+ "inputs": {
2166
+ "title": "Inputs",
2167
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
2168
+ "type": "object",
2169
+ "properties": {
2170
+ "images": {
2171
+ "title": "Images",
2172
+ "description": "Array of image inputs (UUID, URL, Data URI, or Base64).",
2173
+ "type": "array",
2174
+ "minItems": 1,
2175
+ "items": {
2176
+ "title": "Image",
2177
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
2178
+ "type": "string",
2179
+ "anyOf": [
2180
+ {
2181
+ "format": "uuid"
2182
+ },
2183
+ {
2184
+ "format": "uri"
2185
+ },
2186
+ {
2187
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
2188
+ },
2189
+ {
2190
+ "pattern": "^[a-zA-Z0-9+/=]+$"
2191
+ }
2192
+ ]
2193
+ }
2194
+ }
2195
+ },
2196
+ "additionalProperties": false
2197
+ },
2198
+ "seed": {
2199
+ "title": "Seed",
2200
+ "description": "Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.",
2201
+ "type": "integer",
2202
+ "minimum": 0,
2203
+ "maximum": 9223372036854776000
2204
+ },
2205
+ "settings": {
2206
+ "title": "Settings",
2207
+ "description": "Global inference settings.",
2208
+ "type": "object",
2209
+ "properties": {
2210
+ "systemPrompt": {
2211
+ "title": "System Prompt",
2212
+ "description": "System-level instruction that guides the model's behavior and output style across the entire generation.",
2213
+ "type": "string",
2214
+ "minLength": 1,
2215
+ "maxLength": 200000
2216
+ },
2217
+ "temperature": {
2218
+ "title": "Temperature",
2219
+ "description": "Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.",
2220
+ "type": "number",
2221
+ "multipleOf": 0.01,
2222
+ "minimum": 0,
2223
+ "maximum": 2,
2224
+ "default": 1
2225
+ },
2226
+ "topP": {
2227
+ "title": "Top-P",
2228
+ "description": "Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.",
2229
+ "type": "number",
2230
+ "multipleOf": 0.01,
2231
+ "minimum": 0,
2232
+ "maximum": 1,
2233
+ "default": 0.95
2234
+ },
2235
+ "maxTokens": {
2236
+ "title": "Max Tokens",
2237
+ "description": "Maximum number of tokens to generate in the response.",
2238
+ "type": "integer",
2239
+ "minimum": 1,
2240
+ "default": 4096,
2241
+ "maximum": 128000
2242
+ },
2243
+ "thinkingLevel": {
2244
+ "title": "Thinking Level",
2245
+ "description": "Controls the depth of internal reasoning the model performs before generating a response.",
2246
+ "type": "string",
2247
+ "enum": [
2248
+ "low",
2249
+ "medium",
2250
+ "high",
2251
+ "xhigh"
2252
+ ]
2253
+ }
2254
+ },
2255
+ "additionalProperties": false
2256
+ },
2257
+ "messages": {
2258
+ "title": "Messages",
2259
+ "description": "Array of chat messages forming the conversation context.",
2260
+ "type": "array",
2261
+ "minItems": 1,
2262
+ "items": {
2263
+ "title": "Message",
2264
+ "description": "A single chat message with a role and content.",
2265
+ "type": "object",
2266
+ "properties": {
2267
+ "role": {
2268
+ "title": "Role",
2269
+ "description": "The role of the message author.",
2270
+ "type": "string",
2271
+ "enum": [
2272
+ "user",
2273
+ "assistant"
2274
+ ]
2275
+ },
2276
+ "content": {
2277
+ "title": "Content",
2278
+ "description": "The text content of the message.",
2279
+ "type": "string",
2280
+ "minLength": 1
2281
+ }
2282
+ },
2283
+ "required": [
2284
+ "role",
2285
+ "content"
2286
+ ],
2287
+ "additionalProperties": false
2288
+ }
2289
+ },
2290
+ "toolChoice": {
2291
+ "title": "Tool Choice",
2292
+ "description": "Controls how the model selects which tool to call. Requires tools to be defined.",
2293
+ "type": "object",
2294
+ "properties": {
2295
+ "type": {
2296
+ "title": "Type",
2297
+ "description": "Strategy the model uses to decide when and which tools to call.",
2298
+ "type": "string",
2299
+ "oneOf": [
2300
+ {
2301
+ "const": "auto",
2302
+ "description": "The model decides whether to call a tool based on the conversation context. This is the recommended default."
2303
+ },
2304
+ {
2305
+ "const": "any",
2306
+ "description": "The model must call at least one tool but chooses which one. Useful when you always need structured output."
2307
+ },
2308
+ {
2309
+ "const": "tool",
2310
+ "description": "The model must call the specific tool identified by `name`. Use this to force a particular function call."
2311
+ },
2312
+ {
2313
+ "const": "none",
2314
+ "description": "The model will not call any tool, even if tools are defined. Useful for forcing a text-only response."
2315
+ }
2316
+ ]
2317
+ },
2318
+ "name": {
2319
+ "title": "Name",
2320
+ "description": "Name of the specific tool the model must call. Required when type is `tool`.",
2321
+ "type": "string"
2322
+ }
2323
+ },
2324
+ "required": [
2325
+ "type"
2326
+ ],
2327
+ "if": {
2328
+ "properties": {
2329
+ "type": {
2330
+ "const": "tool"
2331
+ }
2332
+ }
2333
+ },
2334
+ "then": {
2335
+ "required": [
2336
+ "name"
2337
+ ]
2338
+ },
2339
+ "additionalProperties": false
2340
+ },
2341
+ "tools": {
2342
+ "title": "Tools",
2343
+ "description": "Tool definitions available for the model to call during generation.",
2344
+ "type": "array",
2345
+ "minItems": 1,
2346
+ "items": {
2347
+ "type": "object",
2348
+ "properties": {
2349
+ "type": {
2350
+ "title": "Type",
2351
+ "description": "The kind of tool to make available to the model. User-defined functions require `name` and `schema`, while built-in tools (`search`, `codeInterpreter`) are executed server-side by the provider.",
2352
+ "type": "string",
2353
+ "oneOf": [
2354
+ {
2355
+ "const": "function",
2356
+ "description": "User-defined function tool. The model outputs the tool name and arguments. You execute the function locally and send results back."
2357
+ },
2358
+ {
2359
+ "const": "search",
2360
+ "description": "Built-in web search. The provider executes search server-side and enriches the response automatically."
2361
+ },
2362
+ {
2363
+ "const": "codeInterpreter",
2364
+ "description": "Built-in code execution sandbox (Python). The provider runs code server-side and returns results automatically."
2365
+ }
2366
+ ]
2367
+ },
2368
+ "name": {
2369
+ "title": "Name",
2370
+ "description": "Unique function name. Required for function tools.",
2371
+ "type": "string",
2372
+ "pattern": "^[a-zA-Z0-9_-]+$",
2373
+ "maxLength": 64
2374
+ },
2375
+ "description": {
2376
+ "title": "Description",
2377
+ "description": "Explanation of what the function does, used by the model to decide when to call it.",
2378
+ "type": "string"
2379
+ },
2380
+ "schema": {
2381
+ "title": "Schema",
2382
+ "description": "JSON Schema object describing the function's input parameters.",
2383
+ "type": "object",
2384
+ "additionalProperties": false
2385
+ }
2386
+ },
2387
+ "required": [
2388
+ "type"
2389
+ ],
2390
+ "allOf": [
2391
+ {
2392
+ "if": {
2393
+ "properties": {
2394
+ "type": {
2395
+ "const": "function"
2396
+ }
2397
+ }
2398
+ },
2399
+ "then": {
2400
+ "required": [
2401
+ "name",
2402
+ "schema"
2403
+ ]
2404
+ }
2405
+ }
2406
+ ],
2407
+ "additionalProperties": false
2408
+ }
2409
+ },
2410
+ "taskType": {
2411
+ "title": "Task Type",
2412
+ "description": "Identifier for the type of task being performed",
2413
+ "type": "string",
2414
+ "const": "textInference"
2415
+ },
2416
+ "taskUUID": {
2417
+ "title": "Task UUID",
2418
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
2419
+ "type": "string",
2420
+ "format": "uuid"
2421
+ },
2422
+ "webhookURL": {
2423
+ "title": "Webhook URL",
2424
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
2425
+ "type": "string",
2426
+ "format": "uri"
2427
+ },
2428
+ "outputFormat": {
2429
+ "title": "Output Format",
2430
+ "description": "Output format for the generated text.",
2431
+ "type": "string",
2432
+ "enum": [
2433
+ "TEXT"
2434
+ ],
2435
+ "default": "TEXT"
2436
+ },
2437
+ "deliveryMethod": {
2438
+ "title": "Delivery Method",
2439
+ "description": "Determines how the API delivers task results.",
2440
+ "type": "string",
2441
+ "oneOf": [
2442
+ {
2443
+ "const": "sync",
2444
+ "description": "Returns complete results directly in the API response."
2445
+ },
2446
+ {
2447
+ "const": "async",
2448
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
2449
+ },
2450
+ {
2451
+ "const": "stream",
2452
+ "description": "Streams results token-by-token as they are generated."
2453
+ }
2454
+ ],
2455
+ "default": "sync"
2456
+ },
2457
+ "numberResults": {
2458
+ "title": "Number of Results",
2459
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
2460
+ "type": "integer",
2461
+ "minimum": 1,
2462
+ "default": 1,
2463
+ "maximum": 4
2464
+ },
2465
+ "includeUsage": {
2466
+ "title": "Include Usage",
2467
+ "description": "Include token usage statistics in the response.",
2468
+ "type": "boolean",
2469
+ "default": false
2470
+ }
2471
+ },
2472
+ "additionalProperties": false,
2473
+ "required": [
2474
+ "taskType",
2475
+ "taskUUID",
2476
+ "model",
2477
+ "messages"
2478
+ ]
2479
+ },
2480
+ {
2481
+ "type": "object",
2482
+ "properties": {
2483
+ "model": {
2484
+ "title": "Model",
2485
+ "description": "Identifier of the model to use for generation.",
2486
+ "type": "string",
2487
+ "const": "openai:gpt@5.4-nano"
2488
+ },
2489
+ "includeCost": {
2490
+ "title": "Include Cost",
2491
+ "description": "Include task cost in the response.",
2492
+ "type": "boolean",
2493
+ "default": true
2494
+ },
2495
+ "inputs": {
2496
+ "title": "Inputs",
2497
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
2498
+ "type": "object",
2499
+ "properties": {
2500
+ "images": {
2501
+ "title": "Images",
2502
+ "description": "Array of image inputs (UUID, URL, Data URI, or Base64).",
2503
+ "type": "array",
2504
+ "minItems": 1,
2505
+ "items": {
2506
+ "title": "Image",
2507
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
2508
+ "type": "string",
2509
+ "anyOf": [
2510
+ {
2511
+ "format": "uuid"
2512
+ },
2513
+ {
2514
+ "format": "uri"
2515
+ },
2516
+ {
2517
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
2518
+ },
2519
+ {
2520
+ "pattern": "^[a-zA-Z0-9+/=]+$"
2521
+ }
2522
+ ]
2523
+ }
2524
+ }
2525
+ },
2526
+ "additionalProperties": false
2527
+ },
2528
+ "seed": {
2529
+ "title": "Seed",
2530
+ "description": "Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.",
2531
+ "type": "integer",
2532
+ "minimum": 0,
2533
+ "maximum": 9223372036854776000
2534
+ },
2535
+ "settings": {
2536
+ "title": "Settings",
2537
+ "description": "Global inference settings.",
2538
+ "type": "object",
2539
+ "properties": {
2540
+ "systemPrompt": {
2541
+ "title": "System Prompt",
2542
+ "description": "System-level instruction that guides the model's behavior and output style across the entire generation.",
2543
+ "type": "string",
2544
+ "minLength": 1,
2545
+ "maxLength": 200000
2546
+ },
2547
+ "temperature": {
2548
+ "title": "Temperature",
2549
+ "description": "Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.",
2550
+ "type": "number",
2551
+ "multipleOf": 0.01,
2552
+ "minimum": 0,
2553
+ "maximum": 2,
2554
+ "default": 1
2555
+ },
2556
+ "topP": {
2557
+ "title": "Top-P",
2558
+ "description": "Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.",
2559
+ "type": "number",
2560
+ "multipleOf": 0.01,
2561
+ "minimum": 0,
2562
+ "maximum": 1,
2563
+ "default": 0.95
2564
+ },
2565
+ "maxTokens": {
2566
+ "title": "Max Tokens",
2567
+ "description": "Maximum number of tokens to generate in the response.",
2568
+ "type": "integer",
2569
+ "minimum": 1,
2570
+ "default": 4096,
2571
+ "maximum": 128000
2572
+ },
2573
+ "thinkingLevel": {
2574
+ "title": "Thinking Level",
2575
+ "description": "Controls the depth of internal reasoning the model performs before generating a response.",
2576
+ "type": "string",
2577
+ "enum": [
2578
+ "low",
2579
+ "medium",
2580
+ "high",
2581
+ "xhigh"
2582
+ ]
2583
+ }
2584
+ },
2585
+ "additionalProperties": false
2586
+ },
2587
+ "messages": {
2588
+ "title": "Messages",
2589
+ "description": "Array of chat messages forming the conversation context.",
2590
+ "type": "array",
2591
+ "minItems": 1,
2592
+ "items": {
2593
+ "title": "Message",
2594
+ "description": "A single chat message with a role and content.",
2595
+ "type": "object",
2596
+ "properties": {
2597
+ "role": {
2598
+ "title": "Role",
2599
+ "description": "The role of the message author.",
2600
+ "type": "string",
2601
+ "enum": [
2602
+ "user",
2603
+ "assistant"
2604
+ ]
2605
+ },
2606
+ "content": {
2607
+ "title": "Content",
2608
+ "description": "The text content of the message.",
2609
+ "type": "string",
2610
+ "minLength": 1
2611
+ }
2612
+ },
2613
+ "required": [
2614
+ "role",
2615
+ "content"
2616
+ ],
2617
+ "additionalProperties": false
2618
+ }
2619
+ },
2620
+ "toolChoice": {
2621
+ "title": "Tool Choice",
2622
+ "description": "Controls how the model selects which tool to call. Requires tools to be defined.",
2623
+ "type": "object",
2624
+ "properties": {
2625
+ "type": {
2626
+ "title": "Type",
2627
+ "description": "Strategy the model uses to decide when and which tools to call.",
2628
+ "type": "string",
2629
+ "oneOf": [
2630
+ {
2631
+ "const": "auto",
2632
+ "description": "The model decides whether to call a tool based on the conversation context. This is the recommended default."
2633
+ },
2634
+ {
2635
+ "const": "any",
2636
+ "description": "The model must call at least one tool but chooses which one. Useful when you always need structured output."
2637
+ },
2638
+ {
2639
+ "const": "tool",
2640
+ "description": "The model must call the specific tool identified by `name`. Use this to force a particular function call."
2641
+ },
2642
+ {
2643
+ "const": "none",
2644
+ "description": "The model will not call any tool, even if tools are defined. Useful for forcing a text-only response."
2645
+ }
2646
+ ]
2647
+ },
2648
+ "name": {
2649
+ "title": "Name",
2650
+ "description": "Name of the specific tool the model must call. Required when type is `tool`.",
2651
+ "type": "string"
2652
+ }
2653
+ },
2654
+ "required": [
2655
+ "type"
2656
+ ],
2657
+ "if": {
2658
+ "properties": {
2659
+ "type": {
2660
+ "const": "tool"
2661
+ }
2662
+ }
2663
+ },
2664
+ "then": {
2665
+ "required": [
2666
+ "name"
2667
+ ]
2668
+ },
2669
+ "additionalProperties": false
2670
+ },
2671
+ "tools": {
2672
+ "title": "Tools",
2673
+ "description": "Tool definitions available for the model to call during generation.",
2674
+ "type": "array",
2675
+ "minItems": 1,
2676
+ "items": {
2677
+ "type": "object",
2678
+ "properties": {
2679
+ "type": {
2680
+ "title": "Type",
2681
+ "description": "The kind of tool to make available to the model. User-defined functions require `name` and `schema`, while built-in tools (`search`, `codeInterpreter`) are executed server-side by the provider.",
2682
+ "type": "string",
2683
+ "oneOf": [
2684
+ {
2685
+ "const": "function",
2686
+ "description": "User-defined function tool. The model outputs the tool name and arguments. You execute the function locally and send results back."
2687
+ },
2688
+ {
2689
+ "const": "search",
2690
+ "description": "Built-in web search. The provider executes search server-side and enriches the response automatically."
2691
+ },
2692
+ {
2693
+ "const": "codeInterpreter",
2694
+ "description": "Built-in code execution sandbox (Python). The provider runs code server-side and returns results automatically."
2695
+ }
2696
+ ]
2697
+ },
2698
+ "name": {
2699
+ "title": "Name",
2700
+ "description": "Unique function name. Required for function tools.",
2701
+ "type": "string",
2702
+ "pattern": "^[a-zA-Z0-9_-]+$",
2703
+ "maxLength": 64
2704
+ },
2705
+ "description": {
2706
+ "title": "Description",
2707
+ "description": "Explanation of what the function does, used by the model to decide when to call it.",
2708
+ "type": "string"
2709
+ },
2710
+ "schema": {
2711
+ "title": "Schema",
2712
+ "description": "JSON Schema object describing the function's input parameters.",
2713
+ "type": "object",
2714
+ "additionalProperties": false
2715
+ }
2716
+ },
2717
+ "required": [
2718
+ "type"
2719
+ ],
2720
+ "allOf": [
2721
+ {
2722
+ "if": {
2723
+ "properties": {
2724
+ "type": {
2725
+ "const": "function"
2726
+ }
2727
+ }
2728
+ },
2729
+ "then": {
2730
+ "required": [
2731
+ "name",
2732
+ "schema"
2733
+ ]
2734
+ }
2735
+ }
2736
+ ],
2737
+ "additionalProperties": false
2738
+ }
2739
+ },
2740
+ "taskType": {
2741
+ "title": "Task Type",
2742
+ "description": "Identifier for the type of task being performed",
2743
+ "type": "string",
2744
+ "const": "textInference"
2745
+ },
2746
+ "taskUUID": {
2747
+ "title": "Task UUID",
2748
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
2749
+ "type": "string",
2750
+ "format": "uuid"
2751
+ },
2752
+ "webhookURL": {
2753
+ "title": "Webhook URL",
2754
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
2755
+ "type": "string",
2756
+ "format": "uri"
2757
+ },
2758
+ "outputFormat": {
2759
+ "title": "Output Format",
2760
+ "description": "Output format for the generated text.",
2761
+ "type": "string",
2762
+ "enum": [
2763
+ "TEXT"
2764
+ ],
2765
+ "default": "TEXT"
2766
+ },
2767
+ "deliveryMethod": {
2768
+ "title": "Delivery Method",
2769
+ "description": "Determines how the API delivers task results.",
2770
+ "type": "string",
2771
+ "oneOf": [
2772
+ {
2773
+ "const": "sync",
2774
+ "description": "Returns complete results directly in the API response."
2775
+ },
2776
+ {
2777
+ "const": "async",
2778
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
2779
+ },
2780
+ {
2781
+ "const": "stream",
2782
+ "description": "Streams results token-by-token as they are generated."
2783
+ }
2784
+ ],
2785
+ "default": "sync"
2786
+ },
2787
+ "numberResults": {
2788
+ "title": "Number of Results",
2789
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
2790
+ "type": "integer",
2791
+ "minimum": 1,
2792
+ "default": 1,
2793
+ "maximum": 4
2794
+ },
2795
+ "includeUsage": {
2796
+ "title": "Include Usage",
2797
+ "description": "Include token usage statistics in the response.",
2798
+ "type": "boolean",
2799
+ "default": false
2800
+ }
2801
+ },
2802
+ "additionalProperties": false,
2803
+ "required": [
2804
+ "taskType",
2805
+ "taskUUID",
2806
+ "model",
2807
+ "messages"
2808
+ ]
2809
+ },
2810
+ {
2811
+ "type": "object",
2812
+ "properties": {
2813
+ "model": {
2814
+ "title": "Model",
2815
+ "description": "Identifier of the model to use for generation.",
2816
+ "type": "string",
2817
+ "const": "openai:gpt@5.4-pro"
2818
+ },
2819
+ "includeCost": {
2820
+ "title": "Include Cost",
2821
+ "description": "Include task cost in the response.",
2822
+ "type": "boolean",
2823
+ "default": true
2824
+ },
2825
+ "inputs": {
2826
+ "title": "Inputs",
2827
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
2828
+ "type": "object",
2829
+ "properties": {
2830
+ "images": {
2831
+ "title": "Images",
2832
+ "description": "Array of image inputs (UUID, URL, Data URI, or Base64).",
2833
+ "type": "array",
2834
+ "minItems": 1,
2835
+ "items": {
2836
+ "title": "Image",
2837
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
2838
+ "type": "string",
2839
+ "anyOf": [
2840
+ {
2841
+ "format": "uuid"
2842
+ },
2843
+ {
2844
+ "format": "uri"
2845
+ },
2846
+ {
2847
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
2848
+ },
2849
+ {
2850
+ "pattern": "^[a-zA-Z0-9+/=]+$"
2851
+ }
2852
+ ]
2853
+ }
2854
+ }
2855
+ },
2856
+ "additionalProperties": false
2857
+ },
2858
+ "seed": {
2859
+ "title": "Seed",
2860
+ "description": "Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.",
2861
+ "type": "integer",
2862
+ "minimum": 0,
2863
+ "maximum": 9223372036854776000
2864
+ },
2865
+ "settings": {
2866
+ "title": "Settings",
2867
+ "description": "Global inference settings.",
2868
+ "type": "object",
2869
+ "properties": {
2870
+ "systemPrompt": {
2871
+ "title": "System Prompt",
2872
+ "description": "System-level instruction that guides the model's behavior and output style across the entire generation.",
2873
+ "type": "string",
2874
+ "minLength": 1,
2875
+ "maxLength": 200000
2876
+ },
2877
+ "temperature": {
2878
+ "title": "Temperature",
2879
+ "description": "Controls randomness in generation. Lower values produce more deterministic outputs, higher values increase variation and creativity.",
2880
+ "type": "number",
2881
+ "multipleOf": 0.01,
2882
+ "minimum": 0,
2883
+ "maximum": 2,
2884
+ "default": 1
2885
+ },
2886
+ "topP": {
2887
+ "title": "Top-P",
2888
+ "description": "Nucleus sampling parameter that controls diversity by limiting the probability mass. Lower values make outputs more focused, higher values increase diversity.",
2889
+ "type": "number",
2890
+ "multipleOf": 0.01,
2891
+ "minimum": 0,
2892
+ "maximum": 1,
2893
+ "default": 0.95
2894
+ },
2895
+ "maxTokens": {
2896
+ "title": "Max Tokens",
2897
+ "description": "Maximum number of tokens to generate in the response.",
2898
+ "type": "integer",
2899
+ "minimum": 1,
2900
+ "default": 4096,
2901
+ "maximum": 128000
2902
+ },
2903
+ "thinkingLevel": {
2904
+ "title": "Thinking Level",
2905
+ "description": "Controls the depth of internal reasoning the model performs before generating a response.",
2906
+ "type": "string",
2907
+ "enum": [
2908
+ "low",
2909
+ "medium",
2910
+ "high",
2911
+ "xhigh"
2912
+ ]
2913
+ }
2914
+ },
2915
+ "additionalProperties": false
2916
+ },
2917
+ "messages": {
2918
+ "title": "Messages",
2919
+ "description": "Array of chat messages forming the conversation context.",
2920
+ "type": "array",
2921
+ "minItems": 1,
2922
+ "items": {
2923
+ "title": "Message",
2924
+ "description": "A single chat message with a role and content.",
2925
+ "type": "object",
2926
+ "properties": {
2927
+ "role": {
2928
+ "title": "Role",
2929
+ "description": "The role of the message author.",
2930
+ "type": "string",
2931
+ "enum": [
2932
+ "user",
2933
+ "assistant"
2934
+ ]
2935
+ },
2936
+ "content": {
2937
+ "title": "Content",
2938
+ "description": "The text content of the message.",
2939
+ "type": "string",
2940
+ "minLength": 1
2941
+ }
2942
+ },
2943
+ "required": [
2944
+ "role",
2945
+ "content"
2946
+ ],
2947
+ "additionalProperties": false
2948
+ }
2949
+ },
2950
+ "toolChoice": {
2951
+ "title": "Tool Choice",
2952
+ "description": "Controls how the model selects which tool to call. Requires tools to be defined.",
2953
+ "type": "object",
2954
+ "properties": {
2955
+ "type": {
2956
+ "title": "Type",
2957
+ "description": "Strategy the model uses to decide when and which tools to call.",
2958
+ "type": "string",
2959
+ "oneOf": [
2960
+ {
2961
+ "const": "auto",
2962
+ "description": "The model decides whether to call a tool based on the conversation context. This is the recommended default."
2963
+ },
2964
+ {
2965
+ "const": "any",
2966
+ "description": "The model must call at least one tool but chooses which one. Useful when you always need structured output."
2967
+ },
2968
+ {
2969
+ "const": "tool",
2970
+ "description": "The model must call the specific tool identified by `name`. Use this to force a particular function call."
2971
+ },
2972
+ {
2973
+ "const": "none",
2974
+ "description": "The model will not call any tool, even if tools are defined. Useful for forcing a text-only response."
2975
+ }
2976
+ ]
2977
+ },
2978
+ "name": {
2979
+ "title": "Name",
2980
+ "description": "Name of the specific tool the model must call. Required when type is `tool`.",
2981
+ "type": "string"
2982
+ }
2983
+ },
2984
+ "required": [
2985
+ "type"
2986
+ ],
2987
+ "if": {
2988
+ "properties": {
2989
+ "type": {
2990
+ "const": "tool"
2991
+ }
2992
+ }
2993
+ },
2994
+ "then": {
2995
+ "required": [
2996
+ "name"
2997
+ ]
2998
+ },
2999
+ "additionalProperties": false
3000
+ },
3001
+ "tools": {
3002
+ "title": "Tools",
3003
+ "description": "Tool definitions available for the model to call during generation.",
3004
+ "type": "array",
3005
+ "minItems": 1,
3006
+ "items": {
3007
+ "type": "object",
3008
+ "properties": {
3009
+ "type": {
3010
+ "title": "Type",
3011
+ "description": "The kind of tool to make available to the model. User-defined functions require `name` and `schema`, while built-in tools (`search`, `codeInterpreter`) are executed server-side by the provider.",
3012
+ "type": "string",
3013
+ "oneOf": [
3014
+ {
3015
+ "const": "function",
3016
+ "description": "User-defined function tool. The model outputs the tool name and arguments. You execute the function locally and send results back."
3017
+ },
3018
+ {
3019
+ "const": "search",
3020
+ "description": "Built-in web search. The provider executes search server-side and enriches the response automatically."
3021
+ },
3022
+ {
3023
+ "const": "codeInterpreter",
3024
+ "description": "Built-in code execution sandbox (Python). The provider runs code server-side and returns results automatically."
3025
+ }
3026
+ ]
3027
+ },
3028
+ "name": {
3029
+ "title": "Name",
3030
+ "description": "Unique function name. Required for function tools.",
3031
+ "type": "string",
3032
+ "pattern": "^[a-zA-Z0-9_-]+$",
3033
+ "maxLength": 64
3034
+ },
3035
+ "description": {
3036
+ "title": "Description",
3037
+ "description": "Explanation of what the function does, used by the model to decide when to call it.",
3038
+ "type": "string"
3039
+ },
3040
+ "schema": {
3041
+ "title": "Schema",
3042
+ "description": "JSON Schema object describing the function's input parameters.",
3043
+ "type": "object",
3044
+ "additionalProperties": false
3045
+ }
3046
+ },
3047
+ "required": [
3048
+ "type"
3049
+ ],
3050
+ "allOf": [
3051
+ {
3052
+ "if": {
3053
+ "properties": {
3054
+ "type": {
3055
+ "const": "function"
3056
+ }
3057
+ }
3058
+ },
3059
+ "then": {
3060
+ "required": [
3061
+ "name",
3062
+ "schema"
3063
+ ]
3064
+ }
3065
+ }
3066
+ ],
3067
+ "additionalProperties": false
3068
+ }
3069
+ },
3070
+ "taskType": {
3071
+ "title": "Task Type",
3072
+ "description": "Identifier for the type of task being performed",
3073
+ "type": "string",
3074
+ "const": "textInference"
3075
+ },
3076
+ "taskUUID": {
3077
+ "title": "Task UUID",
3078
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
3079
+ "type": "string",
3080
+ "format": "uuid"
3081
+ },
3082
+ "webhookURL": {
3083
+ "title": "Webhook URL",
3084
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
3085
+ "type": "string",
3086
+ "format": "uri"
3087
+ },
3088
+ "outputFormat": {
3089
+ "title": "Output Format",
3090
+ "description": "Output format for the generated text.",
3091
+ "type": "string",
3092
+ "enum": [
3093
+ "TEXT"
3094
+ ],
3095
+ "default": "TEXT"
3096
+ },
3097
+ "deliveryMethod": {
3098
+ "title": "Delivery Method",
3099
+ "description": "Determines how the API delivers task results.",
3100
+ "type": "string",
3101
+ "oneOf": [
3102
+ {
3103
+ "const": "sync",
3104
+ "description": "Returns complete results directly in the API response."
3105
+ },
3106
+ {
3107
+ "const": "async",
3108
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
3109
+ },
3110
+ {
3111
+ "const": "stream",
3112
+ "description": "Streams results token-by-token as they are generated."
3113
+ }
3114
+ ],
3115
+ "default": "sync"
3116
+ },
3117
+ "numberResults": {
3118
+ "title": "Number of Results",
3119
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
3120
+ "type": "integer",
3121
+ "minimum": 1,
3122
+ "default": 1,
3123
+ "maximum": 4
3124
+ },
3125
+ "includeUsage": {
3126
+ "title": "Include Usage",
3127
+ "description": "Include token usage statistics in the response.",
3128
+ "type": "boolean",
3129
+ "default": false
3130
+ }
3131
+ },
3132
+ "additionalProperties": false,
3133
+ "required": [
3134
+ "taskType",
3135
+ "taskUUID",
3136
+ "model",
3137
+ "messages"
3138
+ ]
3139
+ },
3140
+ {
3141
+ "type": "object",
3142
+ "properties": {
3143
+ "model": {
3144
+ "title": "Model",
3145
+ "description": "Identifier of the model to use for generation.",
3146
+ "type": "string",
3147
+ "const": "openai:gpt@5.5"
3148
+ },
3149
+ "outputFormat": {
3150
+ "title": "Output Format",
3151
+ "description": "Output format for the generated text.",
3152
+ "type": "string",
3153
+ "enum": [
3154
+ "TEXT",
3155
+ "JSON"
3156
+ ],
3157
+ "default": "TEXT"
3158
+ },
3159
+ "inputs": {
3160
+ "title": "Inputs",
3161
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
3162
+ "type": "object",
3163
+ "properties": {
3164
+ "images": {
3165
+ "title": "Images",
3166
+ "description": "Array of image inputs (UUID, URL, Data URI, or Base64).",
3167
+ "type": "array",
3168
+ "minItems": 1,
3169
+ "items": {
3170
+ "title": "Image",
3171
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
3172
+ "type": "string",
3173
+ "anyOf": [
3174
+ {
3175
+ "format": "uuid"
3176
+ },
3177
+ {
3178
+ "format": "uri"
3179
+ },
3180
+ {
3181
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
3182
+ },
3183
+ {
3184
+ "pattern": "^[a-zA-Z0-9+/=]+$"
3185
+ }
3186
+ ]
3187
+ }
3188
+ }
3189
+ },
3190
+ "additionalProperties": false
3191
+ },
3192
+ "settings": {
3193
+ "title": "Settings",
3194
+ "description": "Global inference settings.",
3195
+ "type": "object",
3196
+ "properties": {
3197
+ "systemPrompt": {
3198
+ "title": "System Prompt",
3199
+ "description": "System-level instruction that guides the model's behavior and output style across the entire generation.",
3200
+ "type": "string",
3201
+ "minLength": 1,
3202
+ "maxLength": 200000
3203
+ },
3204
+ "maxTokens": {
3205
+ "title": "Max Tokens",
3206
+ "description": "Maximum number of tokens to generate in the response.",
3207
+ "type": "integer",
3208
+ "minimum": 1,
3209
+ "default": 4096,
3210
+ "maximum": 128000
3211
+ },
3212
+ "thinkingLevel": {
3213
+ "title": "Thinking Level",
3214
+ "description": "Controls the depth of internal reasoning the model performs before generating a response.",
3215
+ "type": "string",
3216
+ "enum": [
3217
+ "none",
3218
+ "low",
3219
+ "medium",
3220
+ "high",
3221
+ "xhigh"
3222
+ ],
3223
+ "default": "medium"
3224
+ }
3225
+ },
3226
+ "additionalProperties": false
3227
+ },
3228
+ "jsonSchema": {
3229
+ "title": "JSON Schema",
3230
+ "description": "JSON Schema for structured output. Only honoured when `outputFormat` is JSON. Accepts the OpenAI envelope ({name, schema, strict}) or a bare JSON Schema; bare schemas are auto-wrapped with `name='response'` and `strict=true`.",
3231
+ "type": [
3232
+ "object",
3233
+ "string"
3234
+ ],
3235
+ "additionalProperties": true
3236
+ },
3237
+ "messages": {
3238
+ "title": "Messages",
3239
+ "description": "Array of chat messages forming the conversation context.",
3240
+ "type": "array",
3241
+ "minItems": 1,
3242
+ "items": {
3243
+ "title": "Message",
3244
+ "description": "A single chat message with a role and content.",
3245
+ "type": "object",
3246
+ "properties": {
3247
+ "role": {
3248
+ "title": "Role",
3249
+ "description": "The role of the message author.",
3250
+ "type": "string",
3251
+ "enum": [
3252
+ "user",
3253
+ "assistant"
3254
+ ]
3255
+ },
3256
+ "content": {
3257
+ "title": "Content",
3258
+ "description": "The text content of the message.",
3259
+ "type": "string",
3260
+ "minLength": 1
3261
+ }
3262
+ },
3263
+ "required": [
3264
+ "role",
3265
+ "content"
3266
+ ],
3267
+ "additionalProperties": false
3268
+ }
3269
+ },
3270
+ "toolChoice": {
3271
+ "title": "Tool Choice",
3272
+ "description": "Controls how the model selects which tool to call. Requires tools to be defined.",
3273
+ "type": "object",
3274
+ "properties": {
3275
+ "type": {
3276
+ "title": "Type",
3277
+ "description": "Strategy the model uses to decide when and which tools to call.",
3278
+ "type": "string",
3279
+ "oneOf": [
3280
+ {
3281
+ "const": "auto",
3282
+ "description": "The model decides whether to call a tool based on the conversation context. This is the recommended default."
3283
+ },
3284
+ {
3285
+ "const": "any",
3286
+ "description": "The model must call at least one tool but chooses which one. Useful when you always need structured output."
3287
+ },
3288
+ {
3289
+ "const": "tool",
3290
+ "description": "The model must call the specific tool identified by `name`. Use this to force a particular function call."
3291
+ },
3292
+ {
3293
+ "const": "none",
3294
+ "description": "The model will not call any tool, even if tools are defined. Useful for forcing a text-only response."
3295
+ }
3296
+ ]
3297
+ },
3298
+ "name": {
3299
+ "title": "Name",
3300
+ "description": "Name of the specific tool the model must call. Required when type is `tool`.",
3301
+ "type": "string"
3302
+ }
3303
+ },
3304
+ "required": [
3305
+ "type"
3306
+ ],
3307
+ "if": {
3308
+ "properties": {
3309
+ "type": {
3310
+ "const": "tool"
3311
+ }
3312
+ }
3313
+ },
3314
+ "then": {
3315
+ "required": [
3316
+ "name"
3317
+ ]
3318
+ },
3319
+ "additionalProperties": false
3320
+ },
3321
+ "tools": {
3322
+ "title": "Tools",
3323
+ "description": "Tool definitions available for the model to call during generation.",
3324
+ "type": "array",
3325
+ "minItems": 1,
3326
+ "items": {
3327
+ "type": "object",
3328
+ "properties": {
3329
+ "type": {
3330
+ "title": "Type",
3331
+ "description": "The kind of tool to make available to the model. User-defined functions require `name` and `schema`, while built-in tools (`search`, `codeInterpreter`) are executed server-side by the provider.",
3332
+ "type": "string",
3333
+ "oneOf": [
3334
+ {
3335
+ "const": "function",
3336
+ "description": "User-defined function tool. The model outputs the tool name and arguments. You execute the function locally and send results back."
3337
+ },
3338
+ {
3339
+ "const": "search",
3340
+ "description": "Built-in web search. The provider executes search server-side and enriches the response automatically."
3341
+ },
3342
+ {
3343
+ "const": "codeInterpreter",
3344
+ "description": "Built-in code execution sandbox (Python). The provider runs code server-side and returns results automatically."
3345
+ }
3346
+ ]
3347
+ },
3348
+ "name": {
3349
+ "title": "Name",
3350
+ "description": "Unique function name. Required for function tools.",
3351
+ "type": "string",
3352
+ "pattern": "^[a-zA-Z0-9_-]+$",
3353
+ "maxLength": 64
3354
+ },
3355
+ "description": {
3356
+ "title": "Description",
3357
+ "description": "Explanation of what the function does, used by the model to decide when to call it.",
3358
+ "type": "string"
3359
+ },
3360
+ "schema": {
3361
+ "title": "Schema",
3362
+ "description": "JSON Schema object describing the function's input parameters.",
3363
+ "type": "object",
3364
+ "additionalProperties": false
3365
+ }
3366
+ },
3367
+ "required": [
3368
+ "type"
3369
+ ],
3370
+ "allOf": [
3371
+ {
3372
+ "if": {
3373
+ "properties": {
3374
+ "type": {
3375
+ "const": "function"
3376
+ }
3377
+ }
3378
+ },
3379
+ "then": {
3380
+ "required": [
3381
+ "name",
3382
+ "schema"
3383
+ ]
3384
+ }
3385
+ }
3386
+ ],
3387
+ "additionalProperties": false
3388
+ }
3389
+ },
3390
+ "taskType": {
3391
+ "title": "Task Type",
3392
+ "description": "Identifier for the type of task being performed",
3393
+ "type": "string",
3394
+ "const": "textInference"
3395
+ },
3396
+ "taskUUID": {
3397
+ "title": "Task UUID",
3398
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
3399
+ "type": "string",
3400
+ "format": "uuid"
3401
+ },
3402
+ "webhookURL": {
3403
+ "title": "Webhook URL",
3404
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
3405
+ "type": "string",
3406
+ "format": "uri"
3407
+ },
3408
+ "includeCost": {
3409
+ "title": "Include Cost",
3410
+ "description": "Include task cost in the response.",
3411
+ "type": "boolean",
3412
+ "default": false
3413
+ },
3414
+ "deliveryMethod": {
3415
+ "title": "Delivery Method",
3416
+ "description": "Determines how the API delivers task results.",
3417
+ "type": "string",
3418
+ "oneOf": [
3419
+ {
3420
+ "const": "sync",
3421
+ "description": "Returns complete results directly in the API response."
3422
+ },
3423
+ {
3424
+ "const": "async",
3425
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse."
3426
+ },
3427
+ {
3428
+ "const": "stream",
3429
+ "description": "Streams results token-by-token as they are generated."
3430
+ }
3431
+ ],
3432
+ "default": "sync"
3433
+ },
3434
+ "numberResults": {
3435
+ "title": "Number of Results",
3436
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
3437
+ "type": "integer",
3438
+ "minimum": 1,
3439
+ "default": 1,
3440
+ "maximum": 4
3441
+ },
3442
+ "includeUsage": {
3443
+ "title": "Include Usage",
3444
+ "description": "Include token usage statistics in the response.",
3445
+ "type": "boolean",
3446
+ "default": false
3447
+ }
3448
+ },
3449
+ "additionalProperties": false,
3450
+ "required": [
3451
+ "taskType",
3452
+ "taskUUID",
3453
+ "model",
3454
+ "messages"
3455
+ ]
3456
+ },
3457
+ {
3458
+ "type": "object",
3459
+ "properties": {
3460
+ "model": {
3461
+ "title": "Model",
3462
+ "description": "Identifier of the model to use for generation.",
3463
+ "type": "string",
3464
+ "const": "openai:3@2"
3465
+ },
3466
+ "inputs": {
3467
+ "title": "Inputs",
3468
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
3469
+ "type": "object",
3470
+ "properties": {
3471
+ "frameImages": {
3472
+ "title": "Frame Images",
3473
+ "description": "List of frame-specific image inputs. Each item can be either a plain image input (UUID, URL, Data URI, or Base64) or an object with an image and a target frame position.",
3474
+ "type": "array",
3475
+ "minItems": 1,
3476
+ "items": {
3477
+ "anyOf": [
3478
+ {
3479
+ "title": "Image",
3480
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
3481
+ "type": "string",
3482
+ "anyOf": [
3483
+ {
3484
+ "format": "uuid"
3485
+ },
3486
+ {
3487
+ "format": "uri"
3488
+ },
3489
+ {
3490
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
3491
+ },
3492
+ {
3493
+ "pattern": "^[a-zA-Z0-9+/=]+$"
3494
+ }
3495
+ ]
3496
+ },
3497
+ {
3498
+ "type": "object",
3499
+ "properties": {
3500
+ "image": {
3501
+ "title": "Image",
3502
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
3503
+ "type": "string",
3504
+ "anyOf": [
3505
+ {
3506
+ "format": "uuid"
3507
+ },
3508
+ {
3509
+ "format": "uri"
3510
+ },
3511
+ {
3512
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
3513
+ },
3514
+ {
3515
+ "pattern": "^[a-zA-Z0-9+/=]+$"
3516
+ }
3517
+ ]
3518
+ },
3519
+ "frame": {
3520
+ "title": "Frame",
3521
+ "description": "Target frame position for the image. This model only supports the first frame.",
3522
+ "oneOf": [
3523
+ {
3524
+ "const": "first",
3525
+ "description": "First frame of the video."
3526
+ },
3527
+ {
3528
+ "const": 0,
3529
+ "description": "Frame index 0 (first frame)."
3530
+ }
3531
+ ]
3532
+ }
3533
+ },
3534
+ "required": [
3535
+ "image"
3536
+ ],
3537
+ "additionalProperties": false
3538
+ }
3539
+ ]
3540
+ },
3541
+ "maxItems": 1
3542
+ },
3543
+ "videoId": {
3544
+ "type": "string",
3545
+ "title": "Video ID",
3546
+ "description": "ID of a previously generated video. Used for remixing or extending."
3547
+ }
3548
+ },
3549
+ "additionalProperties": false
3550
+ },
3551
+ "positivePrompt": {
3552
+ "title": "Positive Prompt",
3553
+ "description": "Text prompt describing elements to include in the generated output.",
3554
+ "type": "string",
3555
+ "minLength": 2,
3556
+ "maxLength": 6000
3557
+ },
3558
+ "width": {
3559
+ "title": "Width",
3560
+ "description": "Width of the generated media in pixels.",
3561
+ "type": "integer"
3562
+ },
3563
+ "height": {
3564
+ "title": "Height",
3565
+ "description": "Height of the generated media in pixels.",
3566
+ "type": "integer"
3567
+ },
3568
+ "duration": {
3569
+ "title": "Duration",
3570
+ "description": "Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).",
3571
+ "type": "number",
3572
+ "enum": [
3573
+ 4,
3574
+ 8,
3575
+ 12,
3576
+ 16,
3577
+ 20
3578
+ ]
3579
+ },
3580
+ "taskType": {
3581
+ "title": "Task Type",
3582
+ "description": "Identifier for the type of task being performed",
3583
+ "type": "string",
3584
+ "const": "videoInference"
3585
+ },
3586
+ "taskUUID": {
3587
+ "title": "Task UUID",
3588
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
3589
+ "type": "string",
3590
+ "format": "uuid"
3591
+ },
3592
+ "webhookURL": {
3593
+ "title": "Webhook URL",
3594
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
3595
+ "type": "string",
3596
+ "format": "uri"
3597
+ },
3598
+ "includeCost": {
3599
+ "title": "Include Cost",
3600
+ "description": "Include task cost in the response.",
3601
+ "type": "boolean",
3602
+ "default": false
3603
+ },
3604
+ "numberResults": {
3605
+ "title": "Number of Results",
3606
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
3607
+ "type": "integer",
3608
+ "minimum": 1,
3609
+ "default": 1,
3610
+ "maximum": 4
3611
+ },
3612
+ "uploadEndpoint": {
3613
+ "title": "Upload Endpoint",
3614
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
3615
+ "type": "string",
3616
+ "format": "uri"
3617
+ },
3618
+ "ttl": {
3619
+ "title": "TTL",
3620
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
3621
+ "type": "integer",
3622
+ "minimum": 60
3623
+ },
3624
+ "outputType": {
3625
+ "title": "Output Type",
3626
+ "description": "Video output type.",
3627
+ "type": "string",
3628
+ "enum": [
3629
+ "URL"
3630
+ ],
3631
+ "default": "URL"
3632
+ },
3633
+ "outputFormat": {
3634
+ "title": "Output Format",
3635
+ "description": "File format for the generated video.",
3636
+ "type": "string",
3637
+ "enum": [
3638
+ "MP4",
3639
+ "WEBM",
3640
+ "MOV"
3641
+ ],
3642
+ "default": "MP4"
3643
+ },
3644
+ "outputQuality": {
3645
+ "title": "Output Quality",
3646
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
3647
+ "type": "integer",
3648
+ "minimum": 20,
3649
+ "maximum": 99,
3650
+ "default": 95
3651
+ },
3652
+ "deliveryMethod": {
3653
+ "title": "Delivery Method",
3654
+ "description": "Determines how the API delivers task results.",
3655
+ "type": "string",
3656
+ "oneOf": [
3657
+ {
3658
+ "const": "async",
3659
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse. Required for long-running tasks like video generation."
3660
+ }
3661
+ ],
3662
+ "default": "async"
3663
+ },
3664
+ "safety": {
3665
+ "type": "object",
3666
+ "title": "Safety Settings",
3667
+ "description": "Content safety checking configuration for video generation.",
3668
+ "properties": {
3669
+ "checkContent": {
3670
+ "title": "Check Content",
3671
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
3672
+ "type": "boolean",
3673
+ "default": false
3674
+ },
3675
+ "mode": {
3676
+ "description": "Safety checking mode for video generation.",
3677
+ "type": "string",
3678
+ "oneOf": [
3679
+ {
3680
+ "const": "none",
3681
+ "title": "None",
3682
+ "description": "Disables checking."
3683
+ },
3684
+ {
3685
+ "const": "fast",
3686
+ "title": "Fast",
3687
+ "description": "Checks key frames."
3688
+ },
3689
+ {
3690
+ "const": "full",
3691
+ "title": "Full",
3692
+ "description": "Checks all frames."
3693
+ }
3694
+ ],
3695
+ "default": "none"
3696
+ }
3697
+ },
3698
+ "additionalProperties": false
3699
+ }
3700
+ },
3701
+ "required": [
3702
+ "positivePrompt",
3703
+ "taskType",
3704
+ "taskUUID",
3705
+ "model"
3706
+ ],
3707
+ "allOf": [
3708
+ {
3709
+ "dependentRequired": {
3710
+ "width": [
3711
+ "height"
3712
+ ],
3713
+ "height": [
3714
+ "width"
3715
+ ]
3716
+ }
3717
+ },
3718
+ {
3719
+ "oneOf": [
3720
+ {
3721
+ "title": "720p (16:9)",
3722
+ "properties": {
3723
+ "width": {
3724
+ "const": 1280
3725
+ },
3726
+ "height": {
3727
+ "const": 720
3728
+ }
3729
+ }
3730
+ },
3731
+ {
3732
+ "title": "720p (9:16)",
3733
+ "properties": {
3734
+ "width": {
3735
+ "const": 720
3736
+ },
3737
+ "height": {
3738
+ "const": 1280
3739
+ }
3740
+ }
3741
+ },
3742
+ {
3743
+ "title": "1080p (16:9)",
3744
+ "properties": {
3745
+ "width": {
3746
+ "const": 1920
3747
+ },
3748
+ "height": {
3749
+ "const": 1080
3750
+ }
3751
+ }
3752
+ },
3753
+ {
3754
+ "title": "1080p (9:16)",
3755
+ "properties": {
3756
+ "width": {
3757
+ "const": 1080
3758
+ },
3759
+ "height": {
3760
+ "const": 1920
3761
+ }
3762
+ }
3763
+ }
3764
+ ]
3765
+ },
3766
+ {
3767
+ "if": {
3768
+ "not": {
3769
+ "properties": {
3770
+ "inputs": {
3771
+ "properties": {
3772
+ "frameImages": {
3773
+ "minItems": 1
3774
+ }
3775
+ },
3776
+ "required": [
3777
+ "frameImages"
3778
+ ]
3779
+ }
3780
+ },
3781
+ "required": [
3782
+ "inputs"
3783
+ ]
3784
+ }
3785
+ },
3786
+ "then": {
3787
+ "required": [
3788
+ "width",
3789
+ "height"
3790
+ ]
3791
+ }
3792
+ },
3793
+ {
3794
+ "if": {
3795
+ "properties": {
3796
+ "inputs": {
3797
+ "required": [
3798
+ "videoId"
3799
+ ]
3800
+ }
3801
+ },
3802
+ "required": [
3803
+ "inputs"
3804
+ ]
3805
+ },
3806
+ "then": {
3807
+ "not": {
3808
+ "anyOf": [
3809
+ {
3810
+ "required": [
3811
+ "width"
3812
+ ]
3813
+ },
3814
+ {
3815
+ "required": [
3816
+ "height"
3817
+ ]
3818
+ },
3819
+ {
3820
+ "properties": {
3821
+ "inputs": {
3822
+ "required": [
3823
+ "frameImages"
3824
+ ]
3825
+ }
3826
+ },
3827
+ "required": [
3828
+ "inputs"
3829
+ ]
3830
+ }
3831
+ ]
3832
+ }
3833
+ }
3834
+ }
3835
+ ],
3836
+ "additionalProperties": false
3837
+ },
3838
+ {
3839
+ "type": "object",
3840
+ "properties": {
3841
+ "model": {
3842
+ "title": "Model",
3843
+ "description": "Identifier of the model to use for generation.",
3844
+ "type": "string",
3845
+ "const": "openai:3@1"
3846
+ },
3847
+ "inputs": {
3848
+ "title": "Inputs",
3849
+ "description": "The unified payload wrapper for complex media assets dictating image, video or audio inference constraints.",
3850
+ "type": "object",
3851
+ "properties": {
3852
+ "frameImages": {
3853
+ "title": "Frame Images",
3854
+ "description": "List of frame-specific image inputs. Each item can be either a plain image input (UUID, URL, Data URI, or Base64) or an object with an image and a target frame position.",
3855
+ "type": "array",
3856
+ "minItems": 1,
3857
+ "items": {
3858
+ "anyOf": [
3859
+ {
3860
+ "title": "Image",
3861
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
3862
+ "type": "string",
3863
+ "anyOf": [
3864
+ {
3865
+ "format": "uuid"
3866
+ },
3867
+ {
3868
+ "format": "uri"
3869
+ },
3870
+ {
3871
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
3872
+ },
3873
+ {
3874
+ "pattern": "^[a-zA-Z0-9+/=]+$"
3875
+ }
3876
+ ]
3877
+ },
3878
+ {
3879
+ "type": "object",
3880
+ "properties": {
3881
+ "image": {
3882
+ "title": "Image",
3883
+ "description": "Image input (UUID, URL, Data URI, or Base64).",
3884
+ "type": "string",
3885
+ "anyOf": [
3886
+ {
3887
+ "format": "uuid"
3888
+ },
3889
+ {
3890
+ "format": "uri"
3891
+ },
3892
+ {
3893
+ "pattern": "^data:image\\/[a-zA-Z]+;base64,[a-zA-Z0-9+/=]+$"
3894
+ },
3895
+ {
3896
+ "pattern": "^[a-zA-Z0-9+/=]+$"
3897
+ }
3898
+ ]
3899
+ },
3900
+ "frame": {
3901
+ "title": "Frame",
3902
+ "description": "Target frame position for the image. This model only supports the first frame.",
3903
+ "oneOf": [
3904
+ {
3905
+ "const": "first",
3906
+ "description": "First frame of the video."
3907
+ },
3908
+ {
3909
+ "const": 0,
3910
+ "description": "Frame index 0 (first frame)."
3911
+ }
3912
+ ]
3913
+ }
3914
+ },
3915
+ "required": [
3916
+ "image"
3917
+ ],
3918
+ "additionalProperties": false
3919
+ }
3920
+ ]
3921
+ },
3922
+ "maxItems": 1
3923
+ },
3924
+ "videoId": {
3925
+ "type": "string",
3926
+ "title": "Video ID",
3927
+ "description": "ID of a previously generated video. Used for remixing or extending."
3928
+ }
3929
+ },
3930
+ "additionalProperties": false
3931
+ },
3932
+ "positivePrompt": {
3933
+ "title": "Positive Prompt",
3934
+ "description": "Text prompt describing elements to include in the generated output.",
3935
+ "type": "string",
3936
+ "minLength": 2,
3937
+ "maxLength": 6000
3938
+ },
3939
+ "width": {
3940
+ "title": "Width",
3941
+ "description": "Width of the generated media in pixels.",
3942
+ "type": "integer"
3943
+ },
3944
+ "height": {
3945
+ "title": "Height",
3946
+ "description": "Height of the generated media in pixels.",
3947
+ "type": "integer"
3948
+ },
3949
+ "duration": {
3950
+ "title": "Duration",
3951
+ "description": "Length of the generated video in seconds. The total number of frames produced is determined by duration multiplied by the model's frame rate (fps).",
3952
+ "type": "number",
3953
+ "enum": [
3954
+ 4,
3955
+ 8,
3956
+ 12,
3957
+ 16,
3958
+ 20
3959
+ ]
3960
+ },
3961
+ "taskType": {
3962
+ "title": "Task Type",
3963
+ "description": "Identifier for the type of task being performed",
3964
+ "type": "string",
3965
+ "const": "videoInference"
3966
+ },
3967
+ "taskUUID": {
3968
+ "title": "Task UUID",
3969
+ "description": "UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.",
3970
+ "type": "string",
3971
+ "format": "uuid"
3972
+ },
3973
+ "webhookURL": {
3974
+ "title": "Webhook URL",
3975
+ "description": "Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.",
3976
+ "type": "string",
3977
+ "format": "uri"
3978
+ },
3979
+ "includeCost": {
3980
+ "title": "Include Cost",
3981
+ "description": "Include task cost in the response.",
3982
+ "type": "boolean",
3983
+ "default": false
3984
+ },
3985
+ "numberResults": {
3986
+ "title": "Number of Results",
3987
+ "description": "Number of results to generate. Each result uses a different seed, producing variations of the same parameters.",
3988
+ "type": "integer",
3989
+ "minimum": 1,
3990
+ "default": 1,
3991
+ "maximum": 4
3992
+ },
3993
+ "uploadEndpoint": {
3994
+ "title": "Upload Endpoint",
3995
+ "description": "URL to upload content via HTTP PUT. The request body will contain the raw binary data.",
3996
+ "type": "string",
3997
+ "format": "uri"
3998
+ },
3999
+ "ttl": {
4000
+ "title": "TTL",
4001
+ "description": "Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.",
4002
+ "type": "integer",
4003
+ "minimum": 60
4004
+ },
4005
+ "outputType": {
4006
+ "title": "Output Type",
4007
+ "description": "Video output type.",
4008
+ "type": "string",
4009
+ "enum": [
4010
+ "URL"
4011
+ ],
4012
+ "default": "URL"
4013
+ },
4014
+ "outputFormat": {
4015
+ "title": "Output Format",
4016
+ "description": "File format for the generated video.",
4017
+ "type": "string",
4018
+ "enum": [
4019
+ "MP4",
4020
+ "WEBM",
4021
+ "MOV"
4022
+ ],
4023
+ "default": "MP4"
4024
+ },
4025
+ "outputQuality": {
4026
+ "title": "Output Quality",
4027
+ "description": "Compression quality of the output. Higher values preserve quality but increase file size.",
4028
+ "type": "integer",
4029
+ "minimum": 20,
4030
+ "maximum": 99,
4031
+ "default": 95
4032
+ },
4033
+ "deliveryMethod": {
4034
+ "title": "Delivery Method",
4035
+ "description": "Determines how the API delivers task results.",
4036
+ "type": "string",
4037
+ "oneOf": [
4038
+ {
4039
+ "const": "async",
4040
+ "description": "Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse. Required for long-running tasks like video generation."
4041
+ }
4042
+ ],
4043
+ "default": "async"
4044
+ },
4045
+ "safety": {
4046
+ "type": "object",
4047
+ "title": "Safety Settings",
4048
+ "description": "Content safety checking configuration for video generation.",
4049
+ "properties": {
4050
+ "checkContent": {
4051
+ "title": "Check Content",
4052
+ "description": "Enable or disable content safety checking. When enabled, defaults to `fast` mode.",
4053
+ "type": "boolean",
4054
+ "default": false
4055
+ },
4056
+ "mode": {
4057
+ "description": "Safety checking mode for video generation.",
4058
+ "type": "string",
4059
+ "oneOf": [
4060
+ {
4061
+ "const": "none",
4062
+ "title": "None",
4063
+ "description": "Disables checking."
4064
+ },
4065
+ {
4066
+ "const": "fast",
4067
+ "title": "Fast",
4068
+ "description": "Checks key frames."
4069
+ },
4070
+ {
4071
+ "const": "full",
4072
+ "title": "Full",
4073
+ "description": "Checks all frames."
4074
+ }
4075
+ ],
4076
+ "default": "none"
4077
+ }
4078
+ },
4079
+ "additionalProperties": false
4080
+ }
4081
+ },
4082
+ "required": [
4083
+ "positivePrompt",
4084
+ "taskType",
4085
+ "taskUUID",
4086
+ "model"
4087
+ ],
4088
+ "allOf": [
4089
+ {
4090
+ "dependentRequired": {
4091
+ "width": [
4092
+ "height"
4093
+ ],
4094
+ "height": [
4095
+ "width"
4096
+ ]
4097
+ }
4098
+ },
4099
+ {
4100
+ "oneOf": [
4101
+ {
4102
+ "title": "720p (16:9)",
4103
+ "properties": {
4104
+ "width": {
4105
+ "const": 1280
4106
+ },
4107
+ "height": {
4108
+ "const": 720
4109
+ }
4110
+ }
4111
+ },
4112
+ {
4113
+ "title": "720p (9:16)",
4114
+ "properties": {
4115
+ "width": {
4116
+ "const": 720
4117
+ },
4118
+ "height": {
4119
+ "const": 1280
4120
+ }
4121
+ }
4122
+ }
4123
+ ]
4124
+ },
4125
+ {
4126
+ "if": {
4127
+ "not": {
4128
+ "properties": {
4129
+ "inputs": {
4130
+ "properties": {
4131
+ "frameImages": {
4132
+ "minItems": 1
4133
+ }
4134
+ },
4135
+ "required": [
4136
+ "frameImages"
4137
+ ]
4138
+ }
4139
+ },
4140
+ "required": [
4141
+ "inputs"
4142
+ ]
4143
+ }
4144
+ },
4145
+ "then": {
4146
+ "required": [
4147
+ "width",
4148
+ "height"
4149
+ ]
4150
+ }
4151
+ },
4152
+ {
4153
+ "if": {
4154
+ "properties": {
4155
+ "inputs": {
4156
+ "required": [
4157
+ "videoId"
4158
+ ]
4159
+ }
4160
+ },
4161
+ "required": [
4162
+ "inputs"
4163
+ ]
4164
+ },
4165
+ "then": {
4166
+ "not": {
4167
+ "anyOf": [
4168
+ {
4169
+ "required": [
4170
+ "width"
4171
+ ]
4172
+ },
4173
+ {
4174
+ "required": [
4175
+ "height"
4176
+ ]
4177
+ },
4178
+ {
4179
+ "properties": {
4180
+ "inputs": {
4181
+ "required": [
4182
+ "frameImages"
4183
+ ]
4184
+ }
4185
+ },
4186
+ "required": [
4187
+ "inputs"
4188
+ ]
4189
+ }
4190
+ ]
4191
+ }
4192
+ }
4193
+ }
4194
+ ],
4195
+ "additionalProperties": false
4196
+ }
4197
+ ]
4198
+ }