venice_client 1.0.0 → 1.0.2

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 (586) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +39 -0
  3. data/.gitlab-ci.yml +26 -0
  4. data/.openapi-generator/FILES +395 -0
  5. data/.openapi-generator/VERSION +1 -0
  6. data/.openapi-generator-ignore +23 -0
  7. data/.rspec +2 -0
  8. data/.rubocop.yml +148 -0
  9. data/.travis.yml +11 -0
  10. data/README.md +120 -390
  11. data/Rakefile +2 -0
  12. data/docs/APIKeysApi.md +236 -89
  13. data/docs/AssistantMessage.md +26 -0
  14. data/docs/AssistantMessageContent.md +15 -0
  15. data/docs/AudioApi.md +40 -19
  16. data/docs/AudioModelPricing.md +18 -0
  17. data/docs/AudioModelPricingInput.md +22 -0
  18. data/docs/BillingApi.md +50 -29
  19. data/docs/BillingUsageRequest.md +24 -8
  20. data/docs/BillingUsageResponse.md +16 -4
  21. data/docs/CharactersApi.md +36 -14
  22. data/docs/ChatApi.md +43 -22
  23. data/docs/ChatCompletionRequest.md +66 -28
  24. data/docs/ChatCompletionRequestMessagesInner.md +28 -0
  25. data/docs/ChatCompletionRequestResponseFormat.md +49 -0
  26. data/docs/ChatCompletionRequestStop.md +15 -0
  27. data/docs/ChatCompletionRequestStreamOptions.md +14 -3
  28. data/docs/ChatCompletionRequestToolChoice.md +20 -0
  29. data/docs/ChatCompletionRequestToolChoiceAnyOf.md +20 -0
  30. data/docs/ChatCompletionRequestToolChoiceAnyOfFunction.md +18 -0
  31. data/docs/ChatCompletionRequestVeniceParameters.md +26 -8
  32. data/docs/CreateApiKey200Response.md +20 -0
  33. data/docs/CreateApiKey200ResponseData.md +28 -0
  34. data/docs/CreateApiKeyRequest.md +24 -0
  35. data/docs/CreateApiKeyRequestExpiresAt.md +15 -0
  36. data/docs/CreateChatCompletion200Response.md +32 -0
  37. data/docs/CreateChatCompletion200ResponseChoicesInner.md +26 -0
  38. data/docs/CreateChatCompletion200ResponseChoicesInnerLogprobs.md +24 -0
  39. data/docs/CreateChatCompletion200ResponseChoicesInnerLogprobsTopLogprobsInner.md +22 -0
  40. data/docs/CreateChatCompletion200ResponseChoicesInnerMessage.md +28 -0
  41. data/docs/CreateChatCompletion200ResponseUsage.md +24 -0
  42. data/docs/CreateChatCompletion200ResponseVeniceParameters.md +32 -0
  43. data/docs/CreateChatCompletion200ResponseVeniceParametersWebSearchCitationsInner.md +24 -0
  44. data/docs/CreateChatCompletion400Response.md +20 -0
  45. data/docs/CreateChatCompletion401Response.md +18 -0
  46. data/docs/CreateChatCompletion402Response.md +18 -0
  47. data/docs/CreateChatCompletion415Response.md +18 -0
  48. data/docs/CreateChatCompletion429Response.md +18 -0
  49. data/docs/CreateChatCompletion500Response.md +18 -0
  50. data/docs/CreateChatCompletion503Response.md +18 -0
  51. data/docs/CreateChatCompletion504Response.md +18 -0
  52. data/docs/CreateEmbedding200Response.md +24 -0
  53. data/docs/CreateEmbedding200ResponseDataInner.md +22 -0
  54. data/docs/CreateEmbedding200ResponseUsage.md +20 -0
  55. data/docs/CreateEmbeddingRequestSchema.md +22 -7
  56. data/docs/CreateEmbeddingRequestSchemaInput.md +15 -0
  57. data/docs/CreateEmbeddingRequestSchemaModel.md +15 -0
  58. data/docs/CreateSpeech403Response.md +18 -0
  59. data/docs/CreateSpeechRequestSchema.md +24 -8
  60. data/docs/DeleteApiKey200Response.md +18 -0
  61. data/docs/EditImageRequest.md +20 -0
  62. data/docs/EmbeddingsApi.md +44 -23
  63. data/docs/GenerateImage200Response.md +24 -0
  64. data/docs/GenerateImage200ResponseTiming.md +24 -0
  65. data/docs/GenerateImageRequest.md +44 -18
  66. data/docs/GetApiKeyGenerateWeb3Key200Response.md +20 -0
  67. data/docs/GetApiKeyGenerateWeb3Key200ResponseData.md +18 -0
  68. data/docs/GetApiKeyRateLimitLogs200Response.md +20 -0
  69. data/docs/GetApiKeyRateLimitLogs200ResponseDataInner.md +26 -0
  70. data/docs/GetApiKeyRateLimits200Response.md +18 -0
  71. data/docs/GetApiKeyRateLimits200ResponseData.md +28 -0
  72. data/docs/GetApiKeyRateLimits200ResponseDataApiTier.md +20 -0
  73. data/docs/GetApiKeyRateLimits200ResponseDataBalances.md +22 -0
  74. data/docs/GetApiKeyRateLimits200ResponseDataRateLimitsInner.md +20 -0
  75. data/docs/GetApiKeyRateLimits200ResponseDataRateLimitsInnerRateLimitsInner.md +20 -0
  76. data/docs/GetApiKeys200Response.md +20 -0
  77. data/docs/GetApiKeys200ResponseDataInner.md +34 -0
  78. data/docs/GetApiKeys200ResponseDataInnerConsumptionLimits.md +22 -0
  79. data/docs/GetApiKeys200ResponseDataInnerUsage.md +18 -0
  80. data/docs/GetApiKeys200ResponseDataInnerUsageTrailingSevenDays.md +22 -0
  81. data/docs/GetBillingUsage200Response.md +20 -0
  82. data/docs/GetBillingUsage200ResponseDataInner.md +32 -0
  83. data/docs/GetBillingUsage200ResponseDataInnerInferenceDetails.md +24 -0
  84. data/docs/GetBillingUsage200ResponsePagination.md +24 -0
  85. data/docs/ImageApi.md +198 -102
  86. data/docs/ImageModelConstraints.md +22 -0
  87. data/docs/ImageModelConstraintsSteps.md +20 -0
  88. data/docs/ImageModelPricing.md +20 -0
  89. data/docs/ImageModelPricingGeneration.md +22 -0
  90. data/docs/ImageModelPricingUpscale.md +20 -0
  91. data/docs/ImageModelPricingUpscale2x.md +22 -0
  92. data/docs/ImageModelPricingUpscale4x.md +22 -0
  93. data/docs/ImageStylesGet200Response.md +20 -0
  94. data/docs/ImageStylesGet500Response.md +18 -0
  95. data/docs/ImageURLObject.md +18 -0
  96. data/docs/ImageUrl.md +20 -0
  97. data/docs/JsonObject.md +18 -0
  98. data/docs/JsonSchema.md +20 -0
  99. data/docs/LLMModelPricing.md +20 -0
  100. data/docs/LLMModelPricingInput.md +22 -0
  101. data/docs/LLMModelPricingOutput.md +22 -0
  102. data/docs/ListCharacters200Response.md +20 -0
  103. data/docs/ListCharacters200ResponseDataInner.md +36 -0
  104. data/docs/ListCharacters200ResponseDataInnerStats.md +18 -0
  105. data/docs/ListModelCompatibilityMapping200Response.md +22 -0
  106. data/docs/ListModelTraits200Response.md +22 -0
  107. data/docs/ListModels200Response.md +22 -0
  108. data/docs/ListModels200ResponseType.md +15 -0
  109. data/docs/ListModelsTypeParameter.md +15 -0
  110. data/docs/ModelResponse.md +24 -8
  111. data/docs/ModelResponseModelSpec.md +32 -11
  112. data/docs/ModelResponseModelSpecCapabilities.md +28 -10
  113. data/docs/ModelResponseModelSpecConstraints.md +26 -0
  114. data/docs/ModelResponseModelSpecPricing.md +24 -0
  115. data/docs/ModelsApi.md +112 -49
  116. data/docs/ObjectsInner.md +49 -0
  117. data/docs/PostApiKeyGenerateWeb3KeyRequest.md +30 -0
  118. data/docs/PreviewApi.md +36 -14
  119. data/docs/SimpleGenerateImage200Response.md +20 -0
  120. data/docs/SimpleGenerateImage200ResponseDataInner.md +20 -0
  121. data/docs/SimpleGenerateImage200ResponseDataInnerAnyOf.md +18 -0
  122. data/docs/SimpleGenerateImage200ResponseDataInnerAnyOf1.md +18 -0
  123. data/docs/SimpleGenerateImageRequest.md +36 -14
  124. data/docs/SpeechApi.md +40 -19
  125. data/docs/SystemMessage.md +22 -0
  126. data/docs/SystemMessageContent.md +15 -0
  127. data/docs/Text.md +20 -0
  128. data/docs/TextModelConstraints.md +20 -0
  129. data/docs/TextModelConstraintsTemperature.md +18 -0
  130. data/docs/TextModelConstraintsTopP.md +18 -0
  131. data/docs/ToolCall.md +18 -5
  132. data/docs/ToolCallFunction.md +22 -0
  133. data/docs/ToolMessage.md +28 -0
  134. data/docs/UpscaleImageRequest.md +24 -8
  135. data/docs/UpscaleImageRequestEnhance.md +15 -0
  136. data/docs/UserMessage.md +20 -0
  137. data/docs/UserMessageContent.md +15 -0
  138. data/git_push.sh +11 -9
  139. data/lib/venice_client/api/api_keys_api.rb +122 -65
  140. data/lib/venice_client/api/audio_api.rb +26 -14
  141. data/lib/venice_client/api/billing_api.rb +46 -23
  142. data/lib/venice_client/api/characters_api.rb +20 -11
  143. data/lib/venice_client/api/chat_api.rb +28 -16
  144. data/lib/venice_client/api/embeddings_api.rb +34 -22
  145. data/lib/venice_client/api/image_api.rb +146 -119
  146. data/lib/venice_client/api/models_api.rb +62 -37
  147. data/lib/venice_client/api/preview_api.rb +20 -11
  148. data/lib/venice_client/api/speech_api.rb +26 -14
  149. data/lib/venice_client/api_client.rb +99 -94
  150. data/lib/venice_client/api_error.rb +7 -5
  151. data/lib/venice_client/configuration.rb +129 -24
  152. data/lib/venice_client/models/assistant_message.rb +304 -0
  153. data/lib/venice_client/models/assistant_message_content.rb +104 -0
  154. data/lib/venice_client/models/audio_model_pricing.rb +238 -0
  155. data/lib/venice_client/models/audio_model_pricing_input.rb +292 -0
  156. data/lib/venice_client/models/billing_usage_request.rb +99 -38
  157. data/lib/venice_client/models/billing_usage_response.rb +68 -30
  158. data/lib/venice_client/models/chat_completion_request.rb +389 -61
  159. data/lib/venice_client/models/chat_completion_request_messages_inner.rb +106 -0
  160. data/lib/venice_client/models/chat_completion_request_response_format.rb +106 -0
  161. data/lib/venice_client/models/chat_completion_request_stop.rb +105 -0
  162. data/lib/venice_client/models/chat_completion_request_stream_options.rb +43 -29
  163. data/lib/venice_client/models/chat_completion_request_tool_choice.rb +104 -0
  164. data/lib/venice_client/models/chat_completion_request_tool_choice_any_of.rb +263 -0
  165. data/lib/venice_client/models/chat_completion_request_tool_choice_any_of_function.rb +237 -0
  166. data/lib/venice_client/models/chat_completion_request_venice_parameters.rb +63 -37
  167. data/lib/venice_client/models/{inline_response_200_8.rb → create_api_key200_response.rb} +70 -32
  168. data/lib/venice_client/models/{inline_response_200_8_data.rb → create_api_key200_response_data.rb} +92 -43
  169. data/lib/venice_client/models/{api_keys_body.rb → create_api_key_request.rb} +65 -38
  170. data/lib/venice_client/models/create_api_key_request_expires_at.rb +104 -0
  171. data/lib/venice_client/models/{inline_response_200.rb → create_chat_completion200_response.rb} +120 -42
  172. data/lib/venice_client/models/{inline_response_200_choices.rb → create_chat_completion200_response_choices_inner.rb} +82 -44
  173. data/lib/venice_client/models/{inline_response_200_logprobs.rb → create_chat_completion200_response_choices_inner_logprobs.rb} +72 -34
  174. data/lib/venice_client/models/{inline_response_200_logprobs_top_logprobs.rb → create_chat_completion200_response_choices_inner_logprobs_top_logprobs_inner.rb} +71 -33
  175. data/lib/venice_client/models/create_chat_completion200_response_choices_inner_message.rb +104 -0
  176. data/lib/venice_client/models/{inline_response_200_usage.rb → create_chat_completion200_response_usage.rb} +83 -33
  177. data/lib/venice_client/models/{inline_response_200_venice_parameters.rb → create_chat_completion200_response_venice_parameters.rb} +131 -40
  178. data/lib/venice_client/models/{inline_response_200_venice_parameters_web_search_citations.rb → create_chat_completion200_response_venice_parameters_web_search_citations_inner.rb} +72 -34
  179. data/lib/venice_client/models/{inline_response_400.rb → create_chat_completion400_response.rb} +57 -31
  180. data/lib/venice_client/models/{inline_response_401.rb → create_chat_completion401_response.rb} +57 -31
  181. data/lib/venice_client/models/{inline_response_402.rb → create_chat_completion402_response.rb} +57 -31
  182. data/lib/venice_client/models/create_chat_completion415_response.rb +238 -0
  183. data/lib/venice_client/models/create_chat_completion429_response.rb +238 -0
  184. data/lib/venice_client/models/create_chat_completion500_response.rb +238 -0
  185. data/lib/venice_client/models/create_chat_completion503_response.rb +238 -0
  186. data/lib/venice_client/models/create_chat_completion504_response.rb +238 -0
  187. data/lib/venice_client/models/{inline_response_200_14.rb → create_embedding200_response.rb} +88 -36
  188. data/lib/venice_client/models/{inline_response_200_14_data.rb → create_embedding200_response_data_inner.rb} +75 -35
  189. data/lib/venice_client/models/{inline_response_200_14_usage.rb → create_embedding200_response_usage.rb} +70 -32
  190. data/lib/venice_client/models/create_embedding_request_schema.rb +92 -37
  191. data/lib/venice_client/models/create_embedding_request_schema_input.rb +107 -0
  192. data/lib/venice_client/models/create_embedding_request_schema_model.rb +104 -0
  193. data/lib/venice_client/models/{inline_response_403.rb → create_speech403_response.rb} +57 -31
  194. data/lib/venice_client/models/create_speech_request_schema.rb +112 -40
  195. data/lib/venice_client/models/{inline_response_200_12.rb → delete_api_key200_response.rb} +58 -46
  196. data/lib/venice_client/models/edit_image_request.rb +260 -0
  197. data/lib/venice_client/models/{inline_response_200_1.rb → generate_image200_response.rb} +83 -33
  198. data/lib/venice_client/models/{inline_response_200_1_timing.rb → generate_image200_response_timing.rb} +96 -34
  199. data/lib/venice_client/models/generate_image_request.rb +289 -46
  200. data/lib/venice_client/models/get_api_key_generate_web3_key200_response.rb +263 -0
  201. data/lib/venice_client/models/{inline_response_200_12_data.rb → get_api_key_generate_web3_key200_response_data.rb} +57 -31
  202. data/lib/venice_client/models/{inline_response_200_13.rb → get_api_key_rate_limit_logs200_response.rb} +63 -34
  203. data/lib/venice_client/models/{inline_response_200_11_data.rb → get_api_key_rate_limit_logs200_response_data_inner.rb} +107 -35
  204. data/lib/venice_client/models/{inline_response_200_10.rb → get_api_key_rate_limits200_response.rb} +57 -31
  205. data/lib/venice_client/models/{inline_response_200_10_data.rb → get_api_key_rate_limits200_response_data.rb} +112 -41
  206. data/lib/venice_client/models/{inline_response_200_10_data_api_tier.rb → get_api_key_rate_limits200_response_data_api_tier.rb} +71 -33
  207. data/lib/venice_client/models/{inline_response_200_10_data_balances.rb → get_api_key_rate_limits200_response_data_balances.rb} +60 -36
  208. data/lib/venice_client/models/{inline_response_200_10_data_rate_limits_1.rb → get_api_key_rate_limits200_response_data_rate_limits_inner.rb} +58 -32
  209. data/lib/venice_client/models/{inline_response_200_10_data_rate_limits.rb → get_api_key_rate_limits200_response_data_rate_limits_inner_rate_limits_inner.rb} +70 -32
  210. data/lib/venice_client/models/{inline_response_200_7.rb → get_api_keys200_response.rb} +62 -34
  211. data/lib/venice_client/models/{inline_response_200_7_data.rb → get_api_keys200_response_data_inner.rb} +99 -56
  212. data/lib/venice_client/models/get_api_keys200_response_data_inner_consumption_limits.rb +287 -0
  213. data/lib/venice_client/models/{inline_response_200_7_usage.rb → get_api_keys200_response_data_inner_usage.rb} +57 -31
  214. data/lib/venice_client/models/get_api_keys200_response_data_inner_usage_trailing_seven_days.rb +292 -0
  215. data/lib/venice_client/models/{inline_response_200_15.rb → get_billing_usage200_response.rb} +70 -32
  216. data/lib/venice_client/models/{billing_usage_response_data.rb → get_billing_usage200_response_data_inner.rb} +131 -45
  217. data/lib/venice_client/models/{billing_usage_response_inference_details.rb → get_billing_usage200_response_data_inner_inference_details.rb} +56 -54
  218. data/lib/venice_client/models/{billing_usage_response_pagination.rb → get_billing_usage200_response_pagination.rb} +96 -34
  219. data/lib/venice_client/models/image_model_constraints.rb +292 -0
  220. data/lib/venice_client/models/image_model_constraints_steps.rb +265 -0
  221. data/lib/venice_client/models/image_model_pricing.rb +264 -0
  222. data/lib/venice_client/models/image_model_pricing_generation.rb +292 -0
  223. data/lib/venice_client/models/image_model_pricing_upscale.rb +263 -0
  224. data/lib/venice_client/models/image_model_pricing_upscale2x.rb +292 -0
  225. data/lib/venice_client/models/image_model_pricing_upscale4x.rb +292 -0
  226. data/lib/venice_client/models/{inline_response_200_3.rb → image_styles_get200_response.rb} +62 -34
  227. data/lib/venice_client/models/{inline_response_415.rb → image_styles_get500_response.rb} +57 -31
  228. data/lib/venice_client/models/image_url.rb +288 -0
  229. data/lib/venice_client/models/{inline_response_200_7_usage_trailing_seven_days.rb → image_url_object.rb} +68 -56
  230. data/lib/venice_client/models/json_object.rb +262 -0
  231. data/lib/venice_client/models/json_schema.rb +290 -0
  232. data/lib/venice_client/models/{inline_response_200_11.rb → list_characters200_response.rb} +62 -35
  233. data/lib/venice_client/models/{inline_response_200_13_data.rb → list_characters200_response_data_inner.rb} +154 -50
  234. data/lib/venice_client/models/{inline_response_200_13_stats.rb → list_characters200_response_data_inner_stats.rb} +57 -31
  235. data/lib/venice_client/models/{inline_response_200_6.rb → list_model_compatibility_mapping200_response.rb} +79 -37
  236. data/lib/venice_client/models/{inline_response_200_5.rb → list_model_traits200_response.rb} +79 -37
  237. data/lib/venice_client/models/{inline_response_200_4.rb → list_models200_response.rb} +75 -36
  238. data/lib/venice_client/models/list_models200_response_type.rb +104 -0
  239. data/lib/venice_client/models/list_models_type_parameter.rb +104 -0
  240. data/lib/venice_client/models/llm_model_pricing.rb +264 -0
  241. data/lib/venice_client/models/llm_model_pricing_input.rb +292 -0
  242. data/lib/venice_client/models/llm_model_pricing_output.rb +292 -0
  243. data/lib/venice_client/models/model_response.rb +84 -40
  244. data/lib/venice_client/models/model_response_model_spec.rb +62 -40
  245. data/lib/venice_client/models/model_response_model_spec_capabilities.rb +138 -38
  246. data/lib/venice_client/models/model_response_model_spec_constraints.rb +105 -0
  247. data/lib/venice_client/models/model_response_model_spec_pricing.rb +106 -0
  248. data/lib/venice_client/models/objects_inner.rb +105 -0
  249. data/lib/venice_client/models/{api_keys_generate_web3_key_body.rb → post_api_key_generate_web3_key_request.rb} +91 -40
  250. data/lib/venice_client/models/{inline_response_200_2.rb → simple_generate_image200_response.rb} +73 -35
  251. data/lib/venice_client/models/simple_generate_image200_response_data_inner.rb +104 -0
  252. data/lib/venice_client/models/simple_generate_image200_response_data_inner_any_of.rb +238 -0
  253. data/lib/venice_client/models/{api_keys_consumption_limit.rb → simple_generate_image200_response_data_inner_any_of1.rb} +67 -57
  254. data/lib/venice_client/models/simple_generate_image_request.rb +146 -54
  255. data/lib/venice_client/models/system_message.rb +297 -0
  256. data/lib/venice_client/models/system_message_content.rb +104 -0
  257. data/lib/venice_client/models/text.rb +298 -0
  258. data/lib/venice_client/models/text_model_constraints.rb +264 -0
  259. data/lib/venice_client/models/text_model_constraints_temperature.rb +238 -0
  260. data/lib/venice_client/models/text_model_constraints_top_p.rb +238 -0
  261. data/lib/venice_client/models/tool_call.rb +57 -31
  262. data/lib/venice_client/models/{chat_completion_request_function.rb → tool_call_function.rb} +59 -33
  263. data/lib/venice_client/models/tool_message.rb +344 -0
  264. data/lib/venice_client/models/upscale_image_request.rb +146 -40
  265. data/lib/venice_client/models/upscale_image_request_enhance.rb +105 -0
  266. data/lib/venice_client/models/user_message.rb +288 -0
  267. data/lib/venice_client/models/user_message_content.rb +104 -0
  268. data/lib/venice_client/version.rb +5 -4
  269. data/lib/venice_client.rb +134 -108
  270. data/openapitools.json +7 -0
  271. data/spec/api/api_keys_api_spec.rb +43 -41
  272. data/spec/api/audio_api_spec.rb +18 -16
  273. data/spec/api/billing_api_spec.rb +23 -21
  274. data/spec/api/characters_api_spec.rb +17 -15
  275. data/spec/api/chat_api_spec.rb +19 -17
  276. data/spec/api/embeddings_api_spec.rb +19 -17
  277. data/spec/api/image_api_spec.rb +43 -46
  278. data/spec/api/models_api_spec.rb +28 -26
  279. data/spec/api/preview_api_spec.rb +17 -15
  280. data/spec/api/speech_api_spec.rb +18 -16
  281. data/spec/models/assistant_message_content_spec.rb +21 -0
  282. data/spec/models/assistant_message_spec.rb +64 -0
  283. data/spec/models/audio_model_pricing_input_spec.rb +48 -0
  284. data/spec/models/audio_model_pricing_spec.rb +36 -0
  285. data/spec/models/billing_usage_request_spec.rb +19 -23
  286. data/spec/models/billing_usage_response_spec.rb +12 -16
  287. data/spec/models/chat_completion_request_messages_inner_spec.rb +21 -0
  288. data/spec/models/chat_completion_request_response_format_spec.rb +32 -0
  289. data/spec/models/chat_completion_request_spec.rb +74 -71
  290. data/spec/models/chat_completion_request_stop_spec.rb +21 -0
  291. data/spec/models/chat_completion_request_stream_options_spec.rb +11 -15
  292. data/spec/models/chat_completion_request_tool_choice_any_of_function_spec.rb +36 -0
  293. data/spec/models/chat_completion_request_tool_choice_any_of_spec.rb +42 -0
  294. data/spec/models/chat_completion_request_tool_choice_spec.rb +21 -0
  295. data/spec/models/chat_completion_request_venice_parameters_spec.rb +35 -32
  296. data/spec/models/create_api_key200_response_data_spec.rb +70 -0
  297. data/spec/models/create_api_key200_response_spec.rb +42 -0
  298. data/spec/models/create_api_key_request_expires_at_spec.rb +21 -0
  299. data/spec/models/create_api_key_request_spec.rb +58 -0
  300. data/spec/models/create_chat_completion200_response_choices_inner_logprobs_spec.rb +54 -0
  301. data/spec/models/create_chat_completion200_response_choices_inner_logprobs_top_logprobs_inner_spec.rb +48 -0
  302. data/spec/models/create_chat_completion200_response_choices_inner_message_spec.rb +21 -0
  303. data/spec/models/create_chat_completion200_response_choices_inner_spec.rb +68 -0
  304. data/spec/models/create_chat_completion200_response_spec.rb +82 -0
  305. data/spec/models/create_chat_completion200_response_usage_spec.rb +54 -0
  306. data/spec/models/create_chat_completion200_response_venice_parameters_spec.rb +82 -0
  307. data/spec/models/create_chat_completion200_response_venice_parameters_web_search_citations_inner_spec.rb +54 -0
  308. data/spec/models/create_chat_completion400_response_spec.rb +42 -0
  309. data/spec/models/create_chat_completion401_response_spec.rb +36 -0
  310. data/spec/models/create_chat_completion402_response_spec.rb +36 -0
  311. data/spec/models/create_chat_completion415_response_spec.rb +36 -0
  312. data/spec/models/create_chat_completion429_response_spec.rb +36 -0
  313. data/spec/models/create_chat_completion500_response_spec.rb +36 -0
  314. data/spec/models/create_chat_completion503_response_spec.rb +36 -0
  315. data/spec/models/create_chat_completion504_response_spec.rb +36 -0
  316. data/spec/models/create_embedding200_response_data_inner_spec.rb +52 -0
  317. data/spec/models/create_embedding200_response_spec.rb +58 -0
  318. data/spec/models/create_embedding200_response_usage_spec.rb +42 -0
  319. data/spec/models/create_embedding_request_schema_input_spec.rb +21 -0
  320. data/spec/models/create_embedding_request_schema_model_spec.rb +21 -0
  321. data/spec/models/create_embedding_request_schema_spec.rb +16 -20
  322. data/spec/models/create_speech403_response_spec.rb +36 -0
  323. data/spec/models/create_speech_request_schema_spec.rb +31 -34
  324. data/spec/models/delete_api_key200_response_spec.rb +36 -0
  325. data/spec/models/edit_image_request_spec.rb +42 -0
  326. data/spec/models/generate_image200_response_spec.rb +54 -0
  327. data/spec/models/generate_image200_response_timing_spec.rb +54 -0
  328. data/spec/models/generate_image_request_spec.rb +27 -31
  329. data/spec/models/get_api_key_generate_web3_key200_response_data_spec.rb +36 -0
  330. data/spec/models/get_api_key_generate_web3_key200_response_spec.rb +42 -0
  331. data/spec/models/get_api_key_rate_limit_logs200_response_data_inner_spec.rb +60 -0
  332. data/spec/models/get_api_key_rate_limit_logs200_response_spec.rb +46 -0
  333. data/spec/models/get_api_key_rate_limits200_response_data_api_tier_spec.rb +42 -0
  334. data/spec/models/get_api_key_rate_limits200_response_data_balances_spec.rb +48 -0
  335. data/spec/models/get_api_key_rate_limits200_response_data_rate_limits_inner_rate_limits_inner_spec.rb +42 -0
  336. data/spec/models/get_api_key_rate_limits200_response_data_rate_limits_inner_spec.rb +42 -0
  337. data/spec/models/get_api_key_rate_limits200_response_data_spec.rb +66 -0
  338. data/spec/models/get_api_key_rate_limits200_response_spec.rb +36 -0
  339. data/spec/models/get_api_keys200_response_data_inner_consumption_limits_spec.rb +48 -0
  340. data/spec/models/get_api_keys200_response_data_inner_spec.rb +88 -0
  341. data/spec/models/get_api_keys200_response_data_inner_usage_spec.rb +36 -0
  342. data/spec/models/get_api_keys200_response_data_inner_usage_trailing_seven_days_spec.rb +48 -0
  343. data/spec/models/get_api_keys200_response_spec.rb +46 -0
  344. data/spec/models/get_billing_usage200_response_data_inner_inference_details_spec.rb +54 -0
  345. data/spec/models/get_billing_usage200_response_data_inner_spec.rb +82 -0
  346. data/spec/models/get_billing_usage200_response_pagination_spec.rb +54 -0
  347. data/spec/models/get_billing_usage200_response_spec.rb +42 -0
  348. data/spec/models/image_model_constraints_spec.rb +48 -0
  349. data/spec/models/image_model_constraints_steps_spec.rb +42 -0
  350. data/spec/models/image_model_pricing_generation_spec.rb +48 -0
  351. data/spec/models/image_model_pricing_spec.rb +42 -0
  352. data/spec/models/image_model_pricing_upscale2x_spec.rb +48 -0
  353. data/spec/models/image_model_pricing_upscale4x_spec.rb +48 -0
  354. data/spec/models/image_model_pricing_upscale_spec.rb +42 -0
  355. data/spec/models/image_styles_get200_response_spec.rb +46 -0
  356. data/spec/models/image_styles_get500_response_spec.rb +36 -0
  357. data/spec/models/image_url_object_spec.rb +36 -0
  358. data/spec/models/image_url_spec.rb +46 -0
  359. data/spec/models/json_object_spec.rb +40 -0
  360. data/spec/models/json_schema_spec.rb +46 -0
  361. data/spec/models/list_characters200_response_data_inner_spec.rb +90 -0
  362. data/spec/models/list_characters200_response_data_inner_stats_spec.rb +36 -0
  363. data/spec/models/list_characters200_response_spec.rb +46 -0
  364. data/spec/models/list_model_compatibility_mapping200_response_spec.rb +52 -0
  365. data/spec/models/list_model_traits200_response_spec.rb +52 -0
  366. data/spec/models/list_models200_response_spec.rb +52 -0
  367. data/spec/models/list_models200_response_type_spec.rb +21 -0
  368. data/spec/models/list_models_type_parameter_spec.rb +21 -0
  369. data/spec/models/llm_model_pricing_input_spec.rb +48 -0
  370. data/spec/models/llm_model_pricing_output_spec.rb +48 -0
  371. data/spec/models/llm_model_pricing_spec.rb +42 -0
  372. data/spec/models/model_response_model_spec_capabilities_spec.rb +33 -36
  373. data/spec/models/model_response_model_spec_constraints_spec.rb +21 -0
  374. data/spec/models/model_response_model_spec_pricing_spec.rb +21 -0
  375. data/spec/models/model_response_model_spec_spec.rb +40 -37
  376. data/spec/models/model_response_spec.rb +32 -35
  377. data/spec/models/objects_inner_spec.rb +32 -0
  378. data/spec/models/post_api_key_generate_web3_key_request_spec.rb +76 -0
  379. data/spec/models/simple_generate_image200_response_data_inner_any_of1_spec.rb +36 -0
  380. data/spec/models/simple_generate_image200_response_data_inner_any_of_spec.rb +36 -0
  381. data/spec/models/simple_generate_image200_response_data_inner_spec.rb +21 -0
  382. data/spec/models/simple_generate_image200_response_spec.rb +42 -0
  383. data/spec/models/simple_generate_image_request_spec.rb +29 -33
  384. data/spec/models/system_message_content_spec.rb +21 -0
  385. data/spec/models/system_message_spec.rb +52 -0
  386. data/spec/models/text_model_constraints_spec.rb +42 -0
  387. data/spec/models/text_model_constraints_temperature_spec.rb +36 -0
  388. data/spec/models/text_model_constraints_top_p_spec.rb +36 -0
  389. data/spec/models/text_spec.rb +46 -0
  390. data/spec/models/tool_call_function_spec.rb +48 -0
  391. data/spec/models/tool_call_spec.rb +22 -25
  392. data/spec/models/tool_message_spec.rb +70 -0
  393. data/spec/models/upscale_image_request_enhance_spec.rb +21 -0
  394. data/spec/models/upscale_image_request_spec.rb +28 -31
  395. data/spec/models/user_message_content_spec.rb +21 -0
  396. data/spec/models/user_message_spec.rb +46 -0
  397. data/spec/spec_helper.rb +7 -6
  398. data/swagger.yaml +4791 -0
  399. data/update.sh +9 -0
  400. metadata +440 -356
  401. data/docs/AnyOfChatCompletionRequestMessagesItems.md +0 -6
  402. data/docs/AnyOfChatCompletionRequestStop.md +0 -6
  403. data/docs/AnyOfChatCompletionRequestToolChoice.md +0 -6
  404. data/docs/AnyOfCreateEmbeddingRequestSchemaInput.md +0 -6
  405. data/docs/AnyOfCreateEmbeddingRequestSchemaModel.md +0 -6
  406. data/docs/AnyOfModelResponseModelSpecConstraints.md +0 -6
  407. data/docs/AnyOfModelResponseModelSpecPricing.md +0 -6
  408. data/docs/AnyOfUpscaleImageRequestEnhance.md +0 -6
  409. data/docs/AnyOfUpscaleImageRequestImage.md +0 -6
  410. data/docs/AnyOfapiKeysBodyExpiresAt.md +0 -6
  411. data/docs/AnyOfapiKeysConsumptionLimitUsd.md +0 -6
  412. data/docs/AnyOfapiKeysConsumptionLimitVcu.md +0 -6
  413. data/docs/AnyOfapiKeysGenerateWeb3KeyBodyExpiresAt.md +0 -6
  414. data/docs/AnyOfinlineResponse2002DataItems.md +0 -6
  415. data/docs/AnyOfinlineResponse2004Type.md +0 -6
  416. data/docs/AnyOfinlineResponse2005Type.md +0 -6
  417. data/docs/AnyOfinlineResponse2006Type.md +0 -6
  418. data/docs/AnyOfinlineResponse200ChoicesMessage.md +0 -6
  419. data/docs/AnyOfinlineResponse200PromptLogprobs.md +0 -6
  420. data/docs/ApiKeysBody.md +0 -10
  421. data/docs/ApiKeysConsumptionLimit.md +0 -8
  422. data/docs/ApiKeysGenerateWeb3KeyBody.md +0 -13
  423. data/docs/BillingUsageResponseData.md +0 -14
  424. data/docs/BillingUsageResponseInferenceDetails.md +0 -10
  425. data/docs/BillingUsageResponsePagination.md +0 -10
  426. data/docs/ChatCompletionRequestFunction.md +0 -9
  427. data/docs/InlineResponse200.md +0 -14
  428. data/docs/InlineResponse2001.md +0 -10
  429. data/docs/InlineResponse20010.md +0 -7
  430. data/docs/InlineResponse20010Data.md +0 -12
  431. data/docs/InlineResponse20010DataApiTier.md +0 -8
  432. data/docs/InlineResponse20010DataBalances.md +0 -8
  433. data/docs/InlineResponse20010DataRateLimits.md +0 -8
  434. data/docs/InlineResponse20010DataRateLimits1.md +0 -8
  435. data/docs/InlineResponse20011.md +0 -8
  436. data/docs/InlineResponse20011Data.md +0 -11
  437. data/docs/InlineResponse20012.md +0 -8
  438. data/docs/InlineResponse20012Data.md +0 -7
  439. data/docs/InlineResponse20013.md +0 -8
  440. data/docs/InlineResponse20013Data.md +0 -16
  441. data/docs/InlineResponse20013Stats.md +0 -7
  442. data/docs/InlineResponse20014.md +0 -10
  443. data/docs/InlineResponse20014Data.md +0 -9
  444. data/docs/InlineResponse20014Usage.md +0 -8
  445. data/docs/InlineResponse20015.md +0 -8
  446. data/docs/InlineResponse2001Timing.md +0 -10
  447. data/docs/InlineResponse2002.md +0 -8
  448. data/docs/InlineResponse2003.md +0 -8
  449. data/docs/InlineResponse2004.md +0 -9
  450. data/docs/InlineResponse2005.md +0 -9
  451. data/docs/InlineResponse2006.md +0 -9
  452. data/docs/InlineResponse2007.md +0 -8
  453. data/docs/InlineResponse2007Data.md +0 -15
  454. data/docs/InlineResponse2007Usage.md +0 -7
  455. data/docs/InlineResponse2007UsageTrailingSevenDays.md +0 -8
  456. data/docs/InlineResponse2008.md +0 -8
  457. data/docs/InlineResponse2008Data.md +0 -12
  458. data/docs/InlineResponse2009.md +0 -7
  459. data/docs/InlineResponse200Choices.md +0 -11
  460. data/docs/InlineResponse200Logprobs.md +0 -10
  461. data/docs/InlineResponse200LogprobsTopLogprobs.md +0 -9
  462. data/docs/InlineResponse200Usage.md +0 -10
  463. data/docs/InlineResponse200VeniceParameters.md +0 -13
  464. data/docs/InlineResponse200VeniceParametersWebSearchCitations.md +0 -10
  465. data/docs/InlineResponse400.md +0 -8
  466. data/docs/InlineResponse401.md +0 -7
  467. data/docs/InlineResponse402.md +0 -7
  468. data/docs/InlineResponse403.md +0 -7
  469. data/docs/InlineResponse415.md +0 -7
  470. data/docs/InlineResponse429.md +0 -7
  471. data/docs/InlineResponse500.md +0 -7
  472. data/docs/InlineResponse5001.md +0 -7
  473. data/docs/InlineResponse503.md +0 -7
  474. data/docs/ModelCompatibilitySchema.md +0 -6
  475. data/docs/ModelTraitSchema.md +0 -6
  476. data/docs/OneOfChatCompletionRequestResponseFormat.md +0 -6
  477. data/docs/Type.md +0 -6
  478. data/lib/venice_client/models/any_of_chat_completion_request_messages_items.rb +0 -197
  479. data/lib/venice_client/models/any_of_chat_completion_request_stop.rb +0 -197
  480. data/lib/venice_client/models/any_of_chat_completion_request_tool_choice.rb +0 -197
  481. data/lib/venice_client/models/any_of_create_embedding_request_schema_input.rb +0 -197
  482. data/lib/venice_client/models/any_of_create_embedding_request_schema_model.rb +0 -197
  483. data/lib/venice_client/models/any_of_model_response_model_spec_constraints.rb +0 -197
  484. data/lib/venice_client/models/any_of_model_response_model_spec_pricing.rb +0 -197
  485. data/lib/venice_client/models/any_of_upscale_image_request_enhance.rb +0 -197
  486. data/lib/venice_client/models/any_of_upscale_image_request_image.rb +0 -197
  487. data/lib/venice_client/models/any_ofapi_keys_body_expires_at.rb +0 -197
  488. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_usd.rb +0 -197
  489. data/lib/venice_client/models/any_ofapi_keys_consumption_limit_vcu.rb +0 -195
  490. data/lib/venice_client/models/any_ofapi_keys_generate_web3_key_body_expires_at.rb +0 -197
  491. data/lib/venice_client/models/any_ofinline_response_200_2_data_items.rb +0 -197
  492. data/lib/venice_client/models/any_ofinline_response_200_4_type.rb +0 -197
  493. data/lib/venice_client/models/any_ofinline_response_200_5_type.rb +0 -197
  494. data/lib/venice_client/models/any_ofinline_response_200_6_type.rb +0 -197
  495. data/lib/venice_client/models/any_ofinline_response_200_choices_message.rb +0 -197
  496. data/lib/venice_client/models/any_ofinline_response_200_prompt_logprobs.rb +0 -197
  497. data/lib/venice_client/models/inline_response_200_9.rb +0 -211
  498. data/lib/venice_client/models/inline_response_429.rb +0 -212
  499. data/lib/venice_client/models/inline_response_500.rb +0 -212
  500. data/lib/venice_client/models/inline_response_500_1.rb +0 -212
  501. data/lib/venice_client/models/inline_response_503.rb +0 -212
  502. data/lib/venice_client/models/model_compatibility_schema.rb +0 -202
  503. data/lib/venice_client/models/model_trait_schema.rb +0 -200
  504. data/lib/venice_client/models/one_of_chat_completion_request_response_format.rb +0 -197
  505. data/lib/venice_client/models/type.rb +0 -198
  506. data/spec/api_client_spec.rb +0 -225
  507. data/spec/base_object_spec.rb +0 -109
  508. data/spec/configuration_spec.rb +0 -41
  509. data/spec/models/any_of_chat_completion_request_messages_items_spec.rb +0 -34
  510. data/spec/models/any_of_chat_completion_request_stop_spec.rb +0 -34
  511. data/spec/models/any_of_chat_completion_request_tool_choice_spec.rb +0 -34
  512. data/spec/models/any_of_create_embedding_request_schema_input_spec.rb +0 -34
  513. data/spec/models/any_of_create_embedding_request_schema_model_spec.rb +0 -34
  514. data/spec/models/any_of_model_response_model_spec_constraints_spec.rb +0 -34
  515. data/spec/models/any_of_model_response_model_spec_pricing_spec.rb +0 -34
  516. data/spec/models/any_of_upscale_image_request_enhance_spec.rb +0 -34
  517. data/spec/models/any_of_upscale_image_request_image_spec.rb +0 -34
  518. data/spec/models/any_ofapi_keys_body_expires_at_spec.rb +0 -34
  519. data/spec/models/any_ofapi_keys_consumption_limit_usd_spec.rb +0 -34
  520. data/spec/models/any_ofapi_keys_consumption_limit_vcu_spec.rb +0 -34
  521. data/spec/models/any_ofapi_keys_generate_web3_key_body_expires_at_spec.rb +0 -34
  522. data/spec/models/any_ofinline_response_200_2_data_items_spec.rb +0 -34
  523. data/spec/models/any_ofinline_response_200_4_type_spec.rb +0 -34
  524. data/spec/models/any_ofinline_response_200_5_type_spec.rb +0 -34
  525. data/spec/models/any_ofinline_response_200_6_type_spec.rb +0 -34
  526. data/spec/models/any_ofinline_response_200_choices_message_spec.rb +0 -34
  527. data/spec/models/any_ofinline_response_200_prompt_logprobs_spec.rb +0 -34
  528. data/spec/models/api_keys_body_spec.rb +0 -61
  529. data/spec/models/api_keys_consumption_limit_spec.rb +0 -46
  530. data/spec/models/api_keys_generate_web3_key_body_spec.rb +0 -80
  531. data/spec/models/billing_usage_response_data_spec.rb +0 -86
  532. data/spec/models/billing_usage_response_inference_details_spec.rb +0 -57
  533. data/spec/models/billing_usage_response_pagination_spec.rb +0 -58
  534. data/spec/models/chat_completion_request_function_spec.rb +0 -52
  535. data/spec/models/inline_response_200_10_data_api_tier_spec.rb +0 -45
  536. data/spec/models/inline_response_200_10_data_balances_spec.rb +0 -45
  537. data/spec/models/inline_response_200_10_data_rate_limits_1_spec.rb +0 -45
  538. data/spec/models/inline_response_200_10_data_rate_limits_spec.rb +0 -46
  539. data/spec/models/inline_response_200_10_data_spec.rb +0 -69
  540. data/spec/models/inline_response_200_10_spec.rb +0 -40
  541. data/spec/models/inline_response_200_11_data_spec.rb +0 -64
  542. data/spec/models/inline_response_200_11_spec.rb +0 -50
  543. data/spec/models/inline_response_200_12_data_spec.rb +0 -39
  544. data/spec/models/inline_response_200_12_spec.rb +0 -46
  545. data/spec/models/inline_response_200_13_data_spec.rb +0 -93
  546. data/spec/models/inline_response_200_13_spec.rb +0 -49
  547. data/spec/models/inline_response_200_13_stats_spec.rb +0 -40
  548. data/spec/models/inline_response_200_14_data_spec.rb +0 -55
  549. data/spec/models/inline_response_200_14_spec.rb +0 -61
  550. data/spec/models/inline_response_200_14_usage_spec.rb +0 -45
  551. data/spec/models/inline_response_200_15_spec.rb +0 -45
  552. data/spec/models/inline_response_200_1_spec.rb +0 -57
  553. data/spec/models/inline_response_200_1_timing_spec.rb +0 -58
  554. data/spec/models/inline_response_200_2_spec.rb +0 -46
  555. data/spec/models/inline_response_200_3_spec.rb +0 -50
  556. data/spec/models/inline_response_200_4_spec.rb +0 -55
  557. data/spec/models/inline_response_200_5_spec.rb +0 -55
  558. data/spec/models/inline_response_200_6_spec.rb +0 -55
  559. data/spec/models/inline_response_200_7_data_spec.rb +0 -91
  560. data/spec/models/inline_response_200_7_spec.rb +0 -50
  561. data/spec/models/inline_response_200_7_usage_spec.rb +0 -39
  562. data/spec/models/inline_response_200_7_usage_trailing_seven_days_spec.rb +0 -45
  563. data/spec/models/inline_response_200_8_data_spec.rb +0 -73
  564. data/spec/models/inline_response_200_8_spec.rb +0 -45
  565. data/spec/models/inline_response_200_9_spec.rb +0 -39
  566. data/spec/models/inline_response_200_choices_spec.rb +0 -72
  567. data/spec/models/inline_response_200_logprobs_spec.rb +0 -57
  568. data/spec/models/inline_response_200_logprobs_top_logprobs_spec.rb +0 -51
  569. data/spec/models/inline_response_200_spec.rb +0 -85
  570. data/spec/models/inline_response_200_usage_spec.rb +0 -57
  571. data/spec/models/inline_response_200_venice_parameters_spec.rb +0 -80
  572. data/spec/models/inline_response_200_venice_parameters_web_search_citations_spec.rb +0 -57
  573. data/spec/models/inline_response_400_spec.rb +0 -45
  574. data/spec/models/inline_response_401_spec.rb +0 -39
  575. data/spec/models/inline_response_402_spec.rb +0 -39
  576. data/spec/models/inline_response_403_spec.rb +0 -40
  577. data/spec/models/inline_response_415_spec.rb +0 -40
  578. data/spec/models/inline_response_429_spec.rb +0 -39
  579. data/spec/models/inline_response_500_1_spec.rb +0 -40
  580. data/spec/models/inline_response_500_spec.rb +0 -39
  581. data/spec/models/inline_response_503_spec.rb +0 -40
  582. data/spec/models/model_compatibility_schema_spec.rb +0 -34
  583. data/spec/models/model_trait_schema_spec.rb +0 -34
  584. data/spec/models/one_of_chat_completion_request_response_format_spec.rb +0 -34
  585. data/spec/models/type_spec.rb +0 -34
  586. data/venice_client.gemspec +0 -38
data/swagger.yaml ADDED
@@ -0,0 +1,4791 @@
1
+ externalDocs:
2
+ description: Venice.ai API documentation
3
+ url: https://docs.venice.ai
4
+ info:
5
+ description: The Venice.ai API.
6
+ termsOfService: https://venice.ai/legal/tos
7
+ title: Venice.ai API
8
+ version: "20250709.013306"
9
+ openapi: 3.0.0
10
+ security:
11
+ - BearerAuth: []
12
+ servers:
13
+ - url: https://api.venice.ai/api/v1
14
+ tags:
15
+ - description: Given a list of messages comprising a conversation, the model will
16
+ return a response.
17
+ name: Chat
18
+ - description: List and describe the various models available in the API.
19
+ name: Models
20
+ - description: Generate and manipulate images using AI models.
21
+ name: Image
22
+ components:
23
+ securitySchemes:
24
+ BearerAuth:
25
+ bearerFormat: JWT
26
+ scheme: bearer
27
+ type: http
28
+ schemas:
29
+ ChatCompletionRequest:
30
+ type: object
31
+ properties:
32
+ frequency_penalty:
33
+ type: number
34
+ maximum: 2
35
+ minimum: -2
36
+ default: 0
37
+ description: Number between -2.0 and 2.0. Positive values penalize new tokens
38
+ based on their existing frequency in the text so far, decreasing the
39
+ model's likelihood to repeat the same line verbatim.
40
+ logprobs:
41
+ type: boolean
42
+ description: Whether to include log probabilities in the response. This is not
43
+ supported by all models.
44
+ example: true
45
+ top_logprobs:
46
+ type: integer
47
+ minimum: 0
48
+ description: The number of highest probability tokens to return for each token
49
+ position.
50
+ example: 1
51
+ max_completion_tokens:
52
+ type: integer
53
+ description: An upper bound for the number of tokens that can be generated for a
54
+ completion, including visible output tokens and reasoning tokens.
55
+ max_temp:
56
+ type: number
57
+ minimum: 0
58
+ maximum: 2
59
+ description: Maximum temperature value for dynamic temperature scaling.
60
+ example: 1.5
61
+ max_tokens:
62
+ type: integer
63
+ description: The maximum number of tokens that can be generated in the chat
64
+ completion. This value can be used to control costs for text
65
+ generated via API. This value is now deprecated in favor of
66
+ max_completion_tokens.
67
+ messages:
68
+ type: array
69
+ items:
70
+ anyOf:
71
+ - type: object
72
+ properties:
73
+ content:
74
+ anyOf:
75
+ - type: string
76
+ title: String
77
+ - type: array
78
+ items:
79
+ oneOf:
80
+ - type: object
81
+ properties:
82
+ text:
83
+ type: string
84
+ minLength: 1
85
+ description: The prompt text of the message. Must be at-least one character in
86
+ length
87
+ example: Why is the sky blue?
88
+ title: Text Content Object
89
+ type:
90
+ type: string
91
+ enum:
92
+ - text
93
+ title: Text Content String
94
+ required:
95
+ - text
96
+ - type
97
+ additionalProperties: false
98
+ description: Text message type.
99
+ example:
100
+ text: Why is the sky blue?
101
+ type: text
102
+ title: text
103
+ - type: object
104
+ properties:
105
+ image_url:
106
+ type: object
107
+ properties:
108
+ url:
109
+ type: string
110
+ description: The URL of the image. Can be a data URL with a base64 encoded image
111
+ or a public URL. URL must be publicly
112
+ accessible. Image must pass validation
113
+ checks and be >= 64 pixels square.
114
+ format: uri
115
+ required:
116
+ - url
117
+ description: Object containing the image URL information
118
+ title: Image URL Object
119
+ type:
120
+ type: string
121
+ enum:
122
+ - image_url
123
+ required:
124
+ - image_url
125
+ - type
126
+ additionalProperties: false
127
+ description: image_url message type.
128
+ title: image_url
129
+ title: Objects
130
+ role:
131
+ type: string
132
+ enum:
133
+ - user
134
+ required:
135
+ - content
136
+ - role
137
+ description: The user message is the input from the user. It is part of the
138
+ conversation and is visible to the assistant.
139
+ title: User Message
140
+ - type: object
141
+ properties:
142
+ content:
143
+ anyOf:
144
+ - type: string
145
+ title: String
146
+ - type: array
147
+ items:
148
+ type: object
149
+ properties:
150
+ text:
151
+ type: string
152
+ minLength: 1
153
+ description: The prompt text of the message. Must be at-least one character in
154
+ length
155
+ example: Why is the sky blue?
156
+ title: Text Content Object
157
+ type:
158
+ type: string
159
+ enum:
160
+ - text
161
+ title: Text Content String
162
+ required:
163
+ - text
164
+ - type
165
+ additionalProperties: false
166
+ description: Text message type.
167
+ example:
168
+ text: Why is the sky blue?
169
+ type: text
170
+ title: text
171
+ title: Objects
172
+ - nullable: true
173
+ title: "null"
174
+ name:
175
+ type: string
176
+ reasoning_content:
177
+ type: string
178
+ nullable: true
179
+ role:
180
+ type: string
181
+ enum:
182
+ - assistant
183
+ tool_calls:
184
+ type: array
185
+ items:
186
+ nullable: true
187
+ required:
188
+ - content
189
+ - role
190
+ description: The assistant message contains the response from the LLM.
191
+ title: Assistant Message
192
+ - type: object
193
+ properties:
194
+ content:
195
+ type: string
196
+ name:
197
+ type: string
198
+ reasoning_content:
199
+ type: string
200
+ nullable: true
201
+ role:
202
+ type: string
203
+ enum:
204
+ - tool
205
+ tool_call_id:
206
+ type: string
207
+ tool_calls:
208
+ type: array
209
+ items:
210
+ nullable: true
211
+ required:
212
+ - content
213
+ - role
214
+ - tool_call_id
215
+ description: The tool message is a special message that is used to call a tool.
216
+ It is not part of the conversation and is not visible to the
217
+ user.
218
+ title: Tool Message
219
+ - type: object
220
+ properties:
221
+ content:
222
+ anyOf:
223
+ - type: string
224
+ title: String
225
+ - type: array
226
+ items:
227
+ type: object
228
+ properties:
229
+ text:
230
+ type: string
231
+ minLength: 1
232
+ description: The prompt text of the message. Must be at-least one character in
233
+ length
234
+ example: Why is the sky blue?
235
+ title: Text Content Object
236
+ type:
237
+ type: string
238
+ enum:
239
+ - text
240
+ title: Text Content String
241
+ required:
242
+ - text
243
+ - type
244
+ additionalProperties: false
245
+ description: Text message type.
246
+ example:
247
+ text: Why is the sky blue?
248
+ type: text
249
+ title: text
250
+ title: Objects
251
+ name:
252
+ type: string
253
+ role:
254
+ type: string
255
+ enum:
256
+ - system
257
+ required:
258
+ - content
259
+ - role
260
+ description: The system message is a special message that provides context to
261
+ the model. It is not part of the conversation and is not
262
+ visible to the user.
263
+ title: System Message
264
+ minItems: 1
265
+ description: A list of messages comprising the conversation so far. Depending on
266
+ the model you use, different message types (modalities) are
267
+ supported, like text and images. For compatibility purposes, the
268
+ schema supports submitting multiple image_url messages, however,
269
+ only the last image_url message will be passed to and processed by
270
+ the model.
271
+ min_p:
272
+ type: number
273
+ minimum: 0
274
+ maximum: 1
275
+ description: Sets a minimum probability threshold for token selection. Tokens
276
+ with probabilities below this value are filtered out.
277
+ example: 0.05
278
+ min_temp:
279
+ type: number
280
+ minimum: 0
281
+ maximum: 2
282
+ description: Minimum temperature value for dynamic temperature scaling.
283
+ example: 0.1
284
+ model:
285
+ type: string
286
+ description: The ID of the model you wish to prompt. May also be a model trait,
287
+ or a model compatibility mapping. See the models endpoint for a list
288
+ of models available to you. You can use feature suffixes to enable
289
+ features from the venice_parameters object. Please see "Model
290
+ Feature Suffix" documentation for more details.
291
+ example: venice-uncensored
292
+ n:
293
+ type: integer
294
+ default: 1
295
+ description: How many chat completion choices to generate for each input
296
+ message. Note that you will be charged based on the number of
297
+ generated tokens across all of the choices. Keep n as 1 to minimize
298
+ costs.
299
+ presence_penalty:
300
+ type: number
301
+ maximum: 2
302
+ minimum: -2
303
+ default: 0
304
+ description: Number between -2.0 and 2.0. Positive values penalize new tokens
305
+ based on whether they appear in the text so far, increasing the
306
+ model's likelihood to talk about new topics.
307
+ repetition_penalty:
308
+ type: number
309
+ minimum: 0
310
+ description: The parameter for repetition penalty. 1.0 means no penalty. Values
311
+ > 1.0 discourage repetition.
312
+ example: 1.2
313
+ seed:
314
+ type: integer
315
+ minimum: 0
316
+ exclusiveMinimum: true
317
+ description: The random seed used to generate the response. This is useful for
318
+ reproducibility.
319
+ example: 42
320
+ stop:
321
+ anyOf:
322
+ - type: string
323
+ title: String
324
+ - type: array
325
+ items:
326
+ type: string
327
+ minItems: 1
328
+ maxItems: 4
329
+ title: Array of Strings
330
+ - nullable: true
331
+ title: "null"
332
+ description: Up to 4 sequences where the API will stop generating further
333
+ tokens. Defaults to null.
334
+ stop_token_ids:
335
+ type: array
336
+ items:
337
+ type: number
338
+ description: Array of token IDs where the API will stop generating further tokens.
339
+ example:
340
+ - 151643
341
+ - 151645
342
+ stream:
343
+ type: boolean
344
+ description: Whether to stream back partial progress. Defaults to false.
345
+ example: true
346
+ stream_options:
347
+ type: object
348
+ properties:
349
+ include_usage:
350
+ type: boolean
351
+ description: Whether to include usage information in the stream.
352
+ temperature:
353
+ type: number
354
+ minimum: 0
355
+ maximum: 2
356
+ default: 0.7
357
+ description: What sampling temperature to use, between 0 and 2. Higher values
358
+ like 0.8 will make the output more random, while lower values like
359
+ 0.2 will make it more focused and deterministic. We generally
360
+ recommend altering this or top_p but not both.
361
+ example: 0.7
362
+ top_k:
363
+ type: integer
364
+ minimum: 0
365
+ description: The number of highest probability vocabulary tokens to keep for
366
+ top-k-filtering.
367
+ example: 40
368
+ top_p:
369
+ type: number
370
+ minimum: 0
371
+ maximum: 1
372
+ default: 0.9
373
+ description: An alternative to sampling with temperature, called nucleus
374
+ sampling, where the model considers the results of the tokens with
375
+ top_p probability mass. So 0.1 means only the tokens comprising the
376
+ top 10% probability mass are considered.
377
+ example: 0.9
378
+ user:
379
+ type: string
380
+ description: This field is discarded on the request but is supported in the
381
+ Venice API for compatibility with OpenAI clients.
382
+ venice_parameters:
383
+ type: object
384
+ properties:
385
+ character_slug:
386
+ type: string
387
+ description: The character slug of a public Venice character.
388
+ example: venice
389
+ strip_thinking_response:
390
+ type: boolean
391
+ default: false
392
+ description: Strip <think></think> blocks from the response. Applicable only to
393
+ reasoning / thinking models. Also available to use as a model
394
+ feature suffix. Defaults to false.
395
+ example: false
396
+ disable_thinking:
397
+ type: boolean
398
+ default: false
399
+ description: On supported reasoning models, will disable thinking and strip the
400
+ <think></think> blocks from the response. Defaults to false.
401
+ example: false
402
+ enable_web_search:
403
+ type: string
404
+ enum:
405
+ - auto
406
+ - off
407
+ - on
408
+ default: off
409
+ description: Enable web search for this request. Defaults to off. On will force
410
+ web search on the request. Auto will enable it based on the
411
+ model's discretion. Citations will be returned either in the
412
+ first chunk of a streaming result, or in the non streaming
413
+ response.
414
+ example: auto
415
+ enable_web_citations:
416
+ type: boolean
417
+ default: false
418
+ description: When web search is enabled, this will request that the LLM cite its
419
+ sources using a [REF]0[/REF] format. Defaults to false.
420
+ example: true
421
+ include_search_results_in_stream:
422
+ type: boolean
423
+ default: false
424
+ description: Experimental feature - When set to true, the LLM will include
425
+ search results in the stream as the first emitted chunk.
426
+ Defaults to false.
427
+ example: true
428
+ include_venice_system_prompt:
429
+ type: boolean
430
+ default: true
431
+ description: Whether to include the Venice supplied system prompts along side
432
+ specified system prompts. Defaults to true.
433
+ description: Unique parameters to Venice's API implementation.
434
+ parallel_tool_calls:
435
+ type: boolean
436
+ default: true
437
+ description: Whether to enable parallel function calling during tool use.
438
+ example: false
439
+ response_format:
440
+ oneOf:
441
+ - type: object
442
+ properties:
443
+ json_schema:
444
+ type: object
445
+ additionalProperties:
446
+ nullable: true
447
+ type:
448
+ type: string
449
+ enum:
450
+ - json_schema
451
+ required:
452
+ - json_schema
453
+ - type
454
+ additionalProperties: false
455
+ description: The JSON Schema that should be used to validate and format the
456
+ response.
457
+ example:
458
+ json_schema:
459
+ properties:
460
+ age:
461
+ type: number
462
+ name:
463
+ type: string
464
+ required:
465
+ - name
466
+ - age
467
+ type: object
468
+ type: json_schema
469
+ title: json_schema
470
+ - type: object
471
+ properties:
472
+ type:
473
+ type: string
474
+ enum:
475
+ - json_object
476
+ required:
477
+ - type
478
+ additionalProperties: false
479
+ description: The response should be formatted as a JSON object. This is a
480
+ deprecated implementation and the preferred use is json_schema.
481
+ title: json_object
482
+ description: Format in which the response should be returned.
483
+ tool_choice:
484
+ anyOf:
485
+ - type: object
486
+ properties:
487
+ function:
488
+ type: object
489
+ properties:
490
+ name:
491
+ type: string
492
+ required:
493
+ - name
494
+ additionalProperties: false
495
+ type:
496
+ type: string
497
+ required:
498
+ - function
499
+ - type
500
+ additionalProperties: false
501
+ - type: string
502
+ tools:
503
+ type: array
504
+ nullable: true
505
+ items:
506
+ type: object
507
+ properties:
508
+ function:
509
+ type: object
510
+ properties:
511
+ description:
512
+ type: string
513
+ name:
514
+ type: string
515
+ parameters:
516
+ type: object
517
+ additionalProperties:
518
+ nullable: true
519
+ required:
520
+ - name
521
+ additionalProperties: false
522
+ id:
523
+ type: string
524
+ type:
525
+ type: string
526
+ required:
527
+ - function
528
+ description: A tool that can be called by the model. Currently, only functions
529
+ are supported as tools.
530
+ title: Tool Call
531
+ description: A list of tools the model may call. Currently, only functions are
532
+ supported as a tool. Use this to provide a list of functions the
533
+ model may generate JSON inputs for.
534
+ required:
535
+ - messages
536
+ - model
537
+ additionalProperties: false
538
+ GenerateImageRequest:
539
+ type: object
540
+ properties:
541
+ cfg_scale:
542
+ type: number
543
+ minimum: 0
544
+ exclusiveMinimum: true
545
+ maximum: 20
546
+ description: CFG scale parameter. Higher values lead to more adherence to the
547
+ prompt.
548
+ example: 7.5
549
+ embed_exif_metadata:
550
+ type: boolean
551
+ default: false
552
+ description: Embed prompt generation information into the image's EXIF metadata.
553
+ example: false
554
+ format:
555
+ type: string
556
+ enum:
557
+ - jpeg
558
+ - png
559
+ - webp
560
+ default: webp
561
+ description: "The image format to return. WebP are smaller and optimized for web
562
+ use. PNG are higher quality but larger in file size. "
563
+ example: webp
564
+ height:
565
+ type: integer
566
+ minimum: 0
567
+ exclusiveMinimum: true
568
+ maximum: 1280
569
+ default: 1024
570
+ description: Height of the generated image. Each model has a specific height and
571
+ width divisor listed in the widthHeightDivisor constraint in the
572
+ model list endpoint.
573
+ example: 1024
574
+ hide_watermark:
575
+ type: boolean
576
+ default: false
577
+ description: Whether to hide the Venice watermark. Venice may ignore this
578
+ parameter for certain generated content.
579
+ example: false
580
+ inpaint:
581
+ nullable: true
582
+ description: This feature is deprecated and was disabled on May 19th, 2025. A
583
+ revised in-painting API will be launched in the near future.
584
+ deprecated: true
585
+ lora_strength:
586
+ type: integer
587
+ minimum: 0
588
+ maximum: 100
589
+ description: Lora strength for the model. Only applies if the model uses
590
+ additional Loras.
591
+ example: 50
592
+ model:
593
+ type: string
594
+ description: The model to use for image generation.
595
+ example: hidream
596
+ negative_prompt:
597
+ type: string
598
+ maxLength: 1500
599
+ description: A description of what should not be in the image. Character limit
600
+ is model specific and is listed in the promptCharacterLimit
601
+ constraint in the model list endpoint.
602
+ example: Clouds, Rain, Snow
603
+ prompt:
604
+ type: string
605
+ minLength: 1
606
+ maxLength: 1500
607
+ description: The description for the image. Character limit is model specific
608
+ and is listed in the promptCharacterLimit setting in the model list
609
+ endpoint.
610
+ example: A beautiful sunset over a mountain range
611
+ return_binary:
612
+ type: boolean
613
+ default: false
614
+ description: Whether to return binary image data instead of base64.
615
+ example: false
616
+ safe_mode:
617
+ type: boolean
618
+ default: true
619
+ description: Whether to use safe mode. If enabled, this will blur images that
620
+ are classified as having adult content.
621
+ example: false
622
+ seed:
623
+ type: integer
624
+ minimum: -999999999
625
+ maximum: 999999999
626
+ default: 0
627
+ description: Random seed for generation. If not provided, a random seed will be
628
+ used.
629
+ example: 123456789
630
+ steps:
631
+ type: integer
632
+ minimum: 0
633
+ exclusiveMinimum: true
634
+ maximum: 50
635
+ default: 20
636
+ description: "Number of inference steps. The following models have reduced max
637
+ steps from the global max: venice-sd35: 30 max steps, hidream: 50
638
+ max steps, fluently-xl: 50 max steps, flux-dev: 30 max steps,
639
+ flux-dev-uncensored-11: 30 max steps, flux-dev-uncensored: 30 max
640
+ steps, lustify-sdxl: 50 max steps, pony-realism: 50 max steps,
641
+ stable-diffusion-3.5: 30 max steps. These constraints are exposed in
642
+ the model list endpoint for each model."
643
+ example: 20
644
+ style_preset:
645
+ type: string
646
+ description: An image style to apply to the image. Visit
647
+ https://docs.venice.ai/api-reference/endpoint/image/styles for more
648
+ details.
649
+ example: 3D Model
650
+ width:
651
+ type: integer
652
+ minimum: 0
653
+ exclusiveMinimum: true
654
+ maximum: 1280
655
+ default: 1024
656
+ description: Width of the generated image. Each model has a specific height and
657
+ width divisor listed in the widthHeightDivisor constraint in the
658
+ model list endpoint.
659
+ example: 1024
660
+ required:
661
+ - model
662
+ - prompt
663
+ additionalProperties: false
664
+ SimpleGenerateImageRequest:
665
+ type: object
666
+ properties:
667
+ background:
668
+ type: string
669
+ nullable: true
670
+ enum:
671
+ - transparent
672
+ - opaque
673
+ - auto
674
+ default: auto
675
+ description: This parameter is not used in Venice image generation but is
676
+ supported for compatibility with OpenAI API
677
+ example: auto
678
+ model:
679
+ type: string
680
+ default: default
681
+ description: The model to use for image generation. Defaults to Venice's default
682
+ image model. If a non-existent model is specified (ie an OpenAI
683
+ model name), it will default to Venice's default image model.
684
+ example: hidream
685
+ moderation:
686
+ type: string
687
+ nullable: true
688
+ enum:
689
+ - low
690
+ - auto
691
+ default: auto
692
+ description: auto enables safe venice mode which will blur out adult content.
693
+ low disables safe venice mode.
694
+ example: auto
695
+ n:
696
+ type: integer
697
+ nullable: true
698
+ minimum: 1
699
+ maximum: 1
700
+ default: 1
701
+ description: Number of images to generate. Venice presently only supports 1
702
+ image per request.
703
+ example: 1
704
+ output_compression:
705
+ type: integer
706
+ nullable: true
707
+ minimum: 0
708
+ maximum: 100
709
+ default: 100
710
+ description: This parameter is not used in Venice image generation but is
711
+ supported for compatibility with OpenAI API
712
+ output_format:
713
+ type: string
714
+ enum:
715
+ - jpeg
716
+ - png
717
+ - webp
718
+ default: png
719
+ description: Output format for generated images
720
+ example: png
721
+ prompt:
722
+ type: string
723
+ minLength: 1
724
+ maxLength: 1500
725
+ description: A text description of the desired image.
726
+ example: A beautiful sunset over mountain ranges
727
+ quality:
728
+ type: string
729
+ nullable: true
730
+ enum:
731
+ - auto
732
+ - high
733
+ - medium
734
+ - low
735
+ - hd
736
+ - standard
737
+ default: auto
738
+ description: This parameter is not used in Venice image generation but is
739
+ supported for compatibility with OpenAI API
740
+ example: auto
741
+ response_format:
742
+ type: string
743
+ nullable: true
744
+ enum:
745
+ - b64_json
746
+ - url
747
+ default: b64_json
748
+ description: Response format. URL will be a data URL.
749
+ example: b64_json
750
+ size:
751
+ type: string
752
+ nullable: true
753
+ enum:
754
+ - auto
755
+ - 256x256
756
+ - 512x512
757
+ - 1024x1024
758
+ - 1536x1024
759
+ - 1024x1536
760
+ - 1792x1024
761
+ - 1024x1792
762
+ default: auto
763
+ description: Size of generated images. Default is 1024x1024
764
+ example: 1024x1024
765
+ style:
766
+ type: string
767
+ nullable: true
768
+ enum:
769
+ - vivid
770
+ - natural
771
+ default: natural
772
+ description: This parameter is not used in Venice image generation but is
773
+ supported for compatibility with OpenAI API
774
+ example: natural
775
+ user:
776
+ type: string
777
+ description: This parameter is not used in Venice image generation but is
778
+ supported for compatibility with OpenAI API
779
+ example: user123
780
+ required:
781
+ - prompt
782
+ additionalProperties: false
783
+ UpscaleImageRequest:
784
+ type: object
785
+ properties:
786
+ enhance:
787
+ anyOf:
788
+ - type: boolean
789
+ - type: string
790
+ enum:
791
+ - "true"
792
+ - "false"
793
+ default: "false"
794
+ description: Whether to enhance the image using Venice's image engine during
795
+ upscaling. Must be true if scale is 1.
796
+ example: true
797
+ enhanceCreativity:
798
+ type: number
799
+ nullable: true
800
+ minimum: 0
801
+ maximum: 1
802
+ default: 0.5
803
+ description: Higher values let the enhancement AI change the image more. Setting
804
+ this to 1 effectively creates an entirely new image.
805
+ example: 0.5
806
+ enhancePrompt:
807
+ type: string
808
+ maxLength: 1500
809
+ description: The text to image style to apply during prompt enhancement. Does
810
+ best with short descriptive prompts, like gold, marble or angry,
811
+ menacing.
812
+ example: gold
813
+ image:
814
+ anyOf:
815
+ - {}
816
+ - type: string
817
+ description: The image to upscale. Can be either a file upload or a
818
+ base64-encoded string. Image dimensions must be at least 65536
819
+ pixels and final dimensions after scaling must not exceed 16777216
820
+ pixels.
821
+ replication:
822
+ type: number
823
+ nullable: true
824
+ minimum: 0
825
+ maximum: 1
826
+ default: 0.35
827
+ description: How strongly lines and noise in the base image are preserved.
828
+ Higher values are noisier but less plastic/AI
829
+ "generated"/hallucinated. Must be between 0 and 1.
830
+ example: 0.35
831
+ scale:
832
+ type: number
833
+ minimum: 1
834
+ maximum: 4
835
+ default: 2
836
+ description: The scale factor for upscaling the image. Must be a number between
837
+ 1 and 4. Scale of 1 requires enhance to be set true and will only
838
+ run the enhancer. Scale must be > 1 if enhance is false. A scale of
839
+ 4 with large images will result in the scale being dynamically set
840
+ to ensure the final image stays within the maximum size limits.
841
+ example: 2
842
+ required:
843
+ - image
844
+ additionalProperties: false
845
+ description: Upscale or enhance an image based on the supplied parameters. Using
846
+ a scale of 1 with enhance enabled will only run the enhancer.
847
+ example:
848
+ enhance: true
849
+ enhanceCreativity: 0.5
850
+ enhancePrompt: gold
851
+ image: iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAAIGNIUk0A...
852
+ scale: 2
853
+ EditImageRequest:
854
+ type: object
855
+ properties:
856
+ prompt:
857
+ type: string
858
+ maxLength: 1500
859
+ description: 'The text directions to edit or modify the image. Does best with
860
+ short but descriptive prompts. IE: "Change the color of", "remove
861
+ the object", "change the sky to a sunrise", etc.'
862
+ example: Change the color of the sky to a sunrise
863
+ image:
864
+ anyOf:
865
+ - {}
866
+ - type: string
867
+ description: The image to edit. Can be either a file upload or a base64-encoded
868
+ string. Image dimensions must be at least 65536 pixels and must not
869
+ exceed 33177600 pixels.
870
+ required:
871
+ - prompt
872
+ - image
873
+ additionalProperties: false
874
+ description: Edit an image based on the supplied prompt.
875
+ example:
876
+ prompt: Colorize
877
+ image: iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAAIGNIUk0A...
878
+ CreateEmbeddingRequestSchema:
879
+ type: object
880
+ properties:
881
+ dimensions:
882
+ type: integer
883
+ minimum: 1
884
+ description: The number of dimensions the resulting output embeddings should have.
885
+ encoding_format:
886
+ type: string
887
+ enum:
888
+ - float
889
+ - base64
890
+ default: float
891
+ description: The format to return the embeddings in. Can be either `float` or
892
+ `base64`.
893
+ example: float
894
+ input:
895
+ anyOf:
896
+ - type: string
897
+ minLength: 1
898
+ description: The string that will be turned into an embedding. Cannot be an
899
+ empty string.
900
+ example: This is a test.
901
+ title: string
902
+ - type: array
903
+ items:
904
+ type: string
905
+ minItems: 1
906
+ maxItems: 2048
907
+ description: The array of strings that will be turned into an embedding. Array
908
+ must be 2048 dimensions or less.
909
+ example:
910
+ - This is a test.
911
+ title: array
912
+ - type: array
913
+ items:
914
+ type: integer
915
+ minimum: 1
916
+ minItems: 1
917
+ maxItems: 2048
918
+ description: The array of integers that will be turned into an embedding. Array
919
+ must be 2048 dimensions or less.
920
+ example:
921
+ - 1212
922
+ - 318
923
+ - 257
924
+ - 1332
925
+ - 13
926
+ title: array
927
+ - type: array
928
+ items:
929
+ type: array
930
+ items:
931
+ type: integer
932
+ minItems: 1
933
+ minItems: 1
934
+ maxItems: 2048
935
+ description: The array of arrays containing integers that will be turned into an
936
+ embedding. Array must be 2048 dimensions or less.
937
+ example:
938
+ - - 1212
939
+ - 318
940
+ - 257
941
+ - 1332
942
+ - 13
943
+ title: array
944
+ description: Input text to embed, encoded as a string or array of tokens. To
945
+ embed multiple inputs in a single request, pass an array of strings
946
+ or array of token arrays. The input must not exceed the max input
947
+ tokens for the model (8192 tokens), cannot be an empty string, and
948
+ any array must be 2048 dimensions or less.
949
+ example: The quick brown fox jumped over the lazy dog
950
+ model:
951
+ anyOf:
952
+ - type: string
953
+ - type: string
954
+ enum:
955
+ - text-embedding-bge-m3
956
+ description: ID of the model to use. You can use the List models API to see all
957
+ of your available models, or see our Model overview for descriptions
958
+ of them.
959
+ example: text-embedding-bge-m3
960
+ user:
961
+ type: string
962
+ description: This is an unused parameter and is discarded by Venice. It is
963
+ supported solely for API compatibility with OpenAI.
964
+ required:
965
+ - input
966
+ - model
967
+ additionalProperties: false
968
+ description: Create embeddings for the supplied input.
969
+ example:
970
+ encoding_format: float
971
+ input: The quick brown fox jumped over the lazy dog
972
+ model: text-embedding-bge-m3
973
+ CreateSpeechRequestSchema:
974
+ type: object
975
+ properties:
976
+ input:
977
+ type: string
978
+ minLength: 1
979
+ maxLength: 4096
980
+ description: The text to generate audio for. The maximum length is 4096
981
+ characters.
982
+ example: Hello, this is a test of the text to speech system.
983
+ model:
984
+ type: string
985
+ enum:
986
+ - tts-kokoro
987
+ default: tts-kokoro
988
+ description: The model ID of a Venice TTS model.
989
+ example: tts-kokoro
990
+ response_format:
991
+ type: string
992
+ enum:
993
+ - mp3
994
+ - opus
995
+ - aac
996
+ - flac
997
+ - wav
998
+ - pcm
999
+ default: mp3
1000
+ description: The format to audio in.
1001
+ example: mp3
1002
+ speed:
1003
+ type: number
1004
+ minimum: 0.25
1005
+ maximum: 4
1006
+ default: 1
1007
+ description: The speed of the generated audio. Select a value from 0.25 to 4.0.
1008
+ 1.0 is the default.
1009
+ example: 1
1010
+ streaming:
1011
+ type: boolean
1012
+ default: false
1013
+ description: Should the content stream back sentence by sentence or be processed
1014
+ and returned as a complete audio file.
1015
+ example: true
1016
+ voice:
1017
+ type: string
1018
+ enum:
1019
+ - af_alloy
1020
+ - af_aoede
1021
+ - af_bella
1022
+ - af_heart
1023
+ - af_jadzia
1024
+ - af_jessica
1025
+ - af_kore
1026
+ - af_nicole
1027
+ - af_nova
1028
+ - af_river
1029
+ - af_sarah
1030
+ - af_sky
1031
+ - am_adam
1032
+ - am_echo
1033
+ - am_eric
1034
+ - am_fenrir
1035
+ - am_liam
1036
+ - am_michael
1037
+ - am_onyx
1038
+ - am_puck
1039
+ - am_santa
1040
+ - bf_alice
1041
+ - bf_emma
1042
+ - bf_lily
1043
+ - bm_daniel
1044
+ - bm_fable
1045
+ - bm_george
1046
+ - bm_lewis
1047
+ - zf_xiaobei
1048
+ - zf_xiaoni
1049
+ - zf_xiaoxiao
1050
+ - zf_xiaoyi
1051
+ - zm_yunjian
1052
+ - zm_yunxi
1053
+ - zm_yunxia
1054
+ - zm_yunyang
1055
+ - ff_siwis
1056
+ - hf_alpha
1057
+ - hf_beta
1058
+ - hm_omega
1059
+ - hm_psi
1060
+ - if_sara
1061
+ - im_nicola
1062
+ - jf_alpha
1063
+ - jf_gongitsune
1064
+ - jf_nezumi
1065
+ - jf_tebukuro
1066
+ - jm_kumo
1067
+ - pf_dora
1068
+ - pm_alex
1069
+ - pm_santa
1070
+ - ef_dora
1071
+ - em_alex
1072
+ - em_santa
1073
+ default: af_sky
1074
+ description: The voice to use when generating the audio.
1075
+ example: af_sky
1076
+ required:
1077
+ - input
1078
+ additionalProperties: false
1079
+ description: Request to generate audio from text.
1080
+ example:
1081
+ input: Hello, welcome to Venice Voice.
1082
+ model: tts-kokoro
1083
+ response_format: mp3
1084
+ speed: 1
1085
+ streaming: false
1086
+ voice: af_sky
1087
+ BillingUsageRequest:
1088
+ type: object
1089
+ properties:
1090
+ currency:
1091
+ type: string
1092
+ description: Filter by currency
1093
+ enum:
1094
+ - USD
1095
+ - VCU
1096
+ - DIEM
1097
+ example: USD
1098
+ endDate:
1099
+ type: string
1100
+ format: date-time
1101
+ description: End date for filtering records (ISO 8601)
1102
+ example: 2024-12-31T23:59:59Z
1103
+ limit:
1104
+ type: integer
1105
+ minimum: 0
1106
+ exclusiveMinimum: true
1107
+ maximum: 500
1108
+ default: 200
1109
+ description: Number of items per page
1110
+ example: 200
1111
+ page:
1112
+ type: integer
1113
+ minimum: 0
1114
+ exclusiveMinimum: true
1115
+ default: 1
1116
+ description: Page number for pagination
1117
+ example: 1
1118
+ sortOrder:
1119
+ type: string
1120
+ enum:
1121
+ - asc
1122
+ - desc
1123
+ default: desc
1124
+ description: Sort order for createdAt field
1125
+ example: desc
1126
+ startDate:
1127
+ type: string
1128
+ format: date-time
1129
+ description: Start date for filtering records (ISO 8601)
1130
+ example: 2024-01-01T00:00:00Z
1131
+ BillingUsageResponse:
1132
+ type: object
1133
+ properties:
1134
+ data:
1135
+ type: array
1136
+ items:
1137
+ type: object
1138
+ properties:
1139
+ amount:
1140
+ type: number
1141
+ description: The total amount charged for the billing usage entry
1142
+ currency:
1143
+ type: string
1144
+ enum:
1145
+ - USD
1146
+ - VCU
1147
+ - DIEM
1148
+ description: The currency charged for the billing usage entry
1149
+ example: USD
1150
+ inferenceDetails:
1151
+ type: object
1152
+ nullable: true
1153
+ properties:
1154
+ completionTokens:
1155
+ type: number
1156
+ nullable: true
1157
+ description: Number of tokens used in the completion. Only present for LLM
1158
+ usage.
1159
+ inferenceExecutionTime:
1160
+ type: number
1161
+ nullable: true
1162
+ description: Time taken for inference execution in milliseconds
1163
+ promptTokens:
1164
+ type: number
1165
+ nullable: true
1166
+ description: Number of tokens requested in the prompt. Only present for LLM
1167
+ usage.
1168
+ requestId:
1169
+ type: string
1170
+ nullable: true
1171
+ description: Unique identifier for the inference request
1172
+ required:
1173
+ - completionTokens
1174
+ - inferenceExecutionTime
1175
+ - promptTokens
1176
+ - requestId
1177
+ description: Details about the related inference request, if applicable
1178
+ notes:
1179
+ type: string
1180
+ description: Notes about the billing usage entry
1181
+ pricePerUnitUsd:
1182
+ type: number
1183
+ description: The price per unit in USD
1184
+ sku:
1185
+ type: string
1186
+ description: The product associated with the billing usage entry
1187
+ timestamp:
1188
+ type: string
1189
+ description: The timestamp the billing usage entry was created
1190
+ example: 2025-01-01T00:00:00Z
1191
+ units:
1192
+ type: number
1193
+ description: The number of units consumed
1194
+ required:
1195
+ - amount
1196
+ - currency
1197
+ - inferenceDetails
1198
+ - notes
1199
+ - pricePerUnitUsd
1200
+ - sku
1201
+ - timestamp
1202
+ - units
1203
+ pagination:
1204
+ type: object
1205
+ properties:
1206
+ limit:
1207
+ type: number
1208
+ page:
1209
+ type: number
1210
+ total:
1211
+ type: number
1212
+ totalPages:
1213
+ type: number
1214
+ required:
1215
+ - limit
1216
+ - page
1217
+ - total
1218
+ - totalPages
1219
+ required:
1220
+ - data
1221
+ - pagination
1222
+ additionalProperties: false
1223
+ description: The response schema for the billing usage endpoint
1224
+ example:
1225
+ data:
1226
+ - amount: -0.1
1227
+ currency: DIEM
1228
+ inferenceDetails: null
1229
+ notes: API Inference
1230
+ pricePerUnitUsd: 0.1
1231
+ sku: venice-sd35-image-unit
1232
+ timestamp: {}
1233
+ units: 1
1234
+ - amount: -0.06356
1235
+ currency: DIEM
1236
+ inferenceDetails:
1237
+ completionTokens: 227
1238
+ inferenceExecutionTime: 2964
1239
+ promptTokens: 339
1240
+ requestId: chatcmpl-4007fd29f42b7d3c4107f4345e8d174a
1241
+ notes: API Inference
1242
+ pricePerUnitUsd: 2.8
1243
+ sku: llama-3.3-70b-llm-output-mtoken
1244
+ timestamp: {}
1245
+ units: 0.000227
1246
+ pagination:
1247
+ limit: 1
1248
+ page: 200
1249
+ total: 56090
1250
+ totalPages: 56090
1251
+ ModelResponse:
1252
+ type: object
1253
+ properties:
1254
+ created:
1255
+ type: number
1256
+ description: Release date on Venice API
1257
+ example: 1699000000
1258
+ id:
1259
+ type: string
1260
+ description: Model ID
1261
+ example: venice-uncensored
1262
+ model_spec:
1263
+ type: object
1264
+ properties:
1265
+ availableContextTokens:
1266
+ type: number
1267
+ description: The context length supported by the model. Only applicable for text
1268
+ models.
1269
+ example: 32768
1270
+ beta:
1271
+ type: boolean
1272
+ description: Is this model in beta?
1273
+ example: false
1274
+ capabilities:
1275
+ type: object
1276
+ properties:
1277
+ optimizedForCode:
1278
+ type: boolean
1279
+ description: Is the LLM optimized for coding?
1280
+ example: true
1281
+ quantization:
1282
+ type: string
1283
+ enum:
1284
+ - fp8
1285
+ - fp16
1286
+ - not-available
1287
+ description: The quantization type of the running model.
1288
+ example: fp8
1289
+ supportsFunctionCalling:
1290
+ type: boolean
1291
+ description: Does the LLM model support function calling?
1292
+ example: true
1293
+ supportsReasoning:
1294
+ type: boolean
1295
+ description: Does the model support reasoning with <thinking> blocks of output.
1296
+ example: true
1297
+ supportsResponseSchema:
1298
+ type: boolean
1299
+ description: Does the LLM model support response schema? Only models that
1300
+ support function calling can support response_schema.
1301
+ example: true
1302
+ supportsVision:
1303
+ type: boolean
1304
+ description: Does the LLM support vision?
1305
+ example: true
1306
+ supportsWebSearch:
1307
+ type: boolean
1308
+ description: Does the LLM model support web search?
1309
+ example: true
1310
+ supportsLogProbs:
1311
+ type: boolean
1312
+ description: Does the LLM model support logprobs parameter?
1313
+ example: true
1314
+ required:
1315
+ - optimizedForCode
1316
+ - quantization
1317
+ - supportsFunctionCalling
1318
+ - supportsReasoning
1319
+ - supportsResponseSchema
1320
+ - supportsVision
1321
+ - supportsWebSearch
1322
+ - supportsLogProbs
1323
+ additionalProperties: false
1324
+ description: Text model specific capabilities.
1325
+ constraints:
1326
+ anyOf:
1327
+ - type: object
1328
+ properties:
1329
+ promptCharacterLimit:
1330
+ type: number
1331
+ description: The maximum supported prompt length.
1332
+ example: 2048
1333
+ steps:
1334
+ type: object
1335
+ properties:
1336
+ default:
1337
+ type: number
1338
+ description: The default steps value for the model
1339
+ example: 25
1340
+ max:
1341
+ type: number
1342
+ description: The maximum supported steps value for the model
1343
+ example: 50
1344
+ required:
1345
+ - default
1346
+ - max
1347
+ widthHeightDivisor:
1348
+ type: number
1349
+ description: The requested width and height of the image generation must be
1350
+ divisible by this value.
1351
+ example: 8
1352
+ required:
1353
+ - promptCharacterLimit
1354
+ - steps
1355
+ - widthHeightDivisor
1356
+ description: Constraints that apply to image models.
1357
+ title: Image Model Constraints
1358
+ - type: object
1359
+ properties:
1360
+ temperature:
1361
+ type: object
1362
+ properties:
1363
+ default:
1364
+ type: number
1365
+ description: The default temperature value for the model
1366
+ example: 0.7
1367
+ required:
1368
+ - default
1369
+ top_p:
1370
+ type: object
1371
+ properties:
1372
+ default:
1373
+ type: number
1374
+ description: The default top_p value for the model
1375
+ example: 0.9
1376
+ required:
1377
+ - default
1378
+ required:
1379
+ - temperature
1380
+ - top_p
1381
+ description: Constraints that apply to text models.
1382
+ title: Text Model Constraints
1383
+ description: Constraints that apply to this model.
1384
+ name:
1385
+ type: string
1386
+ description: The name of the model.
1387
+ example: Venice Uncensored 1.1
1388
+ modelSource:
1389
+ type: string
1390
+ description: The source of the model, such as a URL to the model repository.
1391
+ example: https://huggingface.co/cognitivecomputations/Dolphin-Mistral-24B-Venice-Edition
1392
+ offline:
1393
+ type: boolean
1394
+ default: false
1395
+ description: Is this model presently offline?
1396
+ example: false
1397
+ pricing:
1398
+ anyOf:
1399
+ - type: object
1400
+ properties:
1401
+ input:
1402
+ type: object
1403
+ properties:
1404
+ usd:
1405
+ type: number
1406
+ description: USD cost per million input tokens
1407
+ example: 0.7
1408
+ vcu:
1409
+ type: number
1410
+ description: VCU cost per million input tokens (deprecated - use Diem instead)
1411
+ deprecated: true
1412
+ example: 7
1413
+ diem:
1414
+ type: number
1415
+ description: Diem cost per million input tokens
1416
+ example: 7
1417
+ required:
1418
+ - usd
1419
+ - vcu
1420
+ - diem
1421
+ output:
1422
+ type: object
1423
+ properties:
1424
+ usd:
1425
+ type: number
1426
+ description: USD cost per million output tokens
1427
+ example: 2.8
1428
+ vcu:
1429
+ type: number
1430
+ description: VCU cost per million output tokens (deprecated - use Diem instead)
1431
+ deprecated: true
1432
+ example: 28
1433
+ diem:
1434
+ type: number
1435
+ description: Diem cost per million output tokens
1436
+ example: 28
1437
+ required:
1438
+ - usd
1439
+ - vcu
1440
+ - diem
1441
+ required:
1442
+ - input
1443
+ - output
1444
+ description: Token-based pricing for chat models
1445
+ title: LLM Model Pricing
1446
+ - type: object
1447
+ properties:
1448
+ generation:
1449
+ type: object
1450
+ properties:
1451
+ usd:
1452
+ type: number
1453
+ description: USD cost per image generation
1454
+ example: 0.01
1455
+ vcu:
1456
+ type: number
1457
+ description: VCU cost per image generation (deprecated - use Diem instead)
1458
+ deprecated: true
1459
+ example: 0.1
1460
+ diem:
1461
+ type: number
1462
+ description: Diem cost per image generation
1463
+ example: 0.1
1464
+ required:
1465
+ - usd
1466
+ - vcu
1467
+ - diem
1468
+ upscale:
1469
+ type: object
1470
+ properties:
1471
+ 2x:
1472
+ type: object
1473
+ properties:
1474
+ usd:
1475
+ type: number
1476
+ description: USD cost for 2x upscale
1477
+ example: 0.02
1478
+ vcu:
1479
+ type: number
1480
+ description: VCU cost for 2x upscale (deprecated - use Diem instead)
1481
+ deprecated: true
1482
+ example: 0.2
1483
+ diem:
1484
+ type: number
1485
+ description: Diem cost for 2x upscale
1486
+ example: 0.2
1487
+ required:
1488
+ - usd
1489
+ - vcu
1490
+ - diem
1491
+ 4x:
1492
+ type: object
1493
+ properties:
1494
+ usd:
1495
+ type: number
1496
+ description: USD cost for 4x upscale
1497
+ example: 0.08
1498
+ vcu:
1499
+ type: number
1500
+ description: VCU cost for 4x upscale (deprecated - use Diem instead)
1501
+ deprecated: true
1502
+ example: 0.8
1503
+ diem:
1504
+ type: number
1505
+ description: Diem cost for 4x upscale
1506
+ example: 0.8
1507
+ required:
1508
+ - usd
1509
+ - vcu
1510
+ - diem
1511
+ required:
1512
+ - 2x
1513
+ - 4x
1514
+ required:
1515
+ - generation
1516
+ - upscale
1517
+ description: Pricing for image generation and upscaling
1518
+ title: Image Model Pricing
1519
+ - type: object
1520
+ properties:
1521
+ input:
1522
+ type: object
1523
+ properties:
1524
+ usd:
1525
+ type: number
1526
+ description: USD cost per million input characters
1527
+ example: 3.5
1528
+ vcu:
1529
+ type: number
1530
+ description: VCU cost per million input characters (deprecated - use Diem
1531
+ instead)
1532
+ deprecated: true
1533
+ example: 35
1534
+ diem:
1535
+ type: number
1536
+ description: Diem cost per million input characters
1537
+ example: 35
1538
+ required:
1539
+ - usd
1540
+ - vcu
1541
+ - diem
1542
+ required:
1543
+ - input
1544
+ description: Pricing for audio models (TTS)
1545
+ title: Audio Model Pricing
1546
+ description: Pricing details for the model
1547
+ traits:
1548
+ type: array
1549
+ items:
1550
+ type: string
1551
+ description: Traits that apply to this model. You can specify a trait to
1552
+ auto-select a model vs. specifying the model ID in your request
1553
+ to avoid breakage as Venice updates and iterates on its models.
1554
+ example:
1555
+ - default_code
1556
+ voices:
1557
+ type: array
1558
+ items:
1559
+ type: string
1560
+ description: The voices available for this TTS model. Only applicable for TTS
1561
+ models.
1562
+ example:
1563
+ - af_alloy
1564
+ - af_aoede
1565
+ - af_bella
1566
+ - af_heart
1567
+ - af_jadzia
1568
+ object:
1569
+ type: string
1570
+ enum:
1571
+ - model
1572
+ description: Object type
1573
+ example: model
1574
+ owned_by:
1575
+ type: string
1576
+ enum:
1577
+ - venice.ai
1578
+ description: Who runs the model
1579
+ example: venice.ai
1580
+ type:
1581
+ type: string
1582
+ enum:
1583
+ - embedding
1584
+ - image
1585
+ - text
1586
+ - tts
1587
+ - upscale
1588
+ - inpaint
1589
+ description: Model type
1590
+ example: text
1591
+ required:
1592
+ - id
1593
+ - model_spec
1594
+ - object
1595
+ - owned_by
1596
+ - type
1597
+ description: Response schema for model information
1598
+ example:
1599
+ created: 1727966436
1600
+ id: llama-3.2-3b
1601
+ model_spec:
1602
+ availableContextTokens: 131072
1603
+ capabilities:
1604
+ optimizedForCode: false
1605
+ quantization: fp16
1606
+ supportsFunctionCalling: true
1607
+ supportsReasoning: false
1608
+ supportsResponseSchema: true
1609
+ supportsVision: false
1610
+ supportsWebSearch: true
1611
+ supportsLogProbs: true
1612
+ constraints:
1613
+ temperature:
1614
+ default: 0.8
1615
+ top_p:
1616
+ default: 0.9
1617
+ name: Llama 3.2 3B
1618
+ modelSource: https://huggingface.co/meta-llama/Llama-3.2-3B
1619
+ offline: false
1620
+ pricing:
1621
+ input:
1622
+ usd: 0.15
1623
+ vcu: 1.5
1624
+ diem: 0.15
1625
+ output:
1626
+ usd: 0.6
1627
+ vcu: 6
1628
+ diem: 0.6
1629
+ traits:
1630
+ - fastest
1631
+ object: model
1632
+ owned_by: venice.ai
1633
+ type: text
1634
+ ModelTraitSchema:
1635
+ type: object
1636
+ additionalProperties:
1637
+ type: string
1638
+ description: List of available models
1639
+ example:
1640
+ default: llama-3.3-70b
1641
+ fastest: llama-3.2-3b-akash
1642
+ ModelCompatibilitySchema:
1643
+ type: object
1644
+ additionalProperties:
1645
+ type: string
1646
+ description: List of available models
1647
+ example:
1648
+ gpt-4o: llama-3.3-70b
1649
+ parameters: {}
1650
+ paths:
1651
+ /chat/completions:
1652
+ post:
1653
+ description: Run text inference based on the supplied parameters. Long running
1654
+ requests should use the streaming API by setting stream=true in your
1655
+ request.
1656
+ operationId: createChatCompletion
1657
+ parameters:
1658
+ - description: Supported compression encodings (gzip, br). Only applied when
1659
+ stream is false.
1660
+ in: header
1661
+ name: Accept-Encoding
1662
+ required: false
1663
+ schema:
1664
+ example: gzip, br
1665
+ type: string
1666
+ summary: /api/v1/chat/completions
1667
+ tags:
1668
+ - Chat
1669
+ requestBody:
1670
+ content:
1671
+ application/json:
1672
+ schema:
1673
+ $ref: "#/components/schemas/ChatCompletionRequest"
1674
+ responses:
1675
+ "200":
1676
+ description: OK
1677
+ headers:
1678
+ Content-Encoding:
1679
+ description: The encoding used to compress the response
1680
+ schema:
1681
+ enum:
1682
+ - gzip
1683
+ - br
1684
+ type: string
1685
+ content:
1686
+ application/json:
1687
+ schema:
1688
+ type: object
1689
+ properties:
1690
+ choices:
1691
+ type: array
1692
+ items:
1693
+ type: object
1694
+ properties:
1695
+ finish_reason:
1696
+ type: string
1697
+ enum:
1698
+ - stop
1699
+ - length
1700
+ description: The reason the completion finished.
1701
+ example: stop
1702
+ index:
1703
+ type: integer
1704
+ description: The index of the choice in the list.
1705
+ example: 0
1706
+ logprobs:
1707
+ type: object
1708
+ nullable: true
1709
+ properties:
1710
+ bytes:
1711
+ type: array
1712
+ items:
1713
+ type: number
1714
+ description: Raw bytes of the token
1715
+ example:
1716
+ - 104
1717
+ - 101
1718
+ - 108
1719
+ - 108
1720
+ - 111
1721
+ logprob:
1722
+ type: number
1723
+ description: The log probability of this token
1724
+ example: -0.34
1725
+ token:
1726
+ type: string
1727
+ description: The token string
1728
+ example: hello
1729
+ top_logprobs:
1730
+ type: array
1731
+ items:
1732
+ type: object
1733
+ properties:
1734
+ bytes:
1735
+ type: array
1736
+ items:
1737
+ type: number
1738
+ logprob:
1739
+ type: number
1740
+ token:
1741
+ type: string
1742
+ required:
1743
+ - logprob
1744
+ - token
1745
+ description: Top tokens considered with their log probabilities
1746
+ required:
1747
+ - logprob
1748
+ - token
1749
+ message:
1750
+ anyOf:
1751
+ - type: object
1752
+ properties:
1753
+ content:
1754
+ anyOf:
1755
+ - type: string
1756
+ title: String
1757
+ - type: array
1758
+ items:
1759
+ type: object
1760
+ properties:
1761
+ text:
1762
+ type: string
1763
+ minLength: 1
1764
+ description: The prompt text of the message. Must be at-least one character in
1765
+ length
1766
+ example: Why is the sky blue?
1767
+ title: Text Content Object
1768
+ type:
1769
+ type: string
1770
+ enum:
1771
+ - text
1772
+ title: Text Content String
1773
+ required:
1774
+ - text
1775
+ - type
1776
+ additionalProperties: false
1777
+ description: Text message type.
1778
+ example:
1779
+ text: Why is the sky blue?
1780
+ type: text
1781
+ title: text
1782
+ title: Objects
1783
+ - nullable: true
1784
+ title: "null"
1785
+ name:
1786
+ type: string
1787
+ reasoning_content:
1788
+ type: string
1789
+ nullable: true
1790
+ role:
1791
+ type: string
1792
+ enum:
1793
+ - assistant
1794
+ tool_calls:
1795
+ type: array
1796
+ items:
1797
+ nullable: true
1798
+ required:
1799
+ - content
1800
+ - role
1801
+ description: The assistant message contains the response from the LLM.
1802
+ title: Assistant Message
1803
+ - type: object
1804
+ properties:
1805
+ content:
1806
+ type: string
1807
+ name:
1808
+ type: string
1809
+ reasoning_content:
1810
+ type: string
1811
+ nullable: true
1812
+ role:
1813
+ type: string
1814
+ enum:
1815
+ - tool
1816
+ tool_call_id:
1817
+ type: string
1818
+ tool_calls:
1819
+ type: array
1820
+ items:
1821
+ nullable: true
1822
+ required:
1823
+ - content
1824
+ - role
1825
+ - tool_call_id
1826
+ description: The tool message is a special message that is used to call a tool.
1827
+ It is not part of the conversation and is not
1828
+ visible to the user.
1829
+ title: Tool Message
1830
+ stop_reason:
1831
+ type: string
1832
+ nullable: true
1833
+ enum:
1834
+ - stop
1835
+ - length
1836
+ description: The reason the completion stopped.
1837
+ example: stop
1838
+ required:
1839
+ - finish_reason
1840
+ - index
1841
+ - logprobs
1842
+ - message
1843
+ description: A list of chat completion choices. Can be more than one if n is
1844
+ greater than 1.
1845
+ example:
1846
+ - finish_reason: stop
1847
+ index: 0
1848
+ logprobs: null
1849
+ message:
1850
+ content: The sky appears blue because of the way Earth's atmosphere scatters
1851
+ sunlight. When sunlight reaches Earth's atmosphere,
1852
+ it is made up of various colors of the spectrum, but
1853
+ blue light waves are shorter and scatter more easily
1854
+ when they hit the gases and particles in the
1855
+ atmosphere. This scattering occurs in all
1856
+ directions, but from our perspective on the ground,
1857
+ it appears as a blue hue that dominates the sky's
1858
+ color. This phenomenon is known as Rayleigh
1859
+ scattering. During sunrise and sunset, the sunlight
1860
+ has to travel further through the atmosphere, which
1861
+ allows more time for the blue light to scatter away
1862
+ from our direct line of sight, leaving the longer
1863
+ wavelengths, such as red, yellow, and orange, to
1864
+ dominate the sky's color.
1865
+ reasoning_content: null
1866
+ role: assistant
1867
+ tool_calls: []
1868
+ stop_reason: null
1869
+ created:
1870
+ type: integer
1871
+ description: The time at which the request was created.
1872
+ example: 1677858240
1873
+ id:
1874
+ type: string
1875
+ description: The ID of the request.
1876
+ example: chatcmpl-abc123
1877
+ model:
1878
+ type: string
1879
+ description: The model id used for the request.
1880
+ example: venice-uncensored
1881
+ object:
1882
+ type: string
1883
+ enum:
1884
+ - chat.completion
1885
+ description: The type of the object returned.
1886
+ example: chat.completion
1887
+ prompt_logprobs:
1888
+ anyOf:
1889
+ - nullable: true
1890
+ title: "null"
1891
+ - type: object
1892
+ additionalProperties:
1893
+ nullable: true
1894
+ - nullable: true
1895
+ title: "null"
1896
+ description: Log probability information for the prompt.
1897
+ usage:
1898
+ type: object
1899
+ properties:
1900
+ completion_tokens:
1901
+ type: integer
1902
+ description: The number of tokens in the completion.
1903
+ example: 20
1904
+ prompt_tokens:
1905
+ type: integer
1906
+ description: The number of tokens in the prompt.
1907
+ example: 10
1908
+ prompt_tokens_details:
1909
+ type: object
1910
+ nullable: true
1911
+ properties: {}
1912
+ description: Breakdown of tokens used in the prompt. Not presently used by
1913
+ Venice.
1914
+ total_tokens:
1915
+ type: integer
1916
+ description: The total number of tokens used in the request.
1917
+ example: 30
1918
+ required:
1919
+ - completion_tokens
1920
+ - prompt_tokens
1921
+ - total_tokens
1922
+ venice_parameters:
1923
+ type: object
1924
+ properties:
1925
+ enable_web_search:
1926
+ type: string
1927
+ enum:
1928
+ - auto
1929
+ - off
1930
+ - on
1931
+ description: Did the request enable web search?
1932
+ example: auto
1933
+ enable_web_citations:
1934
+ type: boolean
1935
+ description: Did the request enable web citations?
1936
+ example: true
1937
+ include_venice_system_prompt:
1938
+ type: boolean
1939
+ description: Did the request include the Venice system prompt?
1940
+ example: true
1941
+ include_search_results_in_stream:
1942
+ type: boolean
1943
+ description: Did the request include search results in the stream?
1944
+ example: false
1945
+ character_slug:
1946
+ type: string
1947
+ description: The character slug of a public Venice character.
1948
+ example: venice
1949
+ strip_thinking_response:
1950
+ type: boolean
1951
+ description: Did the request strip thinking response?
1952
+ example: true
1953
+ disable_thinking:
1954
+ type: boolean
1955
+ description: Did the request disable thinking?
1956
+ example: true
1957
+ web_search_citations:
1958
+ type: array
1959
+ items:
1960
+ type: object
1961
+ properties:
1962
+ content:
1963
+ type: string
1964
+ date:
1965
+ type: string
1966
+ title:
1967
+ type: string
1968
+ url:
1969
+ type: string
1970
+ required:
1971
+ - title
1972
+ - url
1973
+ description: Citations from web search results.
1974
+ example:
1975
+ - content: >-
1976
+ What&#x27;s the scientific reason behind
1977
+ Earth&#x27;s sky appearing blue to the human eye?
1978
+ And what&#x27;s the real colour of the sky?
1979
+
1980
+
1981
+ Save 30% on the shop price when you subscribe to
1982
+ BBC Sky at Night Magazine today!
1983
+
1984
+
1985
+ In this article we'll look at the science behind
1986
+ why the sky is blue, or at least why it appears
1987
+ blue to our eyes.
1988
+
1989
+
1990
+ A beautiful blue sky is the sign of a pleasant day
1991
+ ahead. But what makes the sky appear blue?
1992
+
1993
+
1994
+ So, the sky appears blue because the molecules of
1995
+ nitrogen and oxygen in the atmosphere scatter
1996
+ light in short wavelengths towards the blue end of
1997
+ the visible spectrum.
1998
+ date: 2024-08-13T13:45:16
1999
+ title: Why is the sky blue? | BBC Sky at Night Magazine
2000
+ url: https://www.skyatnightmagazine.com/space-science/why-is-the-sky-blue
2001
+ - content: >-
2002
+ It was around 1870 when the British physicist John
2003
+ William Strutt, better known as Lord Rayleigh,
2004
+ first found an explanation for why the sky is
2005
+ blue: Blue light from the Sun is scattered the
2006
+ most when it passes through the atmosphere.
2007
+
2008
+
2009
+ Published: January 20, 2025 8:34am EST · Daniel
2010
+ Freedman, University of Wisconsin-Stout · Daniel
2011
+ Freedman · Dean of the College of Science,
2012
+ Technology, Engineering, Mathematics & Management,
2013
+ University of Wisconsin-Stout ·
2014
+
2015
+
2016
+ The answer has to do with molecules.
2017
+
2018
+
2019
+ It was around 1870 when the British physicist John
2020
+ William Strutt, better known as Lord Rayleigh,
2021
+ first found an explanation for why the sky is
2022
+ blue: Blue light from the Sun is scattered the
2023
+ most when it passes through the atmosphere.
2024
+
2025
+
2026
+ When the Sun is near the horizon, its light passes
2027
+ through a lot more of the atmosphere to reach the
2028
+ Earth’s surface than when it is directly overhead.
2029
+ The blue and green light is scattered so well that
2030
+ you can hardly see it. The sky is colored,
2031
+ instead, with red and orange light.
2032
+ date: 2025-04-16T16:55:11
2033
+ title: Why is the sky blue?
2034
+ url: https://theconversation.com/why-is-the-sky-blue-246393
2035
+ required:
2036
+ - enable_web_search
2037
+ - enable_web_citations
2038
+ - include_venice_system_prompt
2039
+ - include_search_results_in_stream
2040
+ - strip_thinking_response
2041
+ - disable_thinking
2042
+ description: Unique parameters to Venice's API implementation.
2043
+ required:
2044
+ - choices
2045
+ - created
2046
+ - id
2047
+ - model
2048
+ - object
2049
+ - usage
2050
+ example:
2051
+ choices:
2052
+ - finish_reason: stop
2053
+ index: 0
2054
+ logprobs: null
2055
+ message:
2056
+ content: The sky appears blue because of the way Earth's atmosphere scatters
2057
+ sunlight. When sunlight reaches Earth's atmosphere, it
2058
+ is made up of various colors of the spectrum, but blue
2059
+ light waves are shorter and scatter more easily when
2060
+ they hit the gases and particles in the atmosphere.
2061
+ This scattering occurs in all directions, but from our
2062
+ perspective on the ground, it appears as a blue hue
2063
+ that dominates the sky's color. This phenomenon is
2064
+ known as Rayleigh scattering. During sunrise and
2065
+ sunset, the sunlight has to travel further through the
2066
+ atmosphere, which allows more time for the blue light
2067
+ to scatter away from our direct line of sight, leaving
2068
+ the longer wavelengths, such as red, yellow, and
2069
+ orange, to dominate the sky's color.
2070
+ reasoning_content: null
2071
+ role: assistant
2072
+ tool_calls: []
2073
+ stop_reason: null
2074
+ created: 1739928524
2075
+ id: chatcmpl-a81fbc2d81a7a083bb83ccf9f44c6e5e
2076
+ model: qwen-2.5-vl
2077
+ object: chat.completion
2078
+ prompt_logprobs: null
2079
+ usage:
2080
+ completion_tokens: 146
2081
+ prompt_tokens: 612
2082
+ prompt_tokens_details: null
2083
+ total_tokens: 758
2084
+ venice_parameters:
2085
+ include_venice_system_prompt: true
2086
+ include_search_results_in_stream: false
2087
+ web_search_citations: []
2088
+ enable_web_search: auto
2089
+ enable_web_citations: true
2090
+ strip_thinking_response: true
2091
+ disable_thinking: true
2092
+ character_slug: venice
2093
+ "400":
2094
+ description: Invalid request parameters
2095
+ content:
2096
+ application/json:
2097
+ schema:
2098
+ type: object
2099
+ properties:
2100
+ details:
2101
+ type: object
2102
+ properties: {}
2103
+ description: Details about the incorrect input
2104
+ example:
2105
+ _errors: []
2106
+ field:
2107
+ _errors:
2108
+ - Field is required
2109
+ error:
2110
+ type: string
2111
+ description: A description of the error
2112
+ example: Invalid request parameters
2113
+ required:
2114
+ - error
2115
+ "401":
2116
+ description: Authentication failed
2117
+ content:
2118
+ application/json:
2119
+ schema:
2120
+ type: object
2121
+ properties:
2122
+ error:
2123
+ type: string
2124
+ description: A description of the error
2125
+ example: Authentication failed
2126
+ required:
2127
+ - error
2128
+ "402":
2129
+ description: Insufficient USD or Diem balance to complete request
2130
+ content:
2131
+ application/json:
2132
+ schema:
2133
+ type: object
2134
+ properties:
2135
+ error:
2136
+ type: string
2137
+ description: A description of the error
2138
+ example: Insufficient USD or Diem balance to complete request
2139
+ required:
2140
+ - error
2141
+ "415":
2142
+ description: Invalid request content-type
2143
+ content:
2144
+ application/json:
2145
+ schema:
2146
+ type: object
2147
+ properties:
2148
+ error:
2149
+ type: string
2150
+ description: A description of the error
2151
+ example: Invalid request content-type
2152
+ required:
2153
+ - error
2154
+ "429":
2155
+ description: Rate limit exceeded
2156
+ content:
2157
+ application/json:
2158
+ schema:
2159
+ type: object
2160
+ properties:
2161
+ error:
2162
+ type: string
2163
+ description: A description of the error
2164
+ example: Rate limit exceeded
2165
+ required:
2166
+ - error
2167
+ "500":
2168
+ description: Inference processing failed
2169
+ content:
2170
+ application/json:
2171
+ schema:
2172
+ type: object
2173
+ properties:
2174
+ error:
2175
+ type: string
2176
+ description: A description of the error
2177
+ example: Inference processing failed
2178
+ required:
2179
+ - error
2180
+ "503":
2181
+ description: The model is at capacity. Please try again later.
2182
+ content:
2183
+ application/json:
2184
+ schema:
2185
+ type: object
2186
+ properties:
2187
+ error:
2188
+ type: string
2189
+ description: A description of the error
2190
+ example: The model is at capacity. Please try again later.
2191
+ required:
2192
+ - error
2193
+ "504":
2194
+ description: The request took too long to complete and was timed-out. For
2195
+ long-running inference requests, use the streaming API by setting
2196
+ stream=true in your request.
2197
+ content:
2198
+ application/json:
2199
+ schema:
2200
+ type: object
2201
+ properties:
2202
+ error:
2203
+ type: string
2204
+ description: A description of the error
2205
+ example: The request took too long to complete and was timed-out. For
2206
+ long-running inference requests, use the streaming API by
2207
+ setting stream=true in your request.
2208
+ required:
2209
+ - error
2210
+ /image/generate:
2211
+ post:
2212
+ description: Generate an image based on input parameters
2213
+ operationId: generateImage
2214
+ parameters:
2215
+ - description: Supported compression encodings (gzip, br). Only applied when
2216
+ return_binary is false.
2217
+ in: header
2218
+ name: Accept-Encoding
2219
+ required: false
2220
+ schema:
2221
+ example: gzip, br
2222
+ type: string
2223
+ summary: /api/v1/image/generate
2224
+ tags:
2225
+ - Image
2226
+ requestBody:
2227
+ content:
2228
+ application/json:
2229
+ schema:
2230
+ $ref: "#/components/schemas/GenerateImageRequest"
2231
+ responses:
2232
+ "200":
2233
+ description: Successfully generated image
2234
+ headers:
2235
+ Content-Encoding:
2236
+ description: The encoding used to compress the response
2237
+ schema:
2238
+ enum:
2239
+ - gzip
2240
+ - br
2241
+ type: string
2242
+ x-venice-is-blurred:
2243
+ description: Indicates if the generated image is blurred. When Safe Venice is
2244
+ enabled, adult material will be returned blurred.
2245
+ required: false
2246
+ schema:
2247
+ type: boolean
2248
+ x-venice-is-content-violation:
2249
+ description: Indicates if the generated image does not meet Venice terms of
2250
+ service.
2251
+ required: false
2252
+ schema:
2253
+ type: boolean
2254
+ content:
2255
+ application/json:
2256
+ schema:
2257
+ type: object
2258
+ properties:
2259
+ id:
2260
+ type: string
2261
+ description: The ID of the request.
2262
+ example: generate-image-1234567890
2263
+ images:
2264
+ type: array
2265
+ items:
2266
+ type: string
2267
+ description: Base64 encoded image data.
2268
+ request:
2269
+ nullable: true
2270
+ description: The original request data sent to the API.
2271
+ timing:
2272
+ type: object
2273
+ properties:
2274
+ inferenceDuration:
2275
+ type: number
2276
+ description: Duration of inference in milliseconds
2277
+ inferencePreprocessingTime:
2278
+ type: number
2279
+ description: Duration of preprocessing in milliseconds
2280
+ inferenceQueueTime:
2281
+ type: number
2282
+ description: Duration of queueing in milliseconds
2283
+ total:
2284
+ type: number
2285
+ description: Total duration of the request in milliseconds
2286
+ required:
2287
+ - inferenceDuration
2288
+ - inferencePreprocessingTime
2289
+ - inferenceQueueTime
2290
+ - total
2291
+ required:
2292
+ - id
2293
+ - images
2294
+ - timing
2295
+ image/jpeg:
2296
+ schema:
2297
+ description: Raw image data when return_binary is true and format is jpeg
2298
+ format: binary
2299
+ type: string
2300
+ image/png:
2301
+ schema:
2302
+ description: Raw image data when return_binary is true and format is png
2303
+ format: binary
2304
+ type: string
2305
+ image/webp:
2306
+ schema:
2307
+ description: Raw image data when return_binary is true and format is webp
2308
+ format: binary
2309
+ type: string
2310
+ "400":
2311
+ description: Invalid request parameters
2312
+ content:
2313
+ application/json:
2314
+ schema:
2315
+ type: object
2316
+ properties:
2317
+ details:
2318
+ type: object
2319
+ properties: {}
2320
+ description: Details about the incorrect input
2321
+ example:
2322
+ _errors: []
2323
+ field:
2324
+ _errors:
2325
+ - Field is required
2326
+ error:
2327
+ type: string
2328
+ description: A description of the error
2329
+ example: Invalid request parameters
2330
+ required:
2331
+ - error
2332
+ "401":
2333
+ description: Authentication failed
2334
+ content:
2335
+ application/json:
2336
+ schema:
2337
+ type: object
2338
+ properties:
2339
+ error:
2340
+ type: string
2341
+ description: A description of the error
2342
+ example: Authentication failed
2343
+ required:
2344
+ - error
2345
+ "402":
2346
+ description: Insufficient USD or Diem balance to complete request
2347
+ content:
2348
+ application/json:
2349
+ schema:
2350
+ type: object
2351
+ properties:
2352
+ error:
2353
+ type: string
2354
+ description: A description of the error
2355
+ example: Insufficient USD or Diem balance to complete request
2356
+ required:
2357
+ - error
2358
+ "415":
2359
+ description: Invalid request content-type
2360
+ content:
2361
+ application/json:
2362
+ schema:
2363
+ type: object
2364
+ properties:
2365
+ error:
2366
+ type: string
2367
+ description: A description of the error
2368
+ example: Invalid request content-type
2369
+ required:
2370
+ - error
2371
+ "429":
2372
+ description: Rate limit exceeded
2373
+ content:
2374
+ application/json:
2375
+ schema:
2376
+ type: object
2377
+ properties:
2378
+ error:
2379
+ type: string
2380
+ description: A description of the error
2381
+ example: Rate limit exceeded
2382
+ required:
2383
+ - error
2384
+ "500":
2385
+ description: Inference processing failed
2386
+ content:
2387
+ application/json:
2388
+ schema:
2389
+ type: object
2390
+ properties:
2391
+ error:
2392
+ type: string
2393
+ description: A description of the error
2394
+ example: Inference processing failed
2395
+ required:
2396
+ - error
2397
+ "503":
2398
+ description: The model is at capacity. Please try again later.
2399
+ content:
2400
+ application/json:
2401
+ schema:
2402
+ type: object
2403
+ properties:
2404
+ error:
2405
+ type: string
2406
+ description: A description of the error
2407
+ example: The model is at capacity. Please try again later.
2408
+ required:
2409
+ - error
2410
+ /images/generations:
2411
+ post:
2412
+ description: Generate an image based on input parameters using an OpenAI
2413
+ compatible endpoint. This endpoint does not support the full feature set
2414
+ of the Venice Image Generation endpoint, but is compatible with the
2415
+ existing OpenAI endpoint.
2416
+ operationId: simpleGenerateImage
2417
+ parameters:
2418
+ - description: Supported compression encodings (gzip, br).
2419
+ in: header
2420
+ name: Accept-Encoding
2421
+ required: false
2422
+ schema:
2423
+ example: gzip, br
2424
+ type: string
2425
+ summary: /api/v1/image/generations
2426
+ tags:
2427
+ - Image
2428
+ requestBody:
2429
+ content:
2430
+ application/json:
2431
+ schema:
2432
+ $ref: "#/components/schemas/SimpleGenerateImageRequest"
2433
+ responses:
2434
+ "200":
2435
+ description: Successfully generated image
2436
+ headers:
2437
+ Content-Encoding:
2438
+ description: The encoding used to compress the response
2439
+ schema:
2440
+ enum:
2441
+ - gzip
2442
+ - br
2443
+ type: string
2444
+ x-venice-is-blurred:
2445
+ description: Indicates if the generated image is blurred. When Safe Venice is
2446
+ enabled, adult material will be returned blurred.
2447
+ required: false
2448
+ schema:
2449
+ type: boolean
2450
+ x-venice-is-content-violation:
2451
+ description: Indicates if the generated image does not meet Venice terms of
2452
+ service.
2453
+ required: false
2454
+ schema:
2455
+ type: boolean
2456
+ content:
2457
+ application/json:
2458
+ schema:
2459
+ type: object
2460
+ properties:
2461
+ created:
2462
+ type: integer
2463
+ description: Unix timestamp for when the request was created
2464
+ example: 1713833628
2465
+ data:
2466
+ type: array
2467
+ items:
2468
+ anyOf:
2469
+ - type: object
2470
+ properties:
2471
+ b64_json:
2472
+ type: string
2473
+ description: Base64-encoded JSON string of the generated image
2474
+ example: iVBORw0KGgoAAAANSUhEUgAA...
2475
+ required:
2476
+ - b64_json
2477
+ - type: object
2478
+ properties:
2479
+ url:
2480
+ type: string
2481
+ description: Data URL of the generated image
2482
+ example: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...
2483
+ required:
2484
+ - url
2485
+ required:
2486
+ - created
2487
+ - data
2488
+ additionalProperties: false
2489
+ "400":
2490
+ description: Invalid request parameters
2491
+ content:
2492
+ application/json:
2493
+ schema:
2494
+ type: object
2495
+ properties:
2496
+ details:
2497
+ type: object
2498
+ properties: {}
2499
+ description: Details about the incorrect input
2500
+ example:
2501
+ _errors: []
2502
+ field:
2503
+ _errors:
2504
+ - Field is required
2505
+ error:
2506
+ type: string
2507
+ description: A description of the error
2508
+ example: Invalid request parameters
2509
+ required:
2510
+ - error
2511
+ "401":
2512
+ description: Authentication failed
2513
+ content:
2514
+ application/json:
2515
+ schema:
2516
+ type: object
2517
+ properties:
2518
+ error:
2519
+ type: string
2520
+ description: A description of the error
2521
+ example: Authentication failed
2522
+ required:
2523
+ - error
2524
+ "402":
2525
+ description: Insufficient USD or Diem balance to complete request
2526
+ content:
2527
+ application/json:
2528
+ schema:
2529
+ type: object
2530
+ properties:
2531
+ error:
2532
+ type: string
2533
+ description: A description of the error
2534
+ example: Insufficient USD or Diem balance to complete request
2535
+ required:
2536
+ - error
2537
+ "415":
2538
+ description: Invalid request content-type
2539
+ content:
2540
+ application/json:
2541
+ schema:
2542
+ type: object
2543
+ properties:
2544
+ error:
2545
+ type: string
2546
+ description: A description of the error
2547
+ example: Invalid request content-type
2548
+ required:
2549
+ - error
2550
+ "429":
2551
+ description: Rate limit exceeded
2552
+ content:
2553
+ application/json:
2554
+ schema:
2555
+ type: object
2556
+ properties:
2557
+ error:
2558
+ type: string
2559
+ description: A description of the error
2560
+ example: Rate limit exceeded
2561
+ required:
2562
+ - error
2563
+ "500":
2564
+ description: Inference processing failed
2565
+ content:
2566
+ application/json:
2567
+ schema:
2568
+ type: object
2569
+ properties:
2570
+ error:
2571
+ type: string
2572
+ description: A description of the error
2573
+ example: Inference processing failed
2574
+ required:
2575
+ - error
2576
+ "503":
2577
+ description: The model is at capacity. Please try again later.
2578
+ content:
2579
+ application/json:
2580
+ schema:
2581
+ type: object
2582
+ properties:
2583
+ error:
2584
+ type: string
2585
+ description: A description of the error
2586
+ example: The model is at capacity. Please try again later.
2587
+ required:
2588
+ - error
2589
+ /image/styles:
2590
+ get:
2591
+ description: List available image styles that can be used with the generate API.
2592
+ security:
2593
+ - {}
2594
+ - BearerAuth: []
2595
+ summary: /api/v1/image/styles
2596
+ tags:
2597
+ - Image
2598
+ responses:
2599
+ "200":
2600
+ description: OK
2601
+ content:
2602
+ application/json:
2603
+ schema:
2604
+ type: object
2605
+ properties:
2606
+ data:
2607
+ type: array
2608
+ items:
2609
+ type: string
2610
+ description: List of available image styles
2611
+ example:
2612
+ - 3D Model
2613
+ - Analog Film
2614
+ - Anime
2615
+ - Cinematic
2616
+ - Comic Book
2617
+ object:
2618
+ type: string
2619
+ enum:
2620
+ - list
2621
+ required:
2622
+ - data
2623
+ - object
2624
+ "401":
2625
+ description: Authentication failed
2626
+ content:
2627
+ application/json:
2628
+ schema:
2629
+ type: object
2630
+ properties:
2631
+ error:
2632
+ type: string
2633
+ description: A description of the error
2634
+ example: Authentication failed
2635
+ required:
2636
+ - error
2637
+ "500":
2638
+ description: An unknown error occurred
2639
+ content:
2640
+ application/json:
2641
+ schema:
2642
+ type: object
2643
+ properties:
2644
+ error:
2645
+ type: string
2646
+ description: A description of the error
2647
+ example: An unknown error occurred
2648
+ required:
2649
+ - error
2650
+ /image/upscale:
2651
+ post:
2652
+ description: Upscale or enhance an image based on the supplied parameters. Using
2653
+ a scale of 1 with enhance enabled will only run the enhancer. The image
2654
+ can be provided either as a multipart form-data file upload or as a
2655
+ base64-encoded string in a JSON request.
2656
+ operationId: upscaleImage
2657
+ requestBody:
2658
+ content:
2659
+ application/json:
2660
+ schema:
2661
+ $ref: "#/components/schemas/UpscaleImageRequest"
2662
+ multipart/form-data:
2663
+ schema:
2664
+ $ref: "#/components/schemas/UpscaleImageRequest"
2665
+ summary: /api/v1/image/upscale
2666
+ tags:
2667
+ - Image
2668
+ responses:
2669
+ "200":
2670
+ description: OK
2671
+ content:
2672
+ image/png:
2673
+ schema:
2674
+ format: binary
2675
+ type: string
2676
+ "400":
2677
+ description: Invalid request parameters
2678
+ content:
2679
+ application/json:
2680
+ schema:
2681
+ type: object
2682
+ properties:
2683
+ details:
2684
+ type: object
2685
+ properties: {}
2686
+ description: Details about the incorrect input
2687
+ example:
2688
+ _errors: []
2689
+ field:
2690
+ _errors:
2691
+ - Field is required
2692
+ error:
2693
+ type: string
2694
+ description: A description of the error
2695
+ example: Invalid request parameters
2696
+ required:
2697
+ - error
2698
+ "401":
2699
+ description: Authentication failed
2700
+ content:
2701
+ application/json:
2702
+ schema:
2703
+ type: object
2704
+ properties:
2705
+ error:
2706
+ type: string
2707
+ description: A description of the error
2708
+ example: Authentication failed
2709
+ required:
2710
+ - error
2711
+ "402":
2712
+ description: Insufficient USD or Diem balance to complete request
2713
+ content:
2714
+ application/json:
2715
+ schema:
2716
+ type: object
2717
+ properties:
2718
+ error:
2719
+ type: string
2720
+ description: A description of the error
2721
+ example: Insufficient USD or Diem balance to complete request
2722
+ required:
2723
+ - error
2724
+ "415":
2725
+ description: Invalid request content-type
2726
+ content:
2727
+ application/json:
2728
+ schema:
2729
+ type: object
2730
+ properties:
2731
+ error:
2732
+ type: string
2733
+ description: A description of the error
2734
+ example: Invalid request content-type
2735
+ required:
2736
+ - error
2737
+ "429":
2738
+ description: Rate limit exceeded
2739
+ content:
2740
+ application/json:
2741
+ schema:
2742
+ type: object
2743
+ properties:
2744
+ error:
2745
+ type: string
2746
+ description: A description of the error
2747
+ example: Rate limit exceeded
2748
+ required:
2749
+ - error
2750
+ "500":
2751
+ description: Inference processing failed
2752
+ content:
2753
+ application/json:
2754
+ schema:
2755
+ type: object
2756
+ properties:
2757
+ error:
2758
+ type: string
2759
+ description: A description of the error
2760
+ example: Inference processing failed
2761
+ required:
2762
+ - error
2763
+ "503":
2764
+ description: The model is at capacity. Please try again later.
2765
+ content:
2766
+ application/json:
2767
+ schema:
2768
+ type: object
2769
+ properties:
2770
+ error:
2771
+ type: string
2772
+ description: A description of the error
2773
+ example: The model is at capacity. Please try again later.
2774
+ required:
2775
+ - error
2776
+ /image/edit:
2777
+ post:
2778
+ description: Edit or modify an image based on the supplied prompt. The image can
2779
+ be provided either as a multipart form-data file upload or as a
2780
+ base64-encoded string in a JSON request.
2781
+ operationId: editImage
2782
+ requestBody:
2783
+ content:
2784
+ application/json:
2785
+ schema:
2786
+ $ref: "#/components/schemas/EditImageRequest"
2787
+ multipart/form-data:
2788
+ schema:
2789
+ $ref: "#/components/schemas/EditImageRequest"
2790
+ summary: /api/v1/image/edit
2791
+ tags:
2792
+ - Image
2793
+ responses:
2794
+ "200":
2795
+ description: OK
2796
+ content:
2797
+ image/png:
2798
+ schema:
2799
+ format: binary
2800
+ type: string
2801
+ "400":
2802
+ description: Invalid request parameters
2803
+ content:
2804
+ application/json:
2805
+ schema:
2806
+ type: object
2807
+ properties:
2808
+ details:
2809
+ type: object
2810
+ properties: {}
2811
+ description: Details about the incorrect input
2812
+ example:
2813
+ _errors: []
2814
+ field:
2815
+ _errors:
2816
+ - Field is required
2817
+ error:
2818
+ type: string
2819
+ description: A description of the error
2820
+ example: Invalid request parameters
2821
+ required:
2822
+ - error
2823
+ "401":
2824
+ description: Authentication failed
2825
+ content:
2826
+ application/json:
2827
+ schema:
2828
+ type: object
2829
+ properties:
2830
+ error:
2831
+ type: string
2832
+ description: A description of the error
2833
+ example: Authentication failed
2834
+ required:
2835
+ - error
2836
+ "402":
2837
+ description: Insufficient USD or Diem balance to complete request
2838
+ content:
2839
+ application/json:
2840
+ schema:
2841
+ type: object
2842
+ properties:
2843
+ error:
2844
+ type: string
2845
+ description: A description of the error
2846
+ example: Insufficient USD or Diem balance to complete request
2847
+ required:
2848
+ - error
2849
+ "415":
2850
+ description: Invalid request content-type
2851
+ content:
2852
+ application/json:
2853
+ schema:
2854
+ type: object
2855
+ properties:
2856
+ error:
2857
+ type: string
2858
+ description: A description of the error
2859
+ example: Invalid request content-type
2860
+ required:
2861
+ - error
2862
+ "429":
2863
+ description: Rate limit exceeded
2864
+ content:
2865
+ application/json:
2866
+ schema:
2867
+ type: object
2868
+ properties:
2869
+ error:
2870
+ type: string
2871
+ description: A description of the error
2872
+ example: Rate limit exceeded
2873
+ required:
2874
+ - error
2875
+ "500":
2876
+ description: Inference processing failed
2877
+ content:
2878
+ application/json:
2879
+ schema:
2880
+ type: object
2881
+ properties:
2882
+ error:
2883
+ type: string
2884
+ description: A description of the error
2885
+ example: Inference processing failed
2886
+ required:
2887
+ - error
2888
+ "503":
2889
+ description: The model is at capacity. Please try again later.
2890
+ content:
2891
+ application/json:
2892
+ schema:
2893
+ type: object
2894
+ properties:
2895
+ error:
2896
+ type: string
2897
+ description: A description of the error
2898
+ example: The model is at capacity. Please try again later.
2899
+ required:
2900
+ - error
2901
+ /models:
2902
+ get:
2903
+ description: Returns a list of available models supported by the Venice.ai API
2904
+ for both text and image inference.
2905
+ operationId: listModels
2906
+ security:
2907
+ - {}
2908
+ - BearerAuth: []
2909
+ summary: /api/v1/models
2910
+ tags:
2911
+ - Models
2912
+ parameters:
2913
+ - schema:
2914
+ anyOf:
2915
+ - type: string
2916
+ enum:
2917
+ - embedding
2918
+ - image
2919
+ - text
2920
+ - tts
2921
+ - upscale
2922
+ - inpaint
2923
+ - type: string
2924
+ enum:
2925
+ - all
2926
+ - code
2927
+ description: Filter models by type. Use "all" to get all model types.
2928
+ example: text
2929
+ required: false
2930
+ name: type
2931
+ in: query
2932
+ responses:
2933
+ "200":
2934
+ description: OK
2935
+ content:
2936
+ application/json:
2937
+ schema:
2938
+ type: object
2939
+ properties:
2940
+ data:
2941
+ type: array
2942
+ items:
2943
+ $ref: "#/components/schemas/ModelResponse"
2944
+ description: List of available models
2945
+ object:
2946
+ type: string
2947
+ enum:
2948
+ - list
2949
+ type:
2950
+ anyOf:
2951
+ - type: string
2952
+ enum:
2953
+ - embedding
2954
+ - image
2955
+ - text
2956
+ - tts
2957
+ - upscale
2958
+ - inpaint
2959
+ - type: string
2960
+ enum:
2961
+ - all
2962
+ - code
2963
+ description: Type of models returned.
2964
+ example: text
2965
+ required:
2966
+ - data
2967
+ - object
2968
+ - type
2969
+ "500":
2970
+ description: An unknown error occurred
2971
+ content:
2972
+ application/json:
2973
+ schema:
2974
+ type: object
2975
+ properties:
2976
+ error:
2977
+ type: string
2978
+ description: A description of the error
2979
+ example: An unknown error occurred
2980
+ required:
2981
+ - error
2982
+ /models/traits:
2983
+ get:
2984
+ description: Returns a list of model traits and the associated model.
2985
+ operationId: listModelTraits
2986
+ security:
2987
+ - {}
2988
+ - BearerAuth: []
2989
+ summary: /api/v1/models/traits
2990
+ tags:
2991
+ - Models
2992
+ parameters:
2993
+ - schema:
2994
+ type: string
2995
+ enum:
2996
+ - embedding
2997
+ - image
2998
+ - text
2999
+ - tts
3000
+ - upscale
3001
+ - inpaint
3002
+ default: text
3003
+ description: Filter models by type.
3004
+ example: text
3005
+ required: false
3006
+ name: type
3007
+ in: query
3008
+ responses:
3009
+ "200":
3010
+ description: OK
3011
+ content:
3012
+ application/json:
3013
+ schema:
3014
+ type: object
3015
+ properties:
3016
+ data:
3017
+ $ref: "#/components/schemas/ModelTraitSchema"
3018
+ object:
3019
+ type: string
3020
+ enum:
3021
+ - list
3022
+ type:
3023
+ anyOf:
3024
+ - type: string
3025
+ enum:
3026
+ - embedding
3027
+ - image
3028
+ - text
3029
+ - tts
3030
+ - upscale
3031
+ - inpaint
3032
+ - type: string
3033
+ enum:
3034
+ - all
3035
+ - code
3036
+ description: Type of models returned.
3037
+ example: text
3038
+ required:
3039
+ - data
3040
+ - object
3041
+ - type
3042
+ "401":
3043
+ description: Authentication failed
3044
+ content:
3045
+ application/json:
3046
+ schema:
3047
+ type: object
3048
+ properties:
3049
+ error:
3050
+ type: string
3051
+ description: A description of the error
3052
+ example: Authentication failed
3053
+ required:
3054
+ - error
3055
+ "500":
3056
+ description: An unknown error occurred
3057
+ content:
3058
+ application/json:
3059
+ schema:
3060
+ type: object
3061
+ properties:
3062
+ error:
3063
+ type: string
3064
+ description: A description of the error
3065
+ example: An unknown error occurred
3066
+ required:
3067
+ - error
3068
+ /models/compatibility_mapping:
3069
+ get:
3070
+ description: Returns a list of model compatibility mappings and the associated model.
3071
+ operationId: listModelCompatibilityMapping
3072
+ security:
3073
+ - {}
3074
+ - BearerAuth: []
3075
+ summary: /api/v1/models/compatibility_mapping
3076
+ tags:
3077
+ - Models
3078
+ parameters:
3079
+ - schema:
3080
+ type: string
3081
+ enum:
3082
+ - embedding
3083
+ - image
3084
+ - text
3085
+ - tts
3086
+ - upscale
3087
+ - inpaint
3088
+ default: text
3089
+ description: Filter models by type.
3090
+ example: text
3091
+ required: false
3092
+ name: type
3093
+ in: query
3094
+ responses:
3095
+ "200":
3096
+ description: OK
3097
+ content:
3098
+ application/json:
3099
+ schema:
3100
+ type: object
3101
+ properties:
3102
+ data:
3103
+ $ref: "#/components/schemas/ModelCompatibilitySchema"
3104
+ object:
3105
+ type: string
3106
+ enum:
3107
+ - list
3108
+ type:
3109
+ anyOf:
3110
+ - type: string
3111
+ enum:
3112
+ - embedding
3113
+ - image
3114
+ - text
3115
+ - tts
3116
+ - upscale
3117
+ - inpaint
3118
+ - type: string
3119
+ enum:
3120
+ - all
3121
+ - code
3122
+ description: Type of models returned.
3123
+ example: text
3124
+ required:
3125
+ - data
3126
+ - object
3127
+ - type
3128
+ "401":
3129
+ description: Authentication failed
3130
+ content:
3131
+ application/json:
3132
+ schema:
3133
+ type: object
3134
+ properties:
3135
+ error:
3136
+ type: string
3137
+ description: A description of the error
3138
+ example: Authentication failed
3139
+ required:
3140
+ - error
3141
+ "500":
3142
+ description: An unknown error occurred
3143
+ content:
3144
+ application/json:
3145
+ schema:
3146
+ type: object
3147
+ properties:
3148
+ error:
3149
+ type: string
3150
+ description: A description of the error
3151
+ example: An unknown error occurred
3152
+ required:
3153
+ - error
3154
+ /api_keys:
3155
+ get:
3156
+ description: Return a list of API keys.
3157
+ operationId: getApiKeys
3158
+ summary: /api/v1/api_keys
3159
+ tags:
3160
+ - API Keys
3161
+ responses:
3162
+ "200":
3163
+ description: OK
3164
+ content:
3165
+ application/json:
3166
+ schema:
3167
+ type: object
3168
+ properties:
3169
+ data:
3170
+ type: array
3171
+ items:
3172
+ type: object
3173
+ properties:
3174
+ apiKeyType:
3175
+ type: string
3176
+ enum:
3177
+ - INFERENCE
3178
+ - ADMIN
3179
+ description: API Key type
3180
+ example: ADMIN
3181
+ consumptionLimits:
3182
+ type: object
3183
+ properties:
3184
+ usd:
3185
+ anyOf:
3186
+ - type: number
3187
+ minimum: 0
3188
+ - nullable: true
3189
+ title: "null"
3190
+ - nullable: true
3191
+ title: "null"
3192
+ description: USD limit
3193
+ example: 50
3194
+ diem:
3195
+ anyOf:
3196
+ - type: number
3197
+ minimum: 0
3198
+ - nullable: true
3199
+ title: "null"
3200
+ - nullable: true
3201
+ title: "null"
3202
+ description: Diem limit
3203
+ example: 10
3204
+ vcu:
3205
+ anyOf:
3206
+ - type: number
3207
+ minimum: 0
3208
+ - nullable: true
3209
+ title: "null"
3210
+ - nullable: true
3211
+ title: "null"
3212
+ description: VCU limit (deprecated - use Diem instead)
3213
+ deprecated: true
3214
+ example: 100
3215
+ description: The API Key consumption limits for each epoch.
3216
+ example:
3217
+ usd: 50
3218
+ diem: 10
3219
+ createdAt:
3220
+ type: string
3221
+ nullable: true
3222
+ description: API Key creation date
3223
+ example: 2023-10-01T12:00:00Z
3224
+ description:
3225
+ type: string
3226
+ description: API Key description
3227
+ example: Example API Key
3228
+ expiresAt:
3229
+ type: string
3230
+ nullable: true
3231
+ description: API Key expiration date
3232
+ example: 2023-10-01T12:00:00Z
3233
+ id:
3234
+ type: string
3235
+ description: API Key ID
3236
+ example: e28e82dc-9df2-4b47-b726-d0a222ef2ab5
3237
+ last6Chars:
3238
+ type: string
3239
+ description: Last 6 characters of the API Key
3240
+ example: 2V2jNW
3241
+ lastUsedAt:
3242
+ type: string
3243
+ nullable: true
3244
+ description: API Key last used date
3245
+ example: 2023-10-01T12:00:00Z
3246
+ usage:
3247
+ type: object
3248
+ properties:
3249
+ trailingSevenDays:
3250
+ type: object
3251
+ properties:
3252
+ usd:
3253
+ type: string
3254
+ description: USD usage in the trailing 7 days
3255
+ example: "10.2424"
3256
+ vcu:
3257
+ type: string
3258
+ description: VCU usage in the trailing 7 days (deprecated - use Diem instead)
3259
+ deprecated: true
3260
+ example: "42.2315"
3261
+ diem:
3262
+ type: string
3263
+ description: Diem usage in the trailing 7 days
3264
+ example: "4.2231"
3265
+ required:
3266
+ - usd
3267
+ - vcu
3268
+ - diem
3269
+ required:
3270
+ - trailingSevenDays
3271
+ required:
3272
+ - apiKeyType
3273
+ - consumptionLimits
3274
+ - createdAt
3275
+ - expiresAt
3276
+ - id
3277
+ - last6Chars
3278
+ - lastUsedAt
3279
+ additionalProperties: false
3280
+ description: List of active API keys
3281
+ object:
3282
+ type: string
3283
+ enum:
3284
+ - list
3285
+ required:
3286
+ - data
3287
+ - object
3288
+ additionalProperties: false
3289
+ "401":
3290
+ description: Authentication failed
3291
+ content:
3292
+ application/json:
3293
+ schema:
3294
+ type: object
3295
+ properties:
3296
+ error:
3297
+ type: string
3298
+ description: A description of the error
3299
+ example: Authentication failed
3300
+ required:
3301
+ - error
3302
+ "500":
3303
+ description: An unknown error occurred
3304
+ content:
3305
+ application/json:
3306
+ schema:
3307
+ type: object
3308
+ properties:
3309
+ error:
3310
+ type: string
3311
+ description: A description of the error
3312
+ example: An unknown error occurred
3313
+ required:
3314
+ - error
3315
+ delete:
3316
+ description: Delete an API key.
3317
+ operationId: deleteApiKey
3318
+ parameters:
3319
+ - description: The ID of the API key to delete
3320
+ in: query
3321
+ name: id
3322
+ required: false
3323
+ schema:
3324
+ type: string
3325
+ summary: /api/v1/api_keys
3326
+ tags:
3327
+ - API Keys
3328
+ responses:
3329
+ "200":
3330
+ description: OK
3331
+ content:
3332
+ application/json:
3333
+ schema:
3334
+ type: object
3335
+ properties:
3336
+ success:
3337
+ type: boolean
3338
+ required:
3339
+ - success
3340
+ additionalProperties: false
3341
+ "400":
3342
+ description: Invalid request parameters
3343
+ content:
3344
+ application/json:
3345
+ schema:
3346
+ type: object
3347
+ properties:
3348
+ details:
3349
+ type: object
3350
+ properties: {}
3351
+ description: Details about the incorrect input
3352
+ example:
3353
+ _errors: []
3354
+ field:
3355
+ _errors:
3356
+ - Field is required
3357
+ error:
3358
+ type: string
3359
+ description: A description of the error
3360
+ example: Invalid request parameters
3361
+ required:
3362
+ - error
3363
+ "401":
3364
+ description: Authentication failed
3365
+ content:
3366
+ application/json:
3367
+ schema:
3368
+ type: object
3369
+ properties:
3370
+ error:
3371
+ type: string
3372
+ description: A description of the error
3373
+ example: Authentication failed
3374
+ required:
3375
+ - error
3376
+ "500":
3377
+ description: An unknown error occurred
3378
+ content:
3379
+ application/json:
3380
+ schema:
3381
+ type: object
3382
+ properties:
3383
+ error:
3384
+ type: string
3385
+ description: A description of the error
3386
+ example: An unknown error occurred
3387
+ required:
3388
+ - error
3389
+ post:
3390
+ description: Create a new API key.
3391
+ operationId: createApiKey
3392
+ summary: /api/v1/api_keys
3393
+ tags:
3394
+ - API Keys
3395
+ requestBody:
3396
+ content:
3397
+ application/json:
3398
+ schema:
3399
+ type: object
3400
+ properties:
3401
+ apiKeyType:
3402
+ type: string
3403
+ enum:
3404
+ - INFERENCE
3405
+ - ADMIN
3406
+ description: The API Key type. Admin keys have full access to the API while
3407
+ inference keys are only able to call inference endpoints.
3408
+ example: ADMIN
3409
+ consumptionLimit:
3410
+ type: object
3411
+ properties:
3412
+ usd:
3413
+ anyOf:
3414
+ - type: number
3415
+ minimum: 0
3416
+ - nullable: true
3417
+ title: "null"
3418
+ - nullable: true
3419
+ title: "null"
3420
+ description: USD limit
3421
+ example: 50
3422
+ diem:
3423
+ anyOf:
3424
+ - type: number
3425
+ minimum: 0
3426
+ - nullable: true
3427
+ title: "null"
3428
+ - nullable: true
3429
+ title: "null"
3430
+ description: Diem limit
3431
+ example: 10
3432
+ vcu:
3433
+ anyOf:
3434
+ - type: number
3435
+ minimum: 0
3436
+ - nullable: true
3437
+ title: "null"
3438
+ - nullable: true
3439
+ title: "null"
3440
+ description: VCU limit (deprecated - use Diem instead)
3441
+ deprecated: true
3442
+ example: 100
3443
+ description: The API Key consumption limits for each epoch.
3444
+ example:
3445
+ usd: 50
3446
+ diem: 10
3447
+ description:
3448
+ type: string
3449
+ description: The API Key description
3450
+ example: Example API Key
3451
+ expiresAt:
3452
+ anyOf:
3453
+ - type: string
3454
+ enum:
3455
+ - ""
3456
+ - type: string
3457
+ pattern: ^\d{4}-\d{2}-\d{2}$
3458
+ - type: string
3459
+ pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$
3460
+ description: The API Key expiration date. If not provided, the key will not
3461
+ expire.
3462
+ example: 2023-10-01T12:00:00Z
3463
+ required:
3464
+ - apiKeyType
3465
+ - description
3466
+ additionalProperties: false
3467
+ description: The request body for creating a new API key. API key creation is
3468
+ rate limited to 20 requests per minute and a maximum of 500
3469
+ active API keys per user. VCU is being deprecated in favor of
3470
+ Diem. Please update your API calls to use Diem instead.
3471
+ responses:
3472
+ "200":
3473
+ description: OK
3474
+ content:
3475
+ application/json:
3476
+ schema:
3477
+ type: object
3478
+ properties:
3479
+ data:
3480
+ type: object
3481
+ properties:
3482
+ apiKey:
3483
+ type: string
3484
+ description: The API Key. This is only shown once, so make sure to save it
3485
+ somewhere safe.
3486
+ apiKeyType:
3487
+ type: string
3488
+ enum:
3489
+ - INFERENCE
3490
+ - ADMIN
3491
+ description: The API Key type
3492
+ example: ADMIN
3493
+ consumptionLimit:
3494
+ type: object
3495
+ properties:
3496
+ usd:
3497
+ anyOf:
3498
+ - type: number
3499
+ minimum: 0
3500
+ - nullable: true
3501
+ title: "null"
3502
+ - nullable: true
3503
+ title: "null"
3504
+ description: USD limit
3505
+ example: 50
3506
+ diem:
3507
+ anyOf:
3508
+ - type: number
3509
+ minimum: 0
3510
+ - nullable: true
3511
+ title: "null"
3512
+ - nullable: true
3513
+ title: "null"
3514
+ description: Diem limit
3515
+ example: 10
3516
+ vcu:
3517
+ anyOf:
3518
+ - type: number
3519
+ minimum: 0
3520
+ - nullable: true
3521
+ title: "null"
3522
+ - nullable: true
3523
+ title: "null"
3524
+ description: VCU limit (deprecated - use Diem instead)
3525
+ deprecated: true
3526
+ example: 100
3527
+ description: The API Key consumption limits for each epoch.
3528
+ example:
3529
+ usd: 50
3530
+ diem: 10
3531
+ description:
3532
+ type: string
3533
+ description: The API Key description
3534
+ example: Example API Key
3535
+ expiresAt:
3536
+ type: string
3537
+ nullable: true
3538
+ description: The API Key expiration date
3539
+ example: 2023-10-01T12:00:00Z
3540
+ id:
3541
+ type: string
3542
+ description: The API Key ID
3543
+ example: e28e82dc-9df2-4b47-b726-d0a222ef2ab5
3544
+ required:
3545
+ - apiKey
3546
+ - apiKeyType
3547
+ - consumptionLimit
3548
+ - expiresAt
3549
+ - id
3550
+ additionalProperties: false
3551
+ success:
3552
+ type: boolean
3553
+ required:
3554
+ - data
3555
+ - success
3556
+ additionalProperties: false
3557
+ "400":
3558
+ description: Invalid request parameters
3559
+ content:
3560
+ application/json:
3561
+ schema:
3562
+ type: object
3563
+ properties:
3564
+ details:
3565
+ type: object
3566
+ properties: {}
3567
+ description: Details about the incorrect input
3568
+ example:
3569
+ _errors: []
3570
+ field:
3571
+ _errors:
3572
+ - Field is required
3573
+ error:
3574
+ type: string
3575
+ description: A description of the error
3576
+ example: Invalid request parameters
3577
+ required:
3578
+ - error
3579
+ "401":
3580
+ description: Authentication failed
3581
+ content:
3582
+ application/json:
3583
+ schema:
3584
+ type: object
3585
+ properties:
3586
+ error:
3587
+ type: string
3588
+ description: A description of the error
3589
+ example: Authentication failed
3590
+ required:
3591
+ - error
3592
+ "429":
3593
+ description: Rate limit exceeded
3594
+ content:
3595
+ application/json:
3596
+ schema:
3597
+ type: object
3598
+ properties:
3599
+ error:
3600
+ type: string
3601
+ description: A description of the error
3602
+ example: Rate limit exceeded
3603
+ required:
3604
+ - error
3605
+ "500":
3606
+ description: An unknown error occurred
3607
+ content:
3608
+ application/json:
3609
+ schema:
3610
+ type: object
3611
+ properties:
3612
+ error:
3613
+ type: string
3614
+ description: A description of the error
3615
+ example: An unknown error occurred
3616
+ required:
3617
+ - error
3618
+ /api_keys/rate_limits:
3619
+ get:
3620
+ description: Return details about user balances and rate limits.
3621
+ operationId: getApiKeyRateLimits
3622
+ summary: /api/v1/api_keys/rate_limits
3623
+ tags:
3624
+ - API Keys
3625
+ responses:
3626
+ "200":
3627
+ description: OK
3628
+ content:
3629
+ application/json:
3630
+ schema:
3631
+ type: object
3632
+ properties:
3633
+ data:
3634
+ type: object
3635
+ properties:
3636
+ accessPermitted:
3637
+ type: boolean
3638
+ description: Does the API key have access to consume the inference APIs?
3639
+ example: true
3640
+ apiTier:
3641
+ type: object
3642
+ properties:
3643
+ id:
3644
+ type: string
3645
+ description: The ID of the API tier.
3646
+ example: paid
3647
+ isCharged:
3648
+ type: boolean
3649
+ description: Is the API key pay per use (in Diem or USD).
3650
+ example: true
3651
+ required:
3652
+ - id
3653
+ - isCharged
3654
+ balances:
3655
+ type: object
3656
+ properties:
3657
+ USD:
3658
+ type: number
3659
+ description: The USD balance of the key.
3660
+ example: 50.23
3661
+ VCU:
3662
+ type: number
3663
+ description: The VCU balance of the key. VCU is being deprecated in favor of
3664
+ Diem.
3665
+ example: 100.023
3666
+ DIEM:
3667
+ type: number
3668
+ description: The Diem balance of the key.
3669
+ example: 100.023
3670
+ keyExpiration:
3671
+ type: string
3672
+ nullable: true
3673
+ description: The timestamp the API key expires. If null, the key never expires.
3674
+ example: 2025-06-01T00:00:00Z
3675
+ nextEpochBegins:
3676
+ type: string
3677
+ description: The timestamp when the next epoch begins. This is relevant for rate
3678
+ limits that reset at the start of each epoch.
3679
+ example: 2025-05-07T00:00:00.000Z
3680
+ rateLimits:
3681
+ type: array
3682
+ items:
3683
+ type: object
3684
+ properties:
3685
+ apiModelId:
3686
+ type: string
3687
+ description: The ID of the API model.
3688
+ example: venice-uncensored
3689
+ rateLimits:
3690
+ type: array
3691
+ items:
3692
+ type: object
3693
+ properties:
3694
+ amount:
3695
+ type: number
3696
+ description: The rate limit for the API model.
3697
+ example: 100
3698
+ type:
3699
+ type: string
3700
+ description: The time period for the rate limit. Can be Requests Per Minute
3701
+ (RPM), Requests Per Day (RPD), or Tokens
3702
+ Per Minute (TPM).
3703
+ example: RPM
3704
+ required:
3705
+ - amount
3706
+ - type
3707
+ required:
3708
+ - rateLimits
3709
+ required:
3710
+ - accessPermitted
3711
+ - apiTier
3712
+ - balances
3713
+ - keyExpiration
3714
+ - nextEpochBegins
3715
+ - rateLimits
3716
+ required:
3717
+ - data
3718
+ "401":
3719
+ description: Authentication failed
3720
+ content:
3721
+ application/json:
3722
+ schema:
3723
+ type: object
3724
+ properties:
3725
+ error:
3726
+ type: string
3727
+ description: A description of the error
3728
+ example: Authentication failed
3729
+ required:
3730
+ - error
3731
+ "500":
3732
+ description: An unknown error occurred
3733
+ content:
3734
+ application/json:
3735
+ schema:
3736
+ type: object
3737
+ properties:
3738
+ error:
3739
+ type: string
3740
+ description: A description of the error
3741
+ example: An unknown error occurred
3742
+ required:
3743
+ - error
3744
+ /api_keys/rate_limits/log:
3745
+ get:
3746
+ description: Returns the last 50 rate limits that the account exceeded.
3747
+ operationId: getApiKeyRateLimitLogs
3748
+ summary: /api/v1/api_keys/rate_limits/log
3749
+ tags:
3750
+ - API Keys
3751
+ responses:
3752
+ "200":
3753
+ description: OK
3754
+ content:
3755
+ application/json:
3756
+ schema:
3757
+ type: object
3758
+ properties:
3759
+ data:
3760
+ type: array
3761
+ items:
3762
+ type: object
3763
+ properties:
3764
+ apiKeyId:
3765
+ type: string
3766
+ description: The ID of the API key that exceeded the limit.
3767
+ modelId:
3768
+ type: string
3769
+ default: venice-uncensored
3770
+ description: The ID of the model that was used when the rate limit was exceeded.
3771
+ rateLimitTier:
3772
+ type: string
3773
+ description: The API tier of the rate limit.
3774
+ example: paid
3775
+ rateLimitType:
3776
+ type: string
3777
+ description: The type of rate limit that was exceeded.
3778
+ example: RPM
3779
+ timestamp:
3780
+ type: string
3781
+ description: The timestamp when the rate limit was exceeded.
3782
+ example: 2023-10-01T12:00:00Z
3783
+ required:
3784
+ - apiKeyId
3785
+ - modelId
3786
+ - rateLimitTier
3787
+ - rateLimitType
3788
+ - timestamp
3789
+ additionalProperties: false
3790
+ description: The last 50 rate limit logs for the account.
3791
+ object:
3792
+ type: string
3793
+ enum:
3794
+ - list
3795
+ required:
3796
+ - data
3797
+ - object
3798
+ additionalProperties: false
3799
+ "401":
3800
+ description: Authentication failed
3801
+ content:
3802
+ application/json:
3803
+ schema:
3804
+ type: object
3805
+ properties:
3806
+ error:
3807
+ type: string
3808
+ description: A description of the error
3809
+ example: Authentication failed
3810
+ required:
3811
+ - error
3812
+ "500":
3813
+ description: An unknown error occurred
3814
+ content:
3815
+ application/json:
3816
+ schema:
3817
+ type: object
3818
+ properties:
3819
+ error:
3820
+ type: string
3821
+ description: A description of the error
3822
+ example: An unknown error occurred
3823
+ required:
3824
+ - error
3825
+ /api_keys/generate_web3_key:
3826
+ get:
3827
+ description: Returns the token required to generate an API key via a wallet.
3828
+ operationId: getApiKeyGenerateWeb3Key
3829
+ security: []
3830
+ summary: /api/v1/api_keys/generate_web3_key
3831
+ tags:
3832
+ - API Keys
3833
+ responses:
3834
+ "200":
3835
+ description: OK
3836
+ content:
3837
+ application/json:
3838
+ schema:
3839
+ type: object
3840
+ properties:
3841
+ data:
3842
+ type: object
3843
+ properties:
3844
+ token:
3845
+ type: string
3846
+ description: The token to sign with the wallet
3847
+ example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
3848
+ required:
3849
+ - token
3850
+ success:
3851
+ type: boolean
3852
+ required:
3853
+ - data
3854
+ - success
3855
+ post:
3856
+ description: Authenticates a wallet holding sVVV and creates an API key.
3857
+ operationId: postApiKeyGenerateWeb3Key
3858
+ security: []
3859
+ summary: /api/v1/api_keys/generate_web3_key
3860
+ tags:
3861
+ - API Keys
3862
+ requestBody:
3863
+ content:
3864
+ application/json:
3865
+ schema:
3866
+ type: object
3867
+ properties:
3868
+ apiKeyType:
3869
+ type: string
3870
+ enum:
3871
+ - INFERENCE
3872
+ - ADMIN
3873
+ description: The API Key type. Admin keys have full access to the API while
3874
+ inference keys are only able to call inference endpoints.
3875
+ example: ADMIN
3876
+ consumptionLimit:
3877
+ type: object
3878
+ properties:
3879
+ usd:
3880
+ anyOf:
3881
+ - type: number
3882
+ minimum: 0
3883
+ - nullable: true
3884
+ title: "null"
3885
+ - nullable: true
3886
+ title: "null"
3887
+ description: USD limit
3888
+ example: 50
3889
+ diem:
3890
+ anyOf:
3891
+ - type: number
3892
+ minimum: 0
3893
+ - nullable: true
3894
+ title: "null"
3895
+ - nullable: true
3896
+ title: "null"
3897
+ description: Diem limit
3898
+ example: 10
3899
+ vcu:
3900
+ anyOf:
3901
+ - type: number
3902
+ minimum: 0
3903
+ - nullable: true
3904
+ title: "null"
3905
+ - nullable: true
3906
+ title: "null"
3907
+ description: VCU limit (deprecated - use Diem instead)
3908
+ deprecated: true
3909
+ example: 100
3910
+ description: The API Key consumption limits for each epoch.
3911
+ example:
3912
+ usd: 50
3913
+ diem: 10
3914
+ description:
3915
+ type: string
3916
+ default: Web3 API Key
3917
+ description: The API Key description
3918
+ example: Web3 API Key
3919
+ expiresAt:
3920
+ anyOf:
3921
+ - type: string
3922
+ enum:
3923
+ - ""
3924
+ - type: string
3925
+ pattern: ^\d{4}-\d{2}-\d{2}$
3926
+ - type: string
3927
+ pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$
3928
+ description: The API Key expiration date. If not provided, the key will not
3929
+ expire.
3930
+ example: 2023-10-01T12:00:00Z
3931
+ address:
3932
+ type: string
3933
+ description: The wallet's address
3934
+ example: "0x45B73055F3aDcC4577Bb709db10B19d11b5c94eE"
3935
+ signature:
3936
+ type: string
3937
+ description: The token, signed with the wallet's private key
3938
+ example: "0xbb5ff2e177f3a97fa553057864ad892eb64120f3eaf9356b4742a10f9a068d42725\
3939
+ de895b5e45160b679cbe6961dc4cb552ba10dc97bdd8258d9154810785c\
3940
+ 451c"
3941
+ token:
3942
+ type: string
3943
+ description: The token obtained from
3944
+ https://api.venice.ai/api/v1/api_keys/generate_web3_key
3945
+ example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
3946
+ required:
3947
+ - apiKeyType
3948
+ - address
3949
+ - signature
3950
+ - token
3951
+ additionalProperties: false
3952
+ responses:
3953
+ "200":
3954
+ description: OK
3955
+ content:
3956
+ application/json:
3957
+ schema:
3958
+ type: object
3959
+ properties:
3960
+ data:
3961
+ type: object
3962
+ properties:
3963
+ apiKey:
3964
+ type: string
3965
+ description: The API Key. This is only shown once, so make sure to save it
3966
+ somewhere safe.
3967
+ apiKeyType:
3968
+ type: string
3969
+ enum:
3970
+ - INFERENCE
3971
+ - ADMIN
3972
+ description: The API Key type
3973
+ example: ADMIN
3974
+ consumptionLimit:
3975
+ type: object
3976
+ properties:
3977
+ usd:
3978
+ anyOf:
3979
+ - type: number
3980
+ minimum: 0
3981
+ - nullable: true
3982
+ title: "null"
3983
+ - nullable: true
3984
+ title: "null"
3985
+ description: USD limit
3986
+ example: 50
3987
+ diem:
3988
+ anyOf:
3989
+ - type: number
3990
+ minimum: 0
3991
+ - nullable: true
3992
+ title: "null"
3993
+ - nullable: true
3994
+ title: "null"
3995
+ description: Diem limit
3996
+ example: 10
3997
+ vcu:
3998
+ anyOf:
3999
+ - type: number
4000
+ minimum: 0
4001
+ - nullable: true
4002
+ title: "null"
4003
+ - nullable: true
4004
+ title: "null"
4005
+ description: VCU limit (deprecated - use Diem instead)
4006
+ deprecated: true
4007
+ example: 100
4008
+ description: The API Key consumption limits for each epoch.
4009
+ example:
4010
+ usd: 50
4011
+ diem: 10
4012
+ description:
4013
+ type: string
4014
+ description: The API Key description
4015
+ example: Example API Key
4016
+ expiresAt:
4017
+ type: string
4018
+ nullable: true
4019
+ description: The API Key expiration date
4020
+ example: 2023-10-01T12:00:00Z
4021
+ id:
4022
+ type: string
4023
+ description: The API Key ID
4024
+ example: e28e82dc-9df2-4b47-b726-d0a222ef2ab5
4025
+ required:
4026
+ - apiKey
4027
+ - apiKeyType
4028
+ - consumptionLimit
4029
+ - expiresAt
4030
+ - id
4031
+ additionalProperties: false
4032
+ success:
4033
+ type: boolean
4034
+ required:
4035
+ - data
4036
+ - success
4037
+ additionalProperties: false
4038
+ /characters:
4039
+ get:
4040
+ description: This is a preview API and may change. Returns a list of characters
4041
+ supported in the API.
4042
+ operationId: listCharacters
4043
+ summary: /api/v1/characters
4044
+ tags:
4045
+ - Characters
4046
+ - Preview
4047
+ responses:
4048
+ "200":
4049
+ description: OK
4050
+ content:
4051
+ application/json:
4052
+ schema:
4053
+ type: object
4054
+ properties:
4055
+ data:
4056
+ type: array
4057
+ items:
4058
+ type: object
4059
+ properties:
4060
+ adult:
4061
+ type: boolean
4062
+ description: Whether the character is considered adult content
4063
+ example: false
4064
+ createdAt:
4065
+ type: string
4066
+ description: Date when the character was created
4067
+ example: 2024-12-20T21:28:08.934Z
4068
+ description:
4069
+ type: string
4070
+ nullable: true
4071
+ description: Description of the character
4072
+ example: Alan Watts (6 January 1915 – 16 November 1973) was a British and
4073
+ American writer, speaker, and self-styled
4074
+ "philosophical entertainer", known for interpreting
4075
+ and popularizing Buddhist, Taoist, and Hindu
4076
+ philosophy for a Western audience.
4077
+ name:
4078
+ type: string
4079
+ description: Name of the character
4080
+ example: Alan Watts
4081
+ shareUrl:
4082
+ type: string
4083
+ nullable: true
4084
+ description: Share URL of the character
4085
+ example: https://venice.ai/c/alan-watts
4086
+ slug:
4087
+ type: string
4088
+ description: Slug of the character to be used in the completions API
4089
+ example: alan-watts
4090
+ stats:
4091
+ type: object
4092
+ properties:
4093
+ imports:
4094
+ type: number
4095
+ description: Number of imports for the character
4096
+ example: 112
4097
+ required:
4098
+ - imports
4099
+ tags:
4100
+ type: array
4101
+ items:
4102
+ type: string
4103
+ description: Tags associated with the character
4104
+ example:
4105
+ - AlanWatts
4106
+ - Philosophy
4107
+ - Buddhism
4108
+ - Taoist
4109
+ - Hindu
4110
+ updatedAt:
4111
+ type: string
4112
+ description: Date when the character was last updated
4113
+ example: 2025-02-09T03:23:53.708Z
4114
+ webEnabled:
4115
+ type: boolean
4116
+ description: Whether the character is enabled for web use
4117
+ example: true
4118
+ required:
4119
+ - adult
4120
+ - createdAt
4121
+ - description
4122
+ - name
4123
+ - shareUrl
4124
+ - slug
4125
+ - stats
4126
+ - tags
4127
+ - updatedAt
4128
+ - webEnabled
4129
+ object:
4130
+ type: string
4131
+ enum:
4132
+ - list
4133
+ required:
4134
+ - data
4135
+ - object
4136
+ "401":
4137
+ description: Authentication failed
4138
+ content:
4139
+ application/json:
4140
+ schema:
4141
+ type: object
4142
+ properties:
4143
+ error:
4144
+ type: string
4145
+ description: A description of the error
4146
+ example: Authentication failed
4147
+ required:
4148
+ - error
4149
+ "500":
4150
+ description: An unknown error occurred
4151
+ content:
4152
+ application/json:
4153
+ schema:
4154
+ type: object
4155
+ properties:
4156
+ error:
4157
+ type: string
4158
+ description: A description of the error
4159
+ example: An unknown error occurred
4160
+ required:
4161
+ - error
4162
+ /embeddings:
4163
+ post:
4164
+ description: Create embeddings for the supplied input.
4165
+ operationId: createEmbedding
4166
+ parameters:
4167
+ - description: Supported compression encodings (gzip, br)
4168
+ in: header
4169
+ name: Accept-Encoding
4170
+ required: false
4171
+ schema:
4172
+ example: gzip, br
4173
+ type: string
4174
+ summary: /api/v1/embeddings
4175
+ tags:
4176
+ - Embeddings
4177
+ requestBody:
4178
+ required: true
4179
+ content:
4180
+ application/json:
4181
+ schema:
4182
+ $ref: "#/components/schemas/CreateEmbeddingRequestSchema"
4183
+ responses:
4184
+ "200":
4185
+ description: OK
4186
+ headers:
4187
+ Content-Encoding:
4188
+ description: The encoding used to compress the response
4189
+ schema:
4190
+ enum:
4191
+ - gzip
4192
+ - br
4193
+ type: string
4194
+ content:
4195
+ application/json:
4196
+ schema:
4197
+ type: object
4198
+ properties:
4199
+ data:
4200
+ type: array
4201
+ items:
4202
+ type: object
4203
+ properties:
4204
+ embedding:
4205
+ type: array
4206
+ items:
4207
+ type: number
4208
+ description: The embedding vector
4209
+ index:
4210
+ type: integer
4211
+ description: The index of this embedding in the list
4212
+ object:
4213
+ type: string
4214
+ enum:
4215
+ - embedding
4216
+ description: The object type, which is always "embedding"
4217
+ required:
4218
+ - embedding
4219
+ - index
4220
+ - object
4221
+ description: The list of embeddings generated by the model.
4222
+ model:
4223
+ type: string
4224
+ description: The name of the model used to generate the embedding.
4225
+ object:
4226
+ type: string
4227
+ enum:
4228
+ - list
4229
+ description: The object type, which is always "list"
4230
+ usage:
4231
+ type: object
4232
+ properties:
4233
+ prompt_tokens:
4234
+ type: integer
4235
+ description: The number of tokens used by the prompt.
4236
+ total_tokens:
4237
+ type: integer
4238
+ description: The total number of tokens used by the request.
4239
+ required:
4240
+ - prompt_tokens
4241
+ - total_tokens
4242
+ description: The usage information for the request.
4243
+ required:
4244
+ - data
4245
+ - model
4246
+ - object
4247
+ - usage
4248
+ example:
4249
+ data:
4250
+ - embedding:
4251
+ - 0.0023064255
4252
+ - -0.009327292
4253
+ - 0.015797377
4254
+ index: 0
4255
+ object: embedding
4256
+ model: text-embedding-bge-m3
4257
+ object: list
4258
+ usage:
4259
+ prompt_tokens: 8
4260
+ total_tokens: 8
4261
+ "400":
4262
+ description: Invalid request parameters
4263
+ content:
4264
+ application/json:
4265
+ schema:
4266
+ type: object
4267
+ properties:
4268
+ details:
4269
+ type: object
4270
+ properties: {}
4271
+ description: Details about the incorrect input
4272
+ example:
4273
+ _errors: []
4274
+ field:
4275
+ _errors:
4276
+ - Field is required
4277
+ error:
4278
+ type: string
4279
+ description: A description of the error
4280
+ example: Invalid request parameters
4281
+ required:
4282
+ - error
4283
+ "401":
4284
+ description: Authentication failed
4285
+ content:
4286
+ application/json:
4287
+ schema:
4288
+ type: object
4289
+ properties:
4290
+ error:
4291
+ type: string
4292
+ description: A description of the error
4293
+ example: Authentication failed
4294
+ required:
4295
+ - error
4296
+ "402":
4297
+ description: Insufficient USD or Diem balance to complete request
4298
+ content:
4299
+ application/json:
4300
+ schema:
4301
+ type: object
4302
+ properties:
4303
+ error:
4304
+ type: string
4305
+ description: A description of the error
4306
+ example: Insufficient USD or Diem balance to complete request
4307
+ required:
4308
+ - error
4309
+ "415":
4310
+ description: Invalid request content-type
4311
+ content:
4312
+ application/json:
4313
+ schema:
4314
+ type: object
4315
+ properties:
4316
+ error:
4317
+ type: string
4318
+ description: A description of the error
4319
+ example: Invalid request content-type
4320
+ required:
4321
+ - error
4322
+ "429":
4323
+ description: Rate limit exceeded
4324
+ content:
4325
+ application/json:
4326
+ schema:
4327
+ type: object
4328
+ properties:
4329
+ error:
4330
+ type: string
4331
+ description: A description of the error
4332
+ example: Rate limit exceeded
4333
+ required:
4334
+ - error
4335
+ "500":
4336
+ description: Inference processing failed
4337
+ content:
4338
+ application/json:
4339
+ schema:
4340
+ type: object
4341
+ properties:
4342
+ error:
4343
+ type: string
4344
+ description: A description of the error
4345
+ example: Inference processing failed
4346
+ required:
4347
+ - error
4348
+ "503":
4349
+ description: The model is at capacity. Please try again later.
4350
+ content:
4351
+ application/json:
4352
+ schema:
4353
+ type: object
4354
+ properties:
4355
+ error:
4356
+ type: string
4357
+ description: A description of the error
4358
+ example: The model is at capacity. Please try again later.
4359
+ required:
4360
+ - error
4361
+ /audio/speech:
4362
+ post:
4363
+ description: Converts text to speech using various voice models and formats.
4364
+ operationId: createSpeech
4365
+ requestBody:
4366
+ content:
4367
+ application/json:
4368
+ schema:
4369
+ $ref: "#/components/schemas/CreateSpeechRequestSchema"
4370
+ summary: /api/v1/audio/speech
4371
+ tags:
4372
+ - Audio
4373
+ - Speech
4374
+ responses:
4375
+ "200":
4376
+ description: Audio content generated successfully
4377
+ content:
4378
+ audio/aac:
4379
+ schema:
4380
+ format: binary
4381
+ type: string
4382
+ audio/flac:
4383
+ schema:
4384
+ format: binary
4385
+ type: string
4386
+ audio/mpeg:
4387
+ schema:
4388
+ format: binary
4389
+ type: string
4390
+ audio/opus:
4391
+ schema:
4392
+ format: binary
4393
+ type: string
4394
+ audio/pcm:
4395
+ schema:
4396
+ format: binary
4397
+ type: string
4398
+ audio/wav:
4399
+ schema:
4400
+ format: binary
4401
+ type: string
4402
+ "400":
4403
+ description: Invalid request parameters
4404
+ content:
4405
+ application/json:
4406
+ schema:
4407
+ type: object
4408
+ properties:
4409
+ details:
4410
+ type: object
4411
+ properties: {}
4412
+ description: Details about the incorrect input
4413
+ example:
4414
+ _errors: []
4415
+ field:
4416
+ _errors:
4417
+ - Field is required
4418
+ error:
4419
+ type: string
4420
+ description: A description of the error
4421
+ example: Invalid request parameters
4422
+ required:
4423
+ - error
4424
+ "401":
4425
+ description: Authentication failed
4426
+ content:
4427
+ application/json:
4428
+ schema:
4429
+ type: object
4430
+ properties:
4431
+ error:
4432
+ type: string
4433
+ description: A description of the error
4434
+ example: Authentication failed
4435
+ required:
4436
+ - error
4437
+ "402":
4438
+ description: Insufficient USD or Diem balance to complete request
4439
+ content:
4440
+ application/json:
4441
+ schema:
4442
+ type: object
4443
+ properties:
4444
+ error:
4445
+ type: string
4446
+ description: A description of the error
4447
+ example: Insufficient USD or Diem balance to complete request
4448
+ required:
4449
+ - error
4450
+ "403":
4451
+ description: Unauthorized access
4452
+ content:
4453
+ application/json:
4454
+ schema:
4455
+ type: object
4456
+ properties:
4457
+ error:
4458
+ type: string
4459
+ description: A description of the error
4460
+ example: Unauthorized access
4461
+ required:
4462
+ - error
4463
+ "415":
4464
+ description: Invalid request content-type
4465
+ content:
4466
+ application/json:
4467
+ schema:
4468
+ type: object
4469
+ properties:
4470
+ error:
4471
+ type: string
4472
+ description: A description of the error
4473
+ example: Invalid request content-type
4474
+ required:
4475
+ - error
4476
+ "429":
4477
+ description: Rate limit exceeded
4478
+ content:
4479
+ application/json:
4480
+ schema:
4481
+ type: object
4482
+ properties:
4483
+ error:
4484
+ type: string
4485
+ description: A description of the error
4486
+ example: Rate limit exceeded
4487
+ required:
4488
+ - error
4489
+ "500":
4490
+ description: Inference processing failed
4491
+ content:
4492
+ application/json:
4493
+ schema:
4494
+ type: object
4495
+ properties:
4496
+ error:
4497
+ type: string
4498
+ description: A description of the error
4499
+ example: Inference processing failed
4500
+ required:
4501
+ - error
4502
+ "503":
4503
+ description: The model is at capacity. Please try again later.
4504
+ content:
4505
+ application/json:
4506
+ schema:
4507
+ type: object
4508
+ properties:
4509
+ error:
4510
+ type: string
4511
+ description: A description of the error
4512
+ example: The model is at capacity. Please try again later.
4513
+ required:
4514
+ - error
4515
+ /billing/usage:
4516
+ get:
4517
+ description: "Get paginated billing usage data for the authenticated user. NOTE:
4518
+ This is a beta endpoint and may be subject to change."
4519
+ operationId: getBillingUsage
4520
+ parameters:
4521
+ - description: Accept header to specify the response format
4522
+ in: header
4523
+ name: Accept
4524
+ schema:
4525
+ example: application/json, text/csv
4526
+ type: string
4527
+ - schema:
4528
+ type: string
4529
+ description: Filter by currency
4530
+ enum:
4531
+ - USD
4532
+ - VCU
4533
+ - DIEM
4534
+ example: USD
4535
+ required: false
4536
+ name: currency
4537
+ in: query
4538
+ - schema:
4539
+ type: string
4540
+ format: date-time
4541
+ description: End date for filtering records (ISO 8601)
4542
+ example: 2024-12-31T23:59:59Z
4543
+ required: false
4544
+ name: endDate
4545
+ in: query
4546
+ - schema:
4547
+ type: integer
4548
+ minimum: 0
4549
+ exclusiveMinimum: true
4550
+ maximum: 500
4551
+ default: 200
4552
+ description: Number of items per page
4553
+ example: 200
4554
+ required: false
4555
+ name: limit
4556
+ in: query
4557
+ - schema:
4558
+ type: integer
4559
+ minimum: 0
4560
+ exclusiveMinimum: true
4561
+ default: 1
4562
+ description: Page number for pagination
4563
+ example: 1
4564
+ required: false
4565
+ name: page
4566
+ in: query
4567
+ - schema:
4568
+ type: string
4569
+ enum:
4570
+ - asc
4571
+ - desc
4572
+ default: desc
4573
+ description: Sort order for createdAt field
4574
+ example: desc
4575
+ required: false
4576
+ name: sortOrder
4577
+ in: query
4578
+ - schema:
4579
+ type: string
4580
+ format: date-time
4581
+ description: Start date for filtering records (ISO 8601)
4582
+ example: 2024-01-01T00:00:00Z
4583
+ required: false
4584
+ name: startDate
4585
+ in: query
4586
+ summary: /api/v1/billing/usage
4587
+ tags:
4588
+ - Billing
4589
+ responses:
4590
+ "200":
4591
+ description: Successful response
4592
+ headers:
4593
+ Content-Disposition:
4594
+ schema:
4595
+ description: attachment; filename=billing_usage.csv
4596
+ example: attachment; filename=billing_usage.csv
4597
+ type: string
4598
+ x-pagination-limit:
4599
+ schema:
4600
+ description: Number of items per page
4601
+ example: 200
4602
+ type: number
4603
+ x-pagination-page:
4604
+ schema:
4605
+ description: Current page number
4606
+ example: 1
4607
+ type: number
4608
+ x-pagination-total:
4609
+ schema:
4610
+ description: Total number of items
4611
+ example: 1000
4612
+ type: number
4613
+ x-pagination-total-pages:
4614
+ schema:
4615
+ description: Total number of pages
4616
+ example: 5
4617
+ type: number
4618
+ content:
4619
+ application/json:
4620
+ schema:
4621
+ type: object
4622
+ properties:
4623
+ data:
4624
+ type: array
4625
+ items:
4626
+ type: object
4627
+ properties:
4628
+ amount:
4629
+ type: number
4630
+ description: The total amount charged for the billing usage entry
4631
+ currency:
4632
+ type: string
4633
+ enum:
4634
+ - USD
4635
+ - VCU
4636
+ - DIEM
4637
+ description: The currency charged for the billing usage entry
4638
+ example: USD
4639
+ inferenceDetails:
4640
+ type: object
4641
+ nullable: true
4642
+ properties:
4643
+ completionTokens:
4644
+ type: number
4645
+ nullable: true
4646
+ description: Number of tokens used in the completion. Only present for LLM
4647
+ usage.
4648
+ inferenceExecutionTime:
4649
+ type: number
4650
+ nullable: true
4651
+ description: Time taken for inference execution in milliseconds
4652
+ promptTokens:
4653
+ type: number
4654
+ nullable: true
4655
+ description: Number of tokens requested in the prompt. Only present for LLM
4656
+ usage.
4657
+ requestId:
4658
+ type: string
4659
+ nullable: true
4660
+ description: Unique identifier for the inference request
4661
+ required:
4662
+ - completionTokens
4663
+ - inferenceExecutionTime
4664
+ - promptTokens
4665
+ - requestId
4666
+ description: Details about the related inference request, if applicable
4667
+ notes:
4668
+ type: string
4669
+ description: Notes about the billing usage entry
4670
+ pricePerUnitUsd:
4671
+ type: number
4672
+ description: The price per unit in USD
4673
+ sku:
4674
+ type: string
4675
+ description: The product associated with the billing usage entry
4676
+ timestamp:
4677
+ type: string
4678
+ description: The timestamp the billing usage entry was created
4679
+ example: 2025-01-01T00:00:00Z
4680
+ units:
4681
+ type: number
4682
+ description: The number of units consumed
4683
+ required:
4684
+ - amount
4685
+ - currency
4686
+ - inferenceDetails
4687
+ - notes
4688
+ - pricePerUnitUsd
4689
+ - sku
4690
+ - timestamp
4691
+ - units
4692
+ pagination:
4693
+ type: object
4694
+ properties:
4695
+ limit:
4696
+ type: number
4697
+ page:
4698
+ type: number
4699
+ total:
4700
+ type: number
4701
+ totalPages:
4702
+ type: number
4703
+ required:
4704
+ - limit
4705
+ - page
4706
+ - total
4707
+ - totalPages
4708
+ required:
4709
+ - data
4710
+ - pagination
4711
+ additionalProperties: false
4712
+ description: The response schema for the billing usage endpoint
4713
+ example:
4714
+ data:
4715
+ - amount: -0.1
4716
+ currency: DIEM
4717
+ inferenceDetails: null
4718
+ notes: API Inference
4719
+ pricePerUnitUsd: 0.1
4720
+ sku: venice-sd35-image-unit
4721
+ timestamp: {}
4722
+ units: 1
4723
+ - amount: -0.06356
4724
+ currency: DIEM
4725
+ inferenceDetails:
4726
+ completionTokens: 227
4727
+ inferenceExecutionTime: 2964
4728
+ promptTokens: 339
4729
+ requestId: chatcmpl-4007fd29f42b7d3c4107f4345e8d174a
4730
+ notes: API Inference
4731
+ pricePerUnitUsd: 2.8
4732
+ sku: llama-3.3-70b-llm-output-mtoken
4733
+ timestamp: {}
4734
+ units: 0.000227
4735
+ pagination:
4736
+ limit: 1
4737
+ page: 200
4738
+ total: 56090
4739
+ totalPages: 56090
4740
+ text/csv:
4741
+ schema:
4742
+ description: CSV formatted billing usage data
4743
+ type: string
4744
+ "400":
4745
+ description: Invalid request parameters
4746
+ content:
4747
+ application/json:
4748
+ schema:
4749
+ type: object
4750
+ properties:
4751
+ details:
4752
+ type: object
4753
+ properties: {}
4754
+ description: Details about the incorrect input
4755
+ example:
4756
+ _errors: []
4757
+ field:
4758
+ _errors:
4759
+ - Field is required
4760
+ error:
4761
+ type: string
4762
+ description: A description of the error
4763
+ example: Invalid request parameters
4764
+ required:
4765
+ - error
4766
+ "401":
4767
+ description: Authentication failed
4768
+ content:
4769
+ application/json:
4770
+ schema:
4771
+ type: object
4772
+ properties:
4773
+ error:
4774
+ type: string
4775
+ description: A description of the error
4776
+ example: Authentication failed
4777
+ required:
4778
+ - error
4779
+ "500":
4780
+ description: Inference processing failed
4781
+ content:
4782
+ application/json:
4783
+ schema:
4784
+ type: object
4785
+ properties:
4786
+ error:
4787
+ type: string
4788
+ description: A description of the error
4789
+ example: Inference processing failed
4790
+ required:
4791
+ - error