venice_client 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +510 -0
  4. data/Rakefile +8 -0
  5. data/docs/APIKeysApi.md +334 -0
  6. data/docs/AnyOfChatCompletionRequestMessagesItems.md +6 -0
  7. data/docs/AnyOfChatCompletionRequestStop.md +6 -0
  8. data/docs/AnyOfChatCompletionRequestToolChoice.md +6 -0
  9. data/docs/AnyOfCreateEmbeddingRequestSchemaInput.md +6 -0
  10. data/docs/AnyOfCreateEmbeddingRequestSchemaModel.md +6 -0
  11. data/docs/AnyOfModelResponseModelSpecConstraints.md +6 -0
  12. data/docs/AnyOfModelResponseModelSpecPricing.md +6 -0
  13. data/docs/AnyOfUpscaleImageRequestEnhance.md +6 -0
  14. data/docs/AnyOfUpscaleImageRequestImage.md +6 -0
  15. data/docs/AnyOfapiKeysBodyExpiresAt.md +6 -0
  16. data/docs/AnyOfapiKeysConsumptionLimitUsd.md +6 -0
  17. data/docs/AnyOfapiKeysConsumptionLimitVcu.md +6 -0
  18. data/docs/AnyOfapiKeysGenerateWeb3KeyBodyExpiresAt.md +6 -0
  19. data/docs/AnyOfinlineResponse2002DataItems.md +6 -0
  20. data/docs/AnyOfinlineResponse2004Type.md +6 -0
  21. data/docs/AnyOfinlineResponse2005Type.md +6 -0
  22. data/docs/AnyOfinlineResponse2006Type.md +6 -0
  23. data/docs/AnyOfinlineResponse200ChoicesMessage.md +6 -0
  24. data/docs/AnyOfinlineResponse200PromptLogprobs.md +6 -0
  25. data/docs/ApiKeysBody.md +10 -0
  26. data/docs/ApiKeysConsumptionLimit.md +8 -0
  27. data/docs/ApiKeysGenerateWeb3KeyBody.md +13 -0
  28. data/docs/AudioApi.md +58 -0
  29. data/docs/BillingApi.md +70 -0
  30. data/docs/BillingUsageRequest.md +12 -0
  31. data/docs/BillingUsageResponse.md +8 -0
  32. data/docs/BillingUsageResponseData.md +14 -0
  33. data/docs/BillingUsageResponseInferenceDetails.md +10 -0
  34. data/docs/BillingUsageResponsePagination.md +10 -0
  35. data/docs/CharactersApi.md +52 -0
  36. data/docs/ChatApi.md +60 -0
  37. data/docs/ChatCompletionRequest.md +32 -0
  38. data/docs/ChatCompletionRequestFunction.md +9 -0
  39. data/docs/ChatCompletionRequestStreamOptions.md +7 -0
  40. data/docs/ChatCompletionRequestVeniceParameters.md +12 -0
  41. data/docs/CreateEmbeddingRequestSchema.md +11 -0
  42. data/docs/CreateSpeechRequestSchema.md +12 -0
  43. data/docs/EmbeddingsApi.md +60 -0
  44. data/docs/GenerateImageRequest.md +22 -0
  45. data/docs/ImageApi.md +270 -0
  46. data/docs/InlineResponse200.md +14 -0
  47. data/docs/InlineResponse2001.md +10 -0
  48. data/docs/InlineResponse20010.md +7 -0
  49. data/docs/InlineResponse20010Data.md +12 -0
  50. data/docs/InlineResponse20010DataApiTier.md +8 -0
  51. data/docs/InlineResponse20010DataBalances.md +8 -0
  52. data/docs/InlineResponse20010DataRateLimits.md +8 -0
  53. data/docs/InlineResponse20010DataRateLimits1.md +8 -0
  54. data/docs/InlineResponse20011.md +8 -0
  55. data/docs/InlineResponse20011Data.md +11 -0
  56. data/docs/InlineResponse20012.md +8 -0
  57. data/docs/InlineResponse20012Data.md +7 -0
  58. data/docs/InlineResponse20013.md +8 -0
  59. data/docs/InlineResponse20013Data.md +16 -0
  60. data/docs/InlineResponse20013Stats.md +7 -0
  61. data/docs/InlineResponse20014.md +10 -0
  62. data/docs/InlineResponse20014Data.md +9 -0
  63. data/docs/InlineResponse20014Usage.md +8 -0
  64. data/docs/InlineResponse20015.md +8 -0
  65. data/docs/InlineResponse2001Timing.md +10 -0
  66. data/docs/InlineResponse2002.md +8 -0
  67. data/docs/InlineResponse2003.md +8 -0
  68. data/docs/InlineResponse2004.md +9 -0
  69. data/docs/InlineResponse2005.md +9 -0
  70. data/docs/InlineResponse2006.md +9 -0
  71. data/docs/InlineResponse2007.md +8 -0
  72. data/docs/InlineResponse2007Data.md +15 -0
  73. data/docs/InlineResponse2007Usage.md +7 -0
  74. data/docs/InlineResponse2007UsageTrailingSevenDays.md +8 -0
  75. data/docs/InlineResponse2008.md +8 -0
  76. data/docs/InlineResponse2008Data.md +12 -0
  77. data/docs/InlineResponse2009.md +7 -0
  78. data/docs/InlineResponse200Choices.md +11 -0
  79. data/docs/InlineResponse200Logprobs.md +10 -0
  80. data/docs/InlineResponse200LogprobsTopLogprobs.md +9 -0
  81. data/docs/InlineResponse200Usage.md +10 -0
  82. data/docs/InlineResponse200VeniceParameters.md +13 -0
  83. data/docs/InlineResponse200VeniceParametersWebSearchCitations.md +10 -0
  84. data/docs/InlineResponse400.md +8 -0
  85. data/docs/InlineResponse401.md +7 -0
  86. data/docs/InlineResponse402.md +7 -0
  87. data/docs/InlineResponse403.md +7 -0
  88. data/docs/InlineResponse415.md +7 -0
  89. data/docs/InlineResponse429.md +7 -0
  90. data/docs/InlineResponse500.md +7 -0
  91. data/docs/InlineResponse5001.md +7 -0
  92. data/docs/InlineResponse503.md +7 -0
  93. data/docs/ModelCompatibilitySchema.md +6 -0
  94. data/docs/ModelResponse.md +12 -0
  95. data/docs/ModelResponseModelSpec.md +15 -0
  96. data/docs/ModelResponseModelSpecCapabilities.md +14 -0
  97. data/docs/ModelTraitSchema.md +6 -0
  98. data/docs/ModelsApi.md +160 -0
  99. data/docs/OneOfChatCompletionRequestResponseFormat.md +6 -0
  100. data/docs/PreviewApi.md +52 -0
  101. data/docs/SimpleGenerateImageRequest.md +18 -0
  102. data/docs/SpeechApi.md +58 -0
  103. data/docs/ToolCall.md +9 -0
  104. data/docs/Type.md +6 -0
  105. data/docs/UpscaleImageRequest.md +12 -0
  106. data/git_push.sh +55 -0
  107. data/lib/venice_client/api/api_keys_api.rb +381 -0
  108. data/lib/venice_client/api/audio_api.rb +74 -0
  109. data/lib/venice_client/api/billing_api.rb +97 -0
  110. data/lib/venice_client/api/characters_api.rb +70 -0
  111. data/lib/venice_client/api/chat_api.rb +77 -0
  112. data/lib/venice_client/api/embeddings_api.rb +81 -0
  113. data/lib/venice_client/api/image_api.rb +314 -0
  114. data/lib/venice_client/api/models_api.rb +185 -0
  115. data/lib/venice_client/api/preview_api.rb +70 -0
  116. data/lib/venice_client/api/speech_api.rb +74 -0
  117. data/lib/venice_client/api_client.rb +388 -0
  118. data/lib/venice_client/api_error.rb +56 -0
  119. data/lib/venice_client/configuration.rb +204 -0
  120. data/lib/venice_client/models/any_of_chat_completion_request_messages_items.rb +197 -0
  121. data/lib/venice_client/models/any_of_chat_completion_request_stop.rb +197 -0
  122. data/lib/venice_client/models/any_of_chat_completion_request_tool_choice.rb +197 -0
  123. data/lib/venice_client/models/any_of_create_embedding_request_schema_input.rb +197 -0
  124. data/lib/venice_client/models/any_of_create_embedding_request_schema_model.rb +197 -0
  125. data/lib/venice_client/models/any_of_model_response_model_spec_constraints.rb +197 -0
  126. data/lib/venice_client/models/any_of_model_response_model_spec_pricing.rb +197 -0
  127. data/lib/venice_client/models/any_of_upscale_image_request_enhance.rb +197 -0
  128. data/lib/venice_client/models/any_of_upscale_image_request_image.rb +197 -0
  129. data/lib/venice_client/models/any_ofapi_keys_body_expires_at.rb +197 -0
  130. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_usd.rb +197 -0
  131. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_vcu.rb +195 -0
  132. data/lib/venice_client/models/any_ofapi_keys_generate_web3_key_body_expires_at.rb +197 -0
  133. data/lib/venice_client/models/any_ofinline_response_200_2_data_items.rb +197 -0
  134. data/lib/venice_client/models/any_ofinline_response_200_4_type.rb +197 -0
  135. data/lib/venice_client/models/any_ofinline_response_200_5_type.rb +197 -0
  136. data/lib/venice_client/models/any_ofinline_response_200_6_type.rb +197 -0
  137. data/lib/venice_client/models/any_ofinline_response_200_choices_message.rb +197 -0
  138. data/lib/venice_client/models/any_ofinline_response_200_prompt_logprobs.rb +197 -0
  139. data/lib/venice_client/models/api_keys_body.rb +281 -0
  140. data/lib/venice_client/models/api_keys_consumption_limit.rb +228 -0
  141. data/lib/venice_client/models/api_keys_generate_web3_key_body.rb +322 -0
  142. data/lib/venice_client/models/billing_usage_request.rb +309 -0
  143. data/lib/venice_client/models/billing_usage_response.rb +228 -0
  144. data/lib/venice_client/models/billing_usage_response_data.rb +350 -0
  145. data/lib/venice_client/models/billing_usage_response_inference_details.rb +262 -0
  146. data/lib/venice_client/models/billing_usage_response_pagination.rb +253 -0
  147. data/lib/venice_client/models/chat_completion_request.rb +483 -0
  148. data/lib/venice_client/models/chat_completion_request_function.rb +231 -0
  149. data/lib/venice_client/models/chat_completion_request_stream_options.rb +207 -0
  150. data/lib/venice_client/models/chat_completion_request_venice_parameters.rb +302 -0
  151. data/lib/venice_client/models/create_embedding_request_schema.rb +294 -0
  152. data/lib/venice_client/models/create_speech_request_schema.rb +331 -0
  153. data/lib/venice_client/models/generate_image_request.rb +420 -0
  154. data/lib/venice_client/models/inline_response_200.rb +341 -0
  155. data/lib/venice_client/models/inline_response_200_1.rb +254 -0
  156. data/lib/venice_client/models/inline_response_200_10.rb +211 -0
  157. data/lib/venice_client/models/inline_response_200_10_data.rb +287 -0
  158. data/lib/venice_client/models/inline_response_200_10_data_api_tier.rb +227 -0
  159. data/lib/venice_client/models/inline_response_200_10_data_balances.rb +217 -0
  160. data/lib/venice_client/models/inline_response_200_10_data_rate_limits.rb +227 -0
  161. data/lib/venice_client/models/inline_response_200_10_data_rate_limits_1.rb +223 -0
  162. data/lib/venice_client/models/inline_response_200_11.rb +262 -0
  163. data/lib/venice_client/models/inline_response_200_11_data.rb +274 -0
  164. data/lib/venice_client/models/inline_response_200_12.rb +225 -0
  165. data/lib/venice_client/models/inline_response_200_12_data.rb +212 -0
  166. data/lib/venice_client/models/inline_response_200_13.rb +261 -0
  167. data/lib/venice_client/models/inline_response_200_13_data.rb +350 -0
  168. data/lib/venice_client/models/inline_response_200_13_stats.rb +212 -0
  169. data/lib/venice_client/models/inline_response_200_14.rb +292 -0
  170. data/lib/venice_client/models/inline_response_200_14_data.rb +278 -0
  171. data/lib/venice_client/models/inline_response_200_14_usage.rb +228 -0
  172. data/lib/venice_client/models/inline_response_200_15.rb +228 -0
  173. data/lib/venice_client/models/inline_response_200_1_timing.rb +257 -0
  174. data/lib/venice_client/models/inline_response_200_2.rb +228 -0
  175. data/lib/venice_client/models/inline_response_200_3.rb +262 -0
  176. data/lib/venice_client/models/inline_response_200_4.rb +277 -0
  177. data/lib/venice_client/models/inline_response_200_5.rb +274 -0
  178. data/lib/venice_client/models/inline_response_200_6.rb +274 -0
  179. data/lib/venice_client/models/inline_response_200_7.rb +262 -0
  180. data/lib/venice_client/models/inline_response_200_7_data.rb +357 -0
  181. data/lib/venice_client/models/inline_response_200_7_usage.rb +211 -0
  182. data/lib/venice_client/models/inline_response_200_7_usage_trailing_seven_days.rb +227 -0
  183. data/lib/venice_client/models/inline_response_200_8.rb +225 -0
  184. data/lib/venice_client/models/inline_response_200_8_data.rb +316 -0
  185. data/lib/venice_client/models/inline_response_200_9.rb +211 -0
  186. data/lib/venice_client/models/inline_response_200_choices.rb +312 -0
  187. data/lib/venice_client/models/inline_response_200_logprobs.rb +251 -0
  188. data/lib/venice_client/models/inline_response_200_logprobs_top_logprobs.rb +236 -0
  189. data/lib/venice_client/models/inline_response_200_usage.rb +253 -0
  190. data/lib/venice_client/models/inline_response_200_venice_parameters.rb +329 -0
  191. data/lib/venice_client/models/inline_response_200_venice_parameters_web_search_citations.rb +243 -0
  192. data/lib/venice_client/models/inline_response_400.rb +222 -0
  193. data/lib/venice_client/models/inline_response_401.rb +212 -0
  194. data/lib/venice_client/models/inline_response_402.rb +212 -0
  195. data/lib/venice_client/models/inline_response_403.rb +212 -0
  196. data/lib/venice_client/models/inline_response_415.rb +212 -0
  197. data/lib/venice_client/models/inline_response_429.rb +212 -0
  198. data/lib/venice_client/models/inline_response_500.rb +212 -0
  199. data/lib/venice_client/models/inline_response_500_1.rb +212 -0
  200. data/lib/venice_client/models/inline_response_503.rb +212 -0
  201. data/lib/venice_client/models/model_compatibility_schema.rb +202 -0
  202. data/lib/venice_client/models/model_response.rb +340 -0
  203. data/lib/venice_client/models/model_response_model_spec.rb +292 -0
  204. data/lib/venice_client/models/model_response_model_spec_capabilities.rb +352 -0
  205. data/lib/venice_client/models/model_trait_schema.rb +200 -0
  206. data/lib/venice_client/models/one_of_chat_completion_request_response_format.rb +197 -0
  207. data/lib/venice_client/models/simple_generate_image_request.rb +456 -0
  208. data/lib/venice_client/models/tool_call.rb +230 -0
  209. data/lib/venice_client/models/type.rb +198 -0
  210. data/lib/venice_client/models/upscale_image_request.rb +270 -0
  211. data/lib/venice_client/version.rb +14 -0
  212. data/lib/venice_client.rb +139 -0
  213. data/spec/api/api_keys_api_spec.rb +113 -0
  214. data/spec/api/audio_api_spec.rb +45 -0
  215. data/spec/api/billing_api_spec.rb +51 -0
  216. data/spec/api/characters_api_spec.rb +44 -0
  217. data/spec/api/chat_api_spec.rb +46 -0
  218. data/spec/api/embeddings_api_spec.rb +46 -0
  219. data/spec/api/image_api_spec.rb +99 -0
  220. data/spec/api/models_api_spec.rb +69 -0
  221. data/spec/api/preview_api_spec.rb +44 -0
  222. data/spec/api/speech_api_spec.rb +45 -0
  223. data/spec/api_client_spec.rb +225 -0
  224. data/spec/base_object_spec.rb +109 -0
  225. data/spec/configuration_spec.rb +41 -0
  226. data/spec/models/any_of_chat_completion_request_messages_items_spec.rb +34 -0
  227. data/spec/models/any_of_chat_completion_request_stop_spec.rb +34 -0
  228. data/spec/models/any_of_chat_completion_request_tool_choice_spec.rb +34 -0
  229. data/spec/models/any_of_create_embedding_request_schema_input_spec.rb +34 -0
  230. data/spec/models/any_of_create_embedding_request_schema_model_spec.rb +34 -0
  231. data/spec/models/any_of_model_response_model_spec_constraints_spec.rb +34 -0
  232. data/spec/models/any_of_model_response_model_spec_pricing_spec.rb +34 -0
  233. data/spec/models/any_of_upscale_image_request_enhance_spec.rb +34 -0
  234. data/spec/models/any_of_upscale_image_request_image_spec.rb +34 -0
  235. data/spec/models/any_ofapi_keys_body_expires_at_spec.rb +34 -0
  236. data/spec/models/any_ofapi_keys_consumption_limit_usd_spec.rb +34 -0
  237. data/spec/models/any_ofapi_keys_consumption_limit_vcu_spec.rb +34 -0
  238. data/spec/models/any_ofapi_keys_generate_web3_key_body_expires_at_spec.rb +34 -0
  239. data/spec/models/any_ofinline_response_200_2_data_items_spec.rb +34 -0
  240. data/spec/models/any_ofinline_response_200_4_type_spec.rb +34 -0
  241. data/spec/models/any_ofinline_response_200_5_type_spec.rb +34 -0
  242. data/spec/models/any_ofinline_response_200_6_type_spec.rb +34 -0
  243. data/spec/models/any_ofinline_response_200_choices_message_spec.rb +34 -0
  244. data/spec/models/any_ofinline_response_200_prompt_logprobs_spec.rb +34 -0
  245. data/spec/models/api_keys_body_spec.rb +61 -0
  246. data/spec/models/api_keys_consumption_limit_spec.rb +46 -0
  247. data/spec/models/api_keys_generate_web3_key_body_spec.rb +80 -0
  248. data/spec/models/billing_usage_request_spec.rb +78 -0
  249. data/spec/models/billing_usage_response_data_spec.rb +86 -0
  250. data/spec/models/billing_usage_response_inference_details_spec.rb +57 -0
  251. data/spec/models/billing_usage_response_pagination_spec.rb +58 -0
  252. data/spec/models/billing_usage_response_spec.rb +46 -0
  253. data/spec/models/chat_completion_request_function_spec.rb +52 -0
  254. data/spec/models/chat_completion_request_spec.rb +189 -0
  255. data/spec/models/chat_completion_request_stream_options_spec.rb +40 -0
  256. data/spec/models/chat_completion_request_venice_parameters_spec.rb +73 -0
  257. data/spec/models/create_embedding_request_schema_spec.rb +68 -0
  258. data/spec/models/create_speech_request_schema_spec.rb +81 -0
  259. data/spec/models/generate_image_request_spec.rb +134 -0
  260. data/spec/models/inline_response_200_10_data_api_tier_spec.rb +45 -0
  261. data/spec/models/inline_response_200_10_data_balances_spec.rb +45 -0
  262. data/spec/models/inline_response_200_10_data_rate_limits_1_spec.rb +45 -0
  263. data/spec/models/inline_response_200_10_data_rate_limits_spec.rb +46 -0
  264. data/spec/models/inline_response_200_10_data_spec.rb +69 -0
  265. data/spec/models/inline_response_200_10_spec.rb +40 -0
  266. data/spec/models/inline_response_200_11_data_spec.rb +64 -0
  267. data/spec/models/inline_response_200_11_spec.rb +50 -0
  268. data/spec/models/inline_response_200_12_data_spec.rb +39 -0
  269. data/spec/models/inline_response_200_12_spec.rb +46 -0
  270. data/spec/models/inline_response_200_13_data_spec.rb +93 -0
  271. data/spec/models/inline_response_200_13_spec.rb +49 -0
  272. data/spec/models/inline_response_200_13_stats_spec.rb +40 -0
  273. data/spec/models/inline_response_200_14_data_spec.rb +55 -0
  274. data/spec/models/inline_response_200_14_spec.rb +61 -0
  275. data/spec/models/inline_response_200_14_usage_spec.rb +45 -0
  276. data/spec/models/inline_response_200_15_spec.rb +45 -0
  277. data/spec/models/inline_response_200_1_spec.rb +57 -0
  278. data/spec/models/inline_response_200_1_timing_spec.rb +58 -0
  279. data/spec/models/inline_response_200_2_spec.rb +46 -0
  280. data/spec/models/inline_response_200_3_spec.rb +50 -0
  281. data/spec/models/inline_response_200_4_spec.rb +55 -0
  282. data/spec/models/inline_response_200_5_spec.rb +55 -0
  283. data/spec/models/inline_response_200_6_spec.rb +55 -0
  284. data/spec/models/inline_response_200_7_data_spec.rb +91 -0
  285. data/spec/models/inline_response_200_7_spec.rb +50 -0
  286. data/spec/models/inline_response_200_7_usage_spec.rb +39 -0
  287. data/spec/models/inline_response_200_7_usage_trailing_seven_days_spec.rb +45 -0
  288. data/spec/models/inline_response_200_8_data_spec.rb +73 -0
  289. data/spec/models/inline_response_200_8_spec.rb +45 -0
  290. data/spec/models/inline_response_200_9_spec.rb +39 -0
  291. data/spec/models/inline_response_200_choices_spec.rb +72 -0
  292. data/spec/models/inline_response_200_logprobs_spec.rb +57 -0
  293. data/spec/models/inline_response_200_logprobs_top_logprobs_spec.rb +51 -0
  294. data/spec/models/inline_response_200_spec.rb +85 -0
  295. data/spec/models/inline_response_200_usage_spec.rb +57 -0
  296. data/spec/models/inline_response_200_venice_parameters_spec.rb +80 -0
  297. data/spec/models/inline_response_200_venice_parameters_web_search_citations_spec.rb +57 -0
  298. data/spec/models/inline_response_400_spec.rb +45 -0
  299. data/spec/models/inline_response_401_spec.rb +39 -0
  300. data/spec/models/inline_response_402_spec.rb +39 -0
  301. data/spec/models/inline_response_403_spec.rb +40 -0
  302. data/spec/models/inline_response_415_spec.rb +40 -0
  303. data/spec/models/inline_response_429_spec.rb +39 -0
  304. data/spec/models/inline_response_500_1_spec.rb +40 -0
  305. data/spec/models/inline_response_500_spec.rb +39 -0
  306. data/spec/models/inline_response_503_spec.rb +40 -0
  307. data/spec/models/model_compatibility_schema_spec.rb +34 -0
  308. data/spec/models/model_response_model_spec_capabilities_spec.rb +85 -0
  309. data/spec/models/model_response_model_spec_spec.rb +87 -0
  310. data/spec/models/model_response_spec.rb +81 -0
  311. data/spec/models/model_trait_schema_spec.rb +34 -0
  312. data/spec/models/one_of_chat_completion_request_response_format_spec.rb +34 -0
  313. data/spec/models/simple_generate_image_request_spec.rb +134 -0
  314. data/spec/models/tool_call_spec.rb +51 -0
  315. data/spec/models/type_spec.rb +34 -0
  316. data/spec/models/upscale_image_request_spec.rb +69 -0
  317. data/spec/spec_helper.rb +110 -0
  318. data/venice_client.gemspec +38 -0
  319. metadata +522 -0
@@ -0,0 +1,420 @@
1
+ =begin
2
+ #Venice.ai API
3
+
4
+ #The Venice.ai API.
5
+
6
+ OpenAPI spec version: 20250521.233203
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 3.0.68
10
+ =end
11
+
12
+ require 'date'
13
+
14
+ module VeniceClient
15
+ class GenerateImageRequest
16
+ # CFG scale parameter. Higher values lead to more adherence to the prompt.
17
+ attr_accessor :cfg_scale
18
+
19
+ # Embed prompt generation information into the image's EXIF metadata.
20
+ attr_accessor :embed_exif_metadata
21
+
22
+ # The image format to return. WebP are smaller and optimized for web use. PNG are higher quality but larger in file size.
23
+ attr_accessor :format
24
+
25
+ # Height of the generated image. Each model has a specific height and width divisor listed in the widthHeightDivisor constraint in the model list endpoint.
26
+ attr_accessor :height
27
+
28
+ # Whether to hide the Venice watermark. Venice may ignore this parameter for certain generated content.
29
+ attr_accessor :hide_watermark
30
+
31
+ # This feature is deprecated and was disabled on May 19th, 2025. A revised in-painting API will be launched in the near future.
32
+ attr_accessor :inpaint
33
+
34
+ # Lora strength for the model. Only applies if the model uses additional Loras.
35
+ attr_accessor :lora_strength
36
+
37
+ # The model to use for image generation.
38
+ attr_accessor :model
39
+
40
+ # A description of what should not be in the image. Character limit is model specific and is listed in the promptCharacterLimit constraint in the model list endpoint.
41
+ attr_accessor :negative_prompt
42
+
43
+ # The description for the image. Character limit is model specific and is listed in the promptCharacterLimit setting in the model list endpoint.
44
+ attr_accessor :prompt
45
+
46
+ # Whether to return binary image data instead of base64.
47
+ attr_accessor :return_binary
48
+
49
+ # Whether to use safe mode. If enabled, this will blur images that are classified as having adult content.
50
+ attr_accessor :safe_mode
51
+
52
+ # Random seed for generation. If not provided, a random seed will be used.
53
+ attr_accessor :seed
54
+
55
+ # Number of inference steps. The following models have reduced max steps from the global max: venice-sd35: 30 max steps, flux-dev: 30 max steps, flux-dev-uncensored: 30 max steps, stable-diffusion-3.5: 30 max steps. These constraints are exposed in the model list endpoint for each model.
56
+ attr_accessor :steps
57
+
58
+ # An image style to apply to the image. Visit https://docs.venice.ai/api-reference/endpoint/image/styles for more details.
59
+ attr_accessor :style_preset
60
+
61
+ # Width of the generated image. Each model has a specific height and width divisor listed in the widthHeightDivisor constraint in the model list endpoint.
62
+ attr_accessor :width
63
+
64
+ class EnumAttributeValidator
65
+ attr_reader :datatype
66
+ attr_reader :allowable_values
67
+
68
+ def initialize(datatype, allowable_values)
69
+ @allowable_values = allowable_values.map do |value|
70
+ case datatype.to_s
71
+ when /Integer/i
72
+ value.to_i
73
+ when /Float/i
74
+ value.to_f
75
+ else
76
+ value
77
+ end
78
+ end
79
+ end
80
+
81
+ def valid?(value)
82
+ !value || allowable_values.include?(value)
83
+ end
84
+ end
85
+
86
+ # Attribute mapping from ruby-style variable name to JSON key.
87
+ def self.attribute_map
88
+ {
89
+ :'cfg_scale' => :'cfg_scale',
90
+ :'embed_exif_metadata' => :'embed_exif_metadata',
91
+ :'format' => :'format',
92
+ :'height' => :'height',
93
+ :'hide_watermark' => :'hide_watermark',
94
+ :'inpaint' => :'inpaint',
95
+ :'lora_strength' => :'lora_strength',
96
+ :'model' => :'model',
97
+ :'negative_prompt' => :'negative_prompt',
98
+ :'prompt' => :'prompt',
99
+ :'return_binary' => :'return_binary',
100
+ :'safe_mode' => :'safe_mode',
101
+ :'seed' => :'seed',
102
+ :'steps' => :'steps',
103
+ :'style_preset' => :'style_preset',
104
+ :'width' => :'width'
105
+ }
106
+ end
107
+
108
+ # Attribute type mapping.
109
+ def self.openapi_types
110
+ {
111
+ :'cfg_scale' => :'Object',
112
+ :'embed_exif_metadata' => :'Object',
113
+ :'format' => :'Object',
114
+ :'height' => :'Object',
115
+ :'hide_watermark' => :'Object',
116
+ :'inpaint' => :'Object',
117
+ :'lora_strength' => :'Object',
118
+ :'model' => :'Object',
119
+ :'negative_prompt' => :'Object',
120
+ :'prompt' => :'Object',
121
+ :'return_binary' => :'Object',
122
+ :'safe_mode' => :'Object',
123
+ :'seed' => :'Object',
124
+ :'steps' => :'Object',
125
+ :'style_preset' => :'Object',
126
+ :'width' => :'Object'
127
+ }
128
+ end
129
+
130
+ # List of attributes with nullable: true
131
+ def self.openapi_nullable
132
+ Set.new([
133
+ :'inpaint',
134
+ ])
135
+ end
136
+
137
+ # Initializes the object
138
+ # @param [Hash] attributes Model attributes in the form of hash
139
+ def initialize(attributes = {})
140
+ if (!attributes.is_a?(Hash))
141
+ fail ArgumentError, "The input argument (attributes) must be a hash in `VeniceClient::GenerateImageRequest` initialize method"
142
+ end
143
+
144
+ # check to see if the attribute exists and convert string to symbol for hash key
145
+ attributes = attributes.each_with_object({}) { |(k, v), h|
146
+ if (!self.class.attribute_map.key?(k.to_sym))
147
+ fail ArgumentError, "`#{k}` is not a valid attribute in `VeniceClient::GenerateImageRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
148
+ end
149
+ h[k.to_sym] = v
150
+ }
151
+
152
+ if attributes.key?(:'cfg_scale')
153
+ self.cfg_scale = attributes[:'cfg_scale']
154
+ end
155
+
156
+ if attributes.key?(:'embed_exif_metadata')
157
+ self.embed_exif_metadata = attributes[:'embed_exif_metadata']
158
+ else
159
+ self.embed_exif_metadata = false
160
+ end
161
+
162
+ if attributes.key?(:'format')
163
+ self.format = attributes[:'format']
164
+ else
165
+ self.format = 'webp'
166
+ end
167
+
168
+ if attributes.key?(:'height')
169
+ self.height = attributes[:'height']
170
+ else
171
+ self.height = 1024
172
+ end
173
+
174
+ if attributes.key?(:'hide_watermark')
175
+ self.hide_watermark = attributes[:'hide_watermark']
176
+ else
177
+ self.hide_watermark = false
178
+ end
179
+
180
+ if attributes.key?(:'inpaint')
181
+ self.inpaint = attributes[:'inpaint']
182
+ end
183
+
184
+ if attributes.key?(:'lora_strength')
185
+ self.lora_strength = attributes[:'lora_strength']
186
+ end
187
+
188
+ if attributes.key?(:'model')
189
+ self.model = attributes[:'model']
190
+ end
191
+
192
+ if attributes.key?(:'negative_prompt')
193
+ self.negative_prompt = attributes[:'negative_prompt']
194
+ end
195
+
196
+ if attributes.key?(:'prompt')
197
+ self.prompt = attributes[:'prompt']
198
+ end
199
+
200
+ if attributes.key?(:'return_binary')
201
+ self.return_binary = attributes[:'return_binary']
202
+ else
203
+ self.return_binary = false
204
+ end
205
+
206
+ if attributes.key?(:'safe_mode')
207
+ self.safe_mode = attributes[:'safe_mode']
208
+ else
209
+ self.safe_mode = true
210
+ end
211
+
212
+ if attributes.key?(:'seed')
213
+ self.seed = attributes[:'seed']
214
+ else
215
+ self.seed = 0
216
+ end
217
+
218
+ if attributes.key?(:'steps')
219
+ self.steps = attributes[:'steps']
220
+ else
221
+ self.steps = 20
222
+ end
223
+
224
+ if attributes.key?(:'style_preset')
225
+ self.style_preset = attributes[:'style_preset']
226
+ end
227
+
228
+ if attributes.key?(:'width')
229
+ self.width = attributes[:'width']
230
+ else
231
+ self.width = 1024
232
+ end
233
+ end
234
+
235
+ # Show invalid properties with the reasons. Usually used together with valid?
236
+ # @return Array for valid properties with the reasons
237
+ def list_invalid_properties
238
+ invalid_properties = Array.new
239
+ if @model.nil?
240
+ invalid_properties.push('invalid value for "model", model cannot be nil.')
241
+ end
242
+
243
+ if @prompt.nil?
244
+ invalid_properties.push('invalid value for "prompt", prompt cannot be nil.')
245
+ end
246
+
247
+ invalid_properties
248
+ end
249
+
250
+ # Check to see if the all the properties in the model are valid
251
+ # @return true if the model is valid
252
+ def valid?
253
+ format_validator = EnumAttributeValidator.new('Object', ['jpeg', 'png', 'webp'])
254
+ return false unless format_validator.valid?(@format)
255
+ return false if @model.nil?
256
+ return false if @prompt.nil?
257
+ true
258
+ end
259
+
260
+ # Custom attribute writer method checking allowed values (enum).
261
+ # @param [Object] format Object to be assigned
262
+ def format=(format)
263
+ validator = EnumAttributeValidator.new('Object', ['jpeg', 'png', 'webp'])
264
+ unless validator.valid?(format)
265
+ fail ArgumentError, "invalid value for \"format\", must be one of #{validator.allowable_values}."
266
+ end
267
+ @format = format
268
+ end
269
+
270
+ # Checks equality by comparing each attribute.
271
+ # @param [Object] Object to be compared
272
+ def ==(o)
273
+ return true if self.equal?(o)
274
+ self.class == o.class &&
275
+ cfg_scale == o.cfg_scale &&
276
+ embed_exif_metadata == o.embed_exif_metadata &&
277
+ format == o.format &&
278
+ height == o.height &&
279
+ hide_watermark == o.hide_watermark &&
280
+ inpaint == o.inpaint &&
281
+ lora_strength == o.lora_strength &&
282
+ model == o.model &&
283
+ negative_prompt == o.negative_prompt &&
284
+ prompt == o.prompt &&
285
+ return_binary == o.return_binary &&
286
+ safe_mode == o.safe_mode &&
287
+ seed == o.seed &&
288
+ steps == o.steps &&
289
+ style_preset == o.style_preset &&
290
+ width == o.width
291
+ end
292
+
293
+ # @see the `==` method
294
+ # @param [Object] Object to be compared
295
+ def eql?(o)
296
+ self == o
297
+ end
298
+
299
+ # Calculates hash code according to all attributes.
300
+ # @return [Integer] Hash code
301
+ def hash
302
+ [cfg_scale, embed_exif_metadata, format, height, hide_watermark, inpaint, lora_strength, model, negative_prompt, prompt, return_binary, safe_mode, seed, steps, style_preset, width].hash
303
+ end
304
+
305
+ # Builds the object from hash
306
+ # @param [Hash] attributes Model attributes in the form of hash
307
+ # @return [Object] Returns the model itself
308
+ def self.build_from_hash(attributes)
309
+ new.build_from_hash(attributes)
310
+ end
311
+
312
+ # Builds the object from hash
313
+ # @param [Hash] attributes Model attributes in the form of hash
314
+ # @return [Object] Returns the model itself
315
+ def build_from_hash(attributes)
316
+ return nil unless attributes.is_a?(Hash)
317
+ self.class.openapi_types.each_pair do |key, type|
318
+ if type =~ /\AArray<(.*)>/i
319
+ # check to ensure the input is an array given that the attribute
320
+ # is documented as an array but the input is not
321
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
322
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
323
+ end
324
+ elsif !attributes[self.class.attribute_map[key]].nil?
325
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
326
+ elsif attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
327
+ self.send("#{key}=", nil)
328
+ end
329
+ end
330
+
331
+ self
332
+ end
333
+
334
+ # Deserializes the data based on type
335
+ # @param string type Data type
336
+ # @param string value Value to be deserialized
337
+ # @return [Object] Deserialized data
338
+ def _deserialize(type, value)
339
+ case type.to_sym
340
+ when :DateTime
341
+ DateTime.parse(value)
342
+ when :Date
343
+ Date.parse(value)
344
+ when :String
345
+ value.to_s
346
+ when :Integer
347
+ value.to_i
348
+ when :Float
349
+ value.to_f
350
+ when :Boolean
351
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
352
+ true
353
+ else
354
+ false
355
+ end
356
+ when :Object
357
+ # generic object (usually a Hash), return directly
358
+ value
359
+ when /\AArray<(?<inner_type>.+)>\z/
360
+ inner_type = Regexp.last_match[:inner_type]
361
+ value.map { |v| _deserialize(inner_type, v) }
362
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
363
+ k_type = Regexp.last_match[:k_type]
364
+ v_type = Regexp.last_match[:v_type]
365
+ {}.tap do |hash|
366
+ value.each do |k, v|
367
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
368
+ end
369
+ end
370
+ else # model
371
+ VeniceClient.const_get(type).build_from_hash(value)
372
+ end
373
+ end
374
+
375
+ # Returns the string representation of the object
376
+ # @return [String] String presentation of the object
377
+ def to_s
378
+ to_hash.to_s
379
+ end
380
+
381
+ # to_body is an alias to to_hash (backward compatibility)
382
+ # @return [Hash] Returns the object in the form of hash
383
+ def to_body
384
+ to_hash
385
+ end
386
+
387
+ # Returns the object in the form of hash
388
+ # @return [Hash] Returns the object in the form of hash
389
+ def to_hash
390
+ hash = {}
391
+ self.class.attribute_map.each_pair do |attr, param|
392
+ value = self.send(attr)
393
+ if value.nil?
394
+ is_nullable = self.class.openapi_nullable.include?(attr)
395
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
396
+ end
397
+
398
+ hash[param] = _to_hash(value)
399
+ end
400
+ hash
401
+ end
402
+
403
+ # Outputs non-array value in the form of hash
404
+ # For object, use to_hash. Otherwise, just return the value
405
+ # @param [Object] value Any valid value
406
+ # @return [Hash] Returns the value in the form of hash
407
+ def _to_hash(value)
408
+ if value.is_a?(Array)
409
+ value.compact.map { |v| _to_hash(v) }
410
+ elsif value.is_a?(Hash)
411
+ {}.tap do |hash|
412
+ value.each { |k, v| hash[k] = _to_hash(v) }
413
+ end
414
+ elsif value.respond_to? :to_hash
415
+ value.to_hash
416
+ else
417
+ value
418
+ end
419
+ end end
420
+ end