volcengine-python-sdk 4.0.27__py2.py3-none-any.whl → 4.0.29__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of volcengine-python-sdk might be problematic. Click here for more details.

Files changed (278) hide show
  1. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/METADATA +1 -1
  2. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/RECORD +278 -17
  3. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/top_level.txt +1 -0
  4. volcenginesdkarkruntime/_client.py +7 -6
  5. volcenginesdkarkruntime/_utils/_key_agreement.py +18 -14
  6. volcenginesdkarkruntime/resources/batch_chat/completions.py +10 -141
  7. volcenginesdkarkruntime/resources/beta/chat/completions.py +10 -0
  8. volcenginesdkarkruntime/resources/chat/completions.py +9 -206
  9. volcenginesdkarkruntime/resources/encryption.py +209 -0
  10. volcenginesdkarkruntime/resources/images/images.py +72 -55
  11. volcenginesdkarkruntime/types/content_generation/content_generation_task.py +15 -0
  12. volcenginesdkarkruntime/types/images/__init__.py +2 -2
  13. volcenginesdkarkruntime/types/images/images.py +7 -1
  14. volcenginesdkarkruntime/types/shared/reasoning_effort.py +17 -0
  15. volcenginesdkcore/api_client.py +1 -1
  16. volcenginesdkcore/configuration.py +1 -1
  17. volcenginesdkid/__init__.py +276 -0
  18. volcenginesdkid/api/__init__.py +6 -0
  19. volcenginesdkid/api/id_api.py +7891 -0
  20. volcenginesdkid/models/__init__.py +272 -0
  21. volcenginesdkid/models/api_key_auth_config_for_batch_get_inbound_auth_config_output.py +201 -0
  22. volcenginesdkid/models/api_key_auth_config_for_create_api_key_input.py +201 -0
  23. volcenginesdkid/models/api_key_auth_config_for_create_inbound_auth_config_input.py +201 -0
  24. volcenginesdkid/models/api_key_auth_config_for_create_inbound_auth_config_output.py +201 -0
  25. volcenginesdkid/models/api_key_auth_config_for_get_inbound_auth_config_output.py +201 -0
  26. volcenginesdkid/models/api_key_auth_config_for_list_inbound_auth_configs_output.py +201 -0
  27. volcenginesdkid/models/api_key_auth_config_for_update_inbound_auth_config_input.py +201 -0
  28. volcenginesdkid/models/api_key_credential_provider_for_batch_get_api_key_credential_providers_output.py +201 -0
  29. volcenginesdkid/models/api_key_credential_provider_for_list_api_key_credential_providers_output.py +201 -0
  30. volcenginesdkid/models/api_key_metadata_for_batch_get_inbound_auth_config_output.py +149 -0
  31. volcenginesdkid/models/api_key_metadata_for_create_api_key_credential_provider_input.py +149 -0
  32. volcenginesdkid/models/api_key_metadata_for_create_api_key_input.py +149 -0
  33. volcenginesdkid/models/api_key_metadata_for_create_inbound_auth_config_input.py +149 -0
  34. volcenginesdkid/models/api_key_metadata_for_create_inbound_auth_config_output.py +149 -0
  35. volcenginesdkid/models/api_key_metadata_for_get_api_key_credential_provider_output.py +149 -0
  36. volcenginesdkid/models/api_key_metadata_for_get_inbound_auth_config_output.py +149 -0
  37. volcenginesdkid/models/api_key_metadata_for_get_resource_api_key_output.py +149 -0
  38. volcenginesdkid/models/api_key_metadata_for_list_inbound_auth_configs_output.py +149 -0
  39. volcenginesdkid/models/api_key_metadata_for_update_api_key_credential_provider_input.py +149 -0
  40. volcenginesdkid/models/api_key_metadata_for_update_inbound_auth_config_input.py +149 -0
  41. volcenginesdkid/models/attach_inbound_auth_config_request.py +151 -0
  42. volcenginesdkid/models/attach_inbound_auth_config_response.py +95 -0
  43. volcenginesdkid/models/authorization_server_metadata_for_create_oauth2_credential_provider_input.py +201 -0
  44. volcenginesdkid/models/authorization_server_metadata_for_get_oauth2_credential_provider_output.py +201 -0
  45. volcenginesdkid/models/authorization_server_metadata_for_update_oauth2_credential_provider_input.py +201 -0
  46. volcenginesdkid/models/batch_get_api_key_credential_providers_request.py +149 -0
  47. volcenginesdkid/models/batch_get_api_key_credential_providers_response.py +123 -0
  48. volcenginesdkid/models/batch_get_inbound_auth_config_request.py +123 -0
  49. volcenginesdkid/models/batch_get_inbound_auth_config_response.py +123 -0
  50. volcenginesdkid/models/batch_get_oauth2_credential_providers_request.py +149 -0
  51. volcenginesdkid/models/batch_get_oauth2_credential_providers_response.py +123 -0
  52. volcenginesdkid/models/check_api_key_request.py +124 -0
  53. volcenginesdkid/models/check_api_key_response.py +95 -0
  54. volcenginesdkid/models/check_permission_request.py +254 -0
  55. volcenginesdkid/models/check_permission_response.py +149 -0
  56. volcenginesdkid/models/config_for_create_oauth2_credential_provider_input.py +331 -0
  57. volcenginesdkid/models/config_for_get_oauth2_credential_provider_output.py +331 -0
  58. volcenginesdkid/models/config_for_update_oauth2_credential_provider_input.py +331 -0
  59. volcenginesdkid/models/create_api_key_credential_provider_request.py +203 -0
  60. volcenginesdkid/models/create_api_key_credential_provider_response.py +175 -0
  61. volcenginesdkid/models/create_api_key_request.py +150 -0
  62. volcenginesdkid/models/create_api_key_response.py +95 -0
  63. volcenginesdkid/models/create_identity_provider_o_auth_request.py +419 -0
  64. volcenginesdkid/models/create_identity_provider_o_auth_response.py +409 -0
  65. volcenginesdkid/models/create_identity_provider_oidc_request.py +365 -0
  66. volcenginesdkid/models/create_identity_provider_oidc_response.py +357 -0
  67. volcenginesdkid/models/create_inbound_auth_config_request.py +254 -0
  68. volcenginesdkid/models/create_inbound_auth_config_response.py +357 -0
  69. volcenginesdkid/models/create_namespace_request.py +149 -0
  70. volcenginesdkid/models/create_namespace_response.py +175 -0
  71. volcenginesdkid/models/create_oauth2_credential_provider_request.py +206 -0
  72. volcenginesdkid/models/create_oauth2_credential_provider_response.py +175 -0
  73. volcenginesdkid/models/create_policy_request.py +149 -0
  74. volcenginesdkid/models/create_policy_response.py +175 -0
  75. volcenginesdkid/models/create_user_pool_client_request.py +230 -0
  76. volcenginesdkid/models/create_user_pool_client_response.py +461 -0
  77. volcenginesdkid/models/create_user_pool_request.py +150 -0
  78. volcenginesdkid/models/create_user_pool_response.py +383 -0
  79. volcenginesdkid/models/create_user_request.py +410 -0
  80. volcenginesdkid/models/create_user_response.py +773 -0
  81. volcenginesdkid/models/create_users_csv_request.py +124 -0
  82. volcenginesdkid/models/create_users_csv_response.py +201 -0
  83. volcenginesdkid/models/create_users_request.py +150 -0
  84. volcenginesdkid/models/create_users_response.py +201 -0
  85. volcenginesdkid/models/create_workload_identity_request.py +228 -0
  86. volcenginesdkid/models/create_workload_identity_response.py +305 -0
  87. volcenginesdkid/models/create_workload_pool_request.py +149 -0
  88. volcenginesdkid/models/create_workload_pool_response.py +253 -0
  89. volcenginesdkid/models/credential_provider_for_list_credential_providers_output.py +253 -0
  90. volcenginesdkid/models/custom_parameters_for_create_oauth2_credential_provider_input.py +123 -0
  91. volcenginesdkid/models/custom_parameters_for_get_oauth2_credential_provider_output.py +123 -0
  92. volcenginesdkid/models/custom_parameters_for_get_resource_oauth2_token_input.py +123 -0
  93. volcenginesdkid/models/custom_parameters_for_update_oauth2_credential_provider_input.py +123 -0
  94. volcenginesdkid/models/data_for_list_identity_providers_o_auth_output.py +409 -0
  95. volcenginesdkid/models/data_for_list_identity_providers_oidc_output.py +357 -0
  96. volcenginesdkid/models/data_for_list_identity_providers_output.py +227 -0
  97. volcenginesdkid/models/data_for_list_policies_output.py +175 -0
  98. volcenginesdkid/models/data_for_list_user_pool_clients_output.py +253 -0
  99. volcenginesdkid/models/data_for_list_user_pools_output.py +279 -0
  100. volcenginesdkid/models/data_for_list_users_output.py +773 -0
  101. volcenginesdkid/models/delete_api_key_credential_provider_request.py +150 -0
  102. volcenginesdkid/models/delete_api_key_credential_provider_response.py +95 -0
  103. volcenginesdkid/models/delete_api_key_request.py +151 -0
  104. volcenginesdkid/models/delete_api_key_response.py +95 -0
  105. volcenginesdkid/models/delete_identity_provider_o_auth_request.py +151 -0
  106. volcenginesdkid/models/delete_identity_provider_o_auth_response.py +123 -0
  107. volcenginesdkid/models/delete_identity_provider_oidc_request.py +151 -0
  108. volcenginesdkid/models/delete_identity_provider_oidc_response.py +123 -0
  109. volcenginesdkid/models/delete_identity_provider_request.py +151 -0
  110. volcenginesdkid/models/delete_identity_provider_response.py +123 -0
  111. volcenginesdkid/models/delete_inbound_auth_config_request.py +124 -0
  112. volcenginesdkid/models/delete_inbound_auth_config_response.py +95 -0
  113. volcenginesdkid/models/delete_namespace_request.py +123 -0
  114. volcenginesdkid/models/delete_namespace_response.py +149 -0
  115. volcenginesdkid/models/delete_oauth2_credential_provider_request.py +150 -0
  116. volcenginesdkid/models/delete_oauth2_credential_provider_response.py +95 -0
  117. volcenginesdkid/models/delete_policy_request.py +149 -0
  118. volcenginesdkid/models/delete_policy_response.py +149 -0
  119. volcenginesdkid/models/delete_user_pool_client_request.py +151 -0
  120. volcenginesdkid/models/delete_user_pool_client_response.py +123 -0
  121. volcenginesdkid/models/delete_user_pool_request.py +124 -0
  122. volcenginesdkid/models/delete_user_pool_response.py +123 -0
  123. volcenginesdkid/models/delete_users_request.py +150 -0
  124. volcenginesdkid/models/delete_users_response.py +201 -0
  125. volcenginesdkid/models/delete_workload_identity_request.py +150 -0
  126. volcenginesdkid/models/delete_workload_identity_response.py +95 -0
  127. volcenginesdkid/models/delete_workload_pool_request.py +123 -0
  128. volcenginesdkid/models/delete_workload_pool_response.py +95 -0
  129. volcenginesdkid/models/detach_inbound_auth_config_request.py +151 -0
  130. volcenginesdkid/models/detach_inbound_auth_config_response.py +95 -0
  131. volcenginesdkid/models/entity_for_check_permission_input.py +149 -0
  132. volcenginesdkid/models/entry_for_create_oauth2_credential_provider_input.py +149 -0
  133. volcenginesdkid/models/entry_for_get_oauth2_credential_provider_output.py +149 -0
  134. volcenginesdkid/models/entry_for_get_resource_oauth2_token_input.py +149 -0
  135. volcenginesdkid/models/entry_for_update_oauth2_credential_provider_input.py +149 -0
  136. volcenginesdkid/models/filter_for_list_identity_providers_input.py +149 -0
  137. volcenginesdkid/models/filter_for_list_user_pool_clients_input.py +175 -0
  138. volcenginesdkid/models/filter_for_list_user_pools_input.py +201 -0
  139. volcenginesdkid/models/filter_for_list_users_input.py +435 -0
  140. volcenginesdkid/models/get_api_key_credential_provider_request.py +150 -0
  141. volcenginesdkid/models/get_api_key_credential_provider_response.py +279 -0
  142. volcenginesdkid/models/get_identity_provider_o_auth_request.py +151 -0
  143. volcenginesdkid/models/get_identity_provider_o_auth_response.py +409 -0
  144. volcenginesdkid/models/get_identity_provider_oidc_request.py +151 -0
  145. volcenginesdkid/models/get_identity_provider_oidc_response.py +357 -0
  146. volcenginesdkid/models/get_inbound_auth_config_request.py +124 -0
  147. volcenginesdkid/models/get_inbound_auth_config_response.py +357 -0
  148. volcenginesdkid/models/get_namespace_request.py +149 -0
  149. volcenginesdkid/models/get_namespace_response.py +201 -0
  150. volcenginesdkid/models/get_oauth2_credential_provider_request.py +150 -0
  151. volcenginesdkid/models/get_oauth2_credential_provider_response.py +305 -0
  152. volcenginesdkid/models/get_policy_request.py +149 -0
  153. volcenginesdkid/models/get_policy_response.py +175 -0
  154. volcenginesdkid/models/get_resource_api_key_request.py +177 -0
  155. volcenginesdkid/models/get_resource_api_key_response.py +149 -0
  156. volcenginesdkid/models/get_resource_oauth2_token_request.py +307 -0
  157. volcenginesdkid/models/get_resource_oauth2_token_response.py +149 -0
  158. volcenginesdkid/models/get_user_csv_template_request.py +124 -0
  159. volcenginesdkid/models/get_user_csv_template_response.py +95 -0
  160. volcenginesdkid/models/get_user_pool_client_request.py +151 -0
  161. volcenginesdkid/models/get_user_pool_client_response.py +461 -0
  162. volcenginesdkid/models/get_user_pool_request.py +124 -0
  163. volcenginesdkid/models/get_user_pool_response.py +383 -0
  164. volcenginesdkid/models/get_user_request.py +151 -0
  165. volcenginesdkid/models/get_user_response.py +773 -0
  166. volcenginesdkid/models/get_workload_access_token_for_jwt_request.py +176 -0
  167. volcenginesdkid/models/get_workload_access_token_for_jwt_response.py +149 -0
  168. volcenginesdkid/models/get_workload_access_token_for_user_id_request.py +176 -0
  169. volcenginesdkid/models/get_workload_access_token_for_user_id_response.py +149 -0
  170. volcenginesdkid/models/get_workload_access_token_request.py +149 -0
  171. volcenginesdkid/models/get_workload_access_token_response.py +149 -0
  172. volcenginesdkid/models/get_workload_identity_request.py +150 -0
  173. volcenginesdkid/models/get_workload_identity_response.py +305 -0
  174. volcenginesdkid/models/get_workload_pool_request.py +149 -0
  175. volcenginesdkid/models/get_workload_pool_response.py +253 -0
  176. volcenginesdkid/models/grant_permission_request.py +228 -0
  177. volcenginesdkid/models/grant_permission_response.py +175 -0
  178. volcenginesdkid/models/id_token_for_create_user_pool_client_output.py +123 -0
  179. volcenginesdkid/models/id_token_for_get_user_pool_client_output.py +123 -0
  180. volcenginesdkid/models/id_token_for_update_user_pool_client_input.py +123 -0
  181. volcenginesdkid/models/id_token_for_update_user_pool_client_output.py +123 -0
  182. volcenginesdkid/models/inbound_auth_config_for_batch_get_inbound_auth_config_output.py +357 -0
  183. volcenginesdkid/models/inbound_auth_config_for_list_inbound_auth_configs_output.py +357 -0
  184. volcenginesdkid/models/jwt_auth_config_for_batch_get_inbound_auth_config_output.py +175 -0
  185. volcenginesdkid/models/jwt_auth_config_for_create_inbound_auth_config_input.py +175 -0
  186. volcenginesdkid/models/jwt_auth_config_for_create_inbound_auth_config_output.py +175 -0
  187. volcenginesdkid/models/jwt_auth_config_for_get_inbound_auth_config_output.py +175 -0
  188. volcenginesdkid/models/jwt_auth_config_for_list_inbound_auth_configs_output.py +175 -0
  189. volcenginesdkid/models/jwt_auth_config_for_update_inbound_auth_config_input.py +175 -0
  190. volcenginesdkid/models/list_api_key_credential_providers_request.py +177 -0
  191. volcenginesdkid/models/list_api_key_credential_providers_response.py +201 -0
  192. volcenginesdkid/models/list_credential_providers_request.py +177 -0
  193. volcenginesdkid/models/list_credential_providers_response.py +201 -0
  194. volcenginesdkid/models/list_identity_providers_o_auth_request.py +124 -0
  195. volcenginesdkid/models/list_identity_providers_o_auth_response.py +201 -0
  196. volcenginesdkid/models/list_identity_providers_oidc_request.py +124 -0
  197. volcenginesdkid/models/list_identity_providers_oidc_response.py +201 -0
  198. volcenginesdkid/models/list_identity_providers_request.py +204 -0
  199. volcenginesdkid/models/list_identity_providers_response.py +201 -0
  200. volcenginesdkid/models/list_inbound_auth_configs_request.py +203 -0
  201. volcenginesdkid/models/list_inbound_auth_configs_response.py +201 -0
  202. volcenginesdkid/models/list_namespaces_request.py +149 -0
  203. volcenginesdkid/models/list_namespaces_response.py +201 -0
  204. volcenginesdkid/models/list_oauth2_credential_providers_request.py +177 -0
  205. volcenginesdkid/models/list_oauth2_credential_providers_response.py +201 -0
  206. volcenginesdkid/models/list_policies_request.py +123 -0
  207. volcenginesdkid/models/list_policies_response.py +123 -0
  208. volcenginesdkid/models/list_user_pool_clients_request.py +256 -0
  209. volcenginesdkid/models/list_user_pool_clients_response.py +201 -0
  210. volcenginesdkid/models/list_user_pools_request.py +229 -0
  211. volcenginesdkid/models/list_user_pools_response.py +201 -0
  212. volcenginesdkid/models/list_users_request.py +256 -0
  213. volcenginesdkid/models/list_users_response.py +201 -0
  214. volcenginesdkid/models/list_workload_identities_request.py +209 -0
  215. volcenginesdkid/models/list_workload_identities_response.py +201 -0
  216. volcenginesdkid/models/list_workload_pools_request.py +157 -0
  217. volcenginesdkid/models/list_workload_pools_response.py +201 -0
  218. volcenginesdkid/models/oauth2_callback_request.py +178 -0
  219. volcenginesdkid/models/oauth2_callback_response.py +123 -0
  220. volcenginesdkid/models/oauth2_credential_provider_for_batch_get_oauth2_credential_providers_output.py +227 -0
  221. volcenginesdkid/models/oauth2_credential_provider_for_list_oauth2_credential_providers_output.py +227 -0
  222. volcenginesdkid/models/oauth2_discovery_for_create_oauth2_credential_provider_input.py +149 -0
  223. volcenginesdkid/models/oauth2_discovery_for_get_oauth2_credential_provider_output.py +149 -0
  224. volcenginesdkid/models/oauth2_discovery_for_update_oauth2_credential_provider_input.py +149 -0
  225. volcenginesdkid/models/operation_for_check_permission_input.py +149 -0
  226. volcenginesdkid/models/operation_for_grant_permission_input.py +175 -0
  227. volcenginesdkid/models/original_caller_for_check_permission_input.py +149 -0
  228. volcenginesdkid/models/original_caller_for_grant_permission_input.py +175 -0
  229. volcenginesdkid/models/parent_for_check_permission_input.py +149 -0
  230. volcenginesdkid/models/principal_for_check_permission_input.py +149 -0
  231. volcenginesdkid/models/principal_for_grant_permission_input.py +175 -0
  232. volcenginesdkid/models/provider_options_for_create_identity_provider_o_auth_input.py +227 -0
  233. volcenginesdkid/models/provider_options_for_create_identity_provider_o_auth_output.py +227 -0
  234. volcenginesdkid/models/provider_options_for_create_identity_provider_oidc_input.py +227 -0
  235. volcenginesdkid/models/provider_options_for_create_identity_provider_oidc_output.py +227 -0
  236. volcenginesdkid/models/provider_options_for_get_identity_provider_o_auth_output.py +227 -0
  237. volcenginesdkid/models/provider_options_for_get_identity_provider_oidc_output.py +227 -0
  238. volcenginesdkid/models/provider_options_for_list_identity_providers_o_auth_output.py +227 -0
  239. volcenginesdkid/models/provider_options_for_list_identity_providers_oidc_output.py +227 -0
  240. volcenginesdkid/models/provider_options_for_update_identity_provider_o_auth_input.py +227 -0
  241. volcenginesdkid/models/provider_options_for_update_identity_provider_o_auth_output.py +227 -0
  242. volcenginesdkid/models/provider_options_for_update_identity_provider_oidc_input.py +227 -0
  243. volcenginesdkid/models/provider_options_for_update_identity_provider_oidc_output.py +227 -0
  244. volcenginesdkid/models/reference_for_check_permission_input.py +149 -0
  245. volcenginesdkid/models/refresh_token_for_create_user_pool_client_output.py +227 -0
  246. volcenginesdkid/models/refresh_token_for_get_user_pool_client_output.py +227 -0
  247. volcenginesdkid/models/refresh_token_for_update_user_pool_client_input.py +227 -0
  248. volcenginesdkid/models/refresh_token_for_update_user_pool_client_output.py +227 -0
  249. volcenginesdkid/models/resource_for_check_permission_input.py +149 -0
  250. volcenginesdkid/models/resource_for_grant_permission_input.py +175 -0
  251. volcenginesdkid/models/update_api_key_credential_provider_request.py +202 -0
  252. volcenginesdkid/models/update_api_key_credential_provider_response.py +227 -0
  253. volcenginesdkid/models/update_identity_provider_o_auth_request.py +440 -0
  254. volcenginesdkid/models/update_identity_provider_o_auth_response.py +409 -0
  255. volcenginesdkid/models/update_identity_provider_oidc_request.py +388 -0
  256. volcenginesdkid/models/update_identity_provider_oidc_response.py +357 -0
  257. volcenginesdkid/models/update_inbound_auth_config_request.py +202 -0
  258. volcenginesdkid/models/update_inbound_auth_config_response.py +95 -0
  259. volcenginesdkid/models/update_namespace_request.py +149 -0
  260. volcenginesdkid/models/update_namespace_response.py +149 -0
  261. volcenginesdkid/models/update_oauth2_credential_provider_request.py +176 -0
  262. volcenginesdkid/models/update_oauth2_credential_provider_response.py +227 -0
  263. volcenginesdkid/models/update_user_pool_client_request.py +359 -0
  264. volcenginesdkid/models/update_user_pool_client_response.py +461 -0
  265. volcenginesdkid/models/update_user_pool_request.py +176 -0
  266. volcenginesdkid/models/update_user_pool_response.py +383 -0
  267. volcenginesdkid/models/update_user_request.py +411 -0
  268. volcenginesdkid/models/update_user_response.py +773 -0
  269. volcenginesdkid/models/update_workload_identity_request.py +202 -0
  270. volcenginesdkid/models/update_workload_identity_response.py +95 -0
  271. volcenginesdkid/models/update_workload_pool_request.py +149 -0
  272. volcenginesdkid/models/update_workload_pool_response.py +95 -0
  273. volcenginesdkid/models/user_for_create_users_input.py +383 -0
  274. volcenginesdkid/models/workload_identity_for_list_workload_identities_output.py +305 -0
  275. volcenginesdkid/models/workload_pool_for_list_workload_pools_output.py +253 -0
  276. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/WHEEL +0 -0
  277. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/licenses/LICENSE.txt +0 -0
  278. {volcengine_python_sdk-4.0.27.dist-info → volcengine_python_sdk-4.0.29.dist-info}/licenses/NOTICE.md +0 -0
@@ -0,0 +1,209 @@
1
+ from __future__ import annotations
2
+ from .._constants import ARK_E2E_ENCRYPTION_HEADER
3
+ from .._streaming import Stream, AsyncStream
4
+ from ..types.chat import (
5
+ ChatCompletion,
6
+ ChatCompletionChunk,
7
+ )
8
+
9
+ import os
10
+ import json
11
+ import warnings
12
+ from copy import deepcopy
13
+ from typing import (
14
+ Union,
15
+ Iterable,
16
+ Callable,
17
+ Iterator,
18
+ AsyncIterator,
19
+ )
20
+
21
+ from .._utils._key_agreement import aes_gcm_decrypt_base64_string, aes_gcm_decrypt_base64_list, decrypt_validate
22
+
23
+
24
+ def _decrypt_chunk(
25
+ key: bytes, nonce: bytes, resp: Stream[ChatCompletionChunk]
26
+ ) -> Iterator[ChatCompletionChunk]:
27
+ for chunk in resp:
28
+ if chunk.choices is not None:
29
+ for index, choice in enumerate(chunk.choices):
30
+ if (
31
+ choice.delta is not None and choice.delta.content is not None
32
+ and choice.finish_reason != 'content_filter'
33
+ ):
34
+ choice.delta.content = aes_gcm_decrypt_base64_string(
35
+ key, nonce, choice.delta.content
36
+ )
37
+ chunk.choices[index] = choice
38
+ yield chunk
39
+
40
+
41
+ async def _async_decrypt_chunk(
42
+ key: bytes, nonce: bytes, resp: AsyncStream[ChatCompletionChunk]
43
+ ) -> AsyncIterator[ChatCompletionChunk]:
44
+ async for chunk in resp:
45
+ if chunk.choices is not None:
46
+ for index, choice in enumerate(chunk.choices):
47
+ if (
48
+ choice.delta is not None and choice.delta.content is not None
49
+ and choice.finish_reason != 'content_filter'
50
+ ):
51
+ choice.delta.content = aes_gcm_decrypt_base64_string(
52
+ key, nonce, choice.delta.content
53
+ )
54
+ chunk.choices[index] = choice
55
+ yield chunk
56
+
57
+
58
+ def _decrypt(
59
+ key: bytes,
60
+ nonce: bytes,
61
+ resp: Union[ChatCompletion, Stream[ChatCompletionChunk]]
62
+ ) -> ChatCompletion | Stream[ChatCompletionChunk]:
63
+ if isinstance(resp, ChatCompletion):
64
+ if resp.choices is not None:
65
+ for index, choice in enumerate(resp.choices):
66
+ if (
67
+ choice.message is not None and choice.finish_reason != 'content_filter'
68
+ and choice.message.content is not None
69
+ ):
70
+ try:
71
+ content = aes_gcm_decrypt_base64_string(
72
+ key, nonce, choice.message.content
73
+ )
74
+ except Exception:
75
+ content = ''
76
+ if content == '' or not decrypt_validate(choice.message.content):
77
+ content = aes_gcm_decrypt_base64_list(
78
+ key, nonce, choice.message.content
79
+ )
80
+ choice.message.content = content
81
+ resp.choices[index] = choice
82
+ return resp
83
+ else:
84
+ return Stream._make_stream_from_iterator(
85
+ _decrypt_chunk(key, nonce, resp)
86
+ )
87
+
88
+
89
+ async def _async_decrypt(
90
+ key: bytes,
91
+ nonce: bytes,
92
+ resp: ChatCompletion | AsyncStream[ChatCompletionChunk],
93
+ ) -> ChatCompletion | AsyncStream[ChatCompletionChunk]:
94
+ if isinstance(resp, ChatCompletion):
95
+ if resp.choices is not None:
96
+ for index, choice in enumerate(resp.choices):
97
+ if (
98
+ choice.message is not None and choice.finish_reason != 'content_filter'
99
+ and choice.message.content is not None
100
+ ):
101
+ try:
102
+ content = aes_gcm_decrypt_base64_string(
103
+ key, nonce, choice.message.content
104
+ )
105
+ except Exception:
106
+ content = ''
107
+ if content == '' or not decrypt_validate(choice.message.content):
108
+ content = aes_gcm_decrypt_base64_list(
109
+ key, nonce, choice.message.content
110
+ )
111
+ choice.message.content = content
112
+ resp.choices[index] = choice
113
+ return resp
114
+ else:
115
+ return AsyncStream._make_stream_from_iterator(
116
+ _async_decrypt_chunk(key, nonce, resp)
117
+ )
118
+
119
+
120
+ def with_e2e_encryption(func):
121
+ def wrapper(*args, **kwargs):
122
+ is_encrypt, _crypto_key, _crypto_nonce = _content_encryption(
123
+ args, kwargs)
124
+ resp = func(*args, **kwargs)
125
+ if is_encrypt:
126
+ resp = _decrypt(_crypto_key, _crypto_nonce, resp)
127
+ return resp
128
+
129
+ return wrapper
130
+
131
+
132
+ def async_with_e2e_encryption(func):
133
+ async def wrapper(*args, **kwargs):
134
+ is_encrypt, _crypto_key, _crypto_nonce = _content_encryption(
135
+ args, kwargs)
136
+ resp = await func(*args, **kwargs)
137
+ if is_encrypt:
138
+ resp = await _async_decrypt(_crypto_key, _crypto_nonce, resp)
139
+ return resp
140
+
141
+ return wrapper
142
+
143
+
144
+ def _content_encryption(args, kwargs):
145
+ assert len(args) > 0
146
+ extra_headers = (
147
+ kwargs.get("extra_headers") if kwargs.get("extra_headers") else {}
148
+ )
149
+ if (
150
+ extra_headers is not None
151
+ and extra_headers.get(ARK_E2E_ENCRYPTION_HEADER, None) == "true"
152
+ ):
153
+ model: str = kwargs.get("model", "")
154
+ messages = deepcopy(kwargs["messages"])
155
+ ark_client = args[0]._client
156
+ client, ring_id, key_id, exp_time = ark_client._get_endpoint_certificate(
157
+ model)
158
+ _crypto_key, _crypto_nonce, session_token = client.generate_ecies_key_pair()
159
+ extra_headers["X-Session-Token"] = session_token
160
+ _process_messages(
161
+ messages,
162
+ lambda x: client.encrypt_string_with_key(
163
+ _crypto_key, _crypto_nonce, x),
164
+ )
165
+ info = {"ExpireTime": exp_time}
166
+ if os.environ.get("VOLC_ARK_ENCRYPTION") == "AICC":
167
+ info["Version"] = 'AICCv0.1'
168
+ info["KeyID"] = key_id
169
+ info["RingID"] = ring_id
170
+ extra_headers["X-Encrypt-Info"] = json.dumps(info)
171
+ kwargs["extra_headers"] = {**extra_headers}
172
+ kwargs["messages"] = messages
173
+ return True, _crypto_key, _crypto_nonce
174
+ return False, None, None
175
+
176
+
177
+ def _process_messages(
178
+ messages, f: Callable[[str], str]
179
+ ):
180
+ for message in messages:
181
+ if message.get("content", None) is not None:
182
+ current_content = message.get("content")
183
+ if isinstance(current_content, str):
184
+ message["content"] = f(current_content)
185
+ elif isinstance(current_content, Iterable):
186
+ for part in current_content:
187
+ if part.get("type", None) == "text":
188
+ part["text"] = f(part["text"])
189
+ elif part.get("type", None) == "image_url":
190
+ if part["image_url"]["url"].startswith("data:"):
191
+ part["image_url"]["url"] = f(
192
+ part["image_url"]["url"])
193
+ else:
194
+ warnings.warn(
195
+ "encryption is not supported for image url, "
196
+ "please use base64 image if you want encryption"
197
+ )
198
+ else:
199
+ raise TypeError(
200
+ "encryption is not supported for content type {}".format(
201
+ type(part)
202
+ )
203
+ )
204
+ else:
205
+ raise TypeError(
206
+ "encryption is not supported for content type {}".format(
207
+ type(message.get("content"))
208
+ )
209
+ )
@@ -21,10 +21,11 @@ from ..._types import NOT_GIVEN, NotGiven
21
21
  from ..._base_client import make_request_options
22
22
  from ..._utils._utils import apikey_required, async_apikey_required
23
23
  from ..._resource import SyncAPIResource, AsyncAPIResource
24
- from ...types.images import SequentialImageGenerationOptions, ImagesResponse
24
+ from ...types.images import OptimizePromptOptions, SequentialImageGenerationOptions, ImagesResponse
25
25
  from ...types.images.image_gen_stream_event import ImageGenStreamEvent
26
26
  from ..._types import Body, Query, Headers
27
27
  from ..._streaming import Stream
28
+ from ...types.images.images import OptimizePromptOptions
28
29
 
29
30
 
30
31
  class Images(SyncAPIResource):
@@ -41,6 +42,7 @@ class Images(SyncAPIResource):
41
42
  guidance_scale: float | None = None,
42
43
  watermark: bool | None = None,
43
44
  optimize_prompt: bool | None = None,
45
+ optimize_prompt_options: OptimizePromptOptions | None = None,
44
46
  extra_headers: Headers | None = None,
45
47
  extra_query: Query | None = None,
46
48
  extra_body: Body | None = None,
@@ -72,6 +74,7 @@ class Images(SyncAPIResource):
72
74
  guidance_scale: float | None = None,
73
75
  watermark: bool | None = None,
74
76
  optimize_prompt: bool | None = None,
77
+ optimize_prompt_options: OptimizePromptOptions | None = None,
75
78
  extra_headers: Headers | None = None,
76
79
  extra_query: Query | None = None,
77
80
  extra_body: Body | None = None,
@@ -95,6 +98,7 @@ class Images(SyncAPIResource):
95
98
  guidance_scale: float | None = None,
96
99
  watermark: bool | None = None,
97
100
  optimize_prompt: bool | None = None,
101
+ optimize_prompt_options: OptimizePromptOptions | None = None,
98
102
  extra_headers: Headers | None = None,
99
103
  extra_query: Query | None = None,
100
104
  extra_body: Body | None = None,
@@ -118,6 +122,7 @@ class Images(SyncAPIResource):
118
122
  guidance_scale: float | None = None,
119
123
  watermark: bool | None = None,
120
124
  optimize_prompt: bool | None = None,
125
+ optimize_prompt_options: OptimizePromptOptions | None = None,
121
126
  extra_headers: Headers | None = None,
122
127
  extra_query: Query | None = None,
123
128
  extra_body: Body | None = None,
@@ -138,6 +143,10 @@ class Images(SyncAPIResource):
138
143
  "guidance_scale": guidance_scale,
139
144
  "watermark": watermark,
140
145
  "optimize_prompt": optimize_prompt,
146
+ "optimize_prompt_options": (
147
+ optimize_prompt_options.model_dump(mode="json")
148
+ if optimize_prompt_options is not None else None
149
+ ),
141
150
  "sequential_image_generation": sequential_image_generation,
142
151
  "sequential_image_generation_options": (
143
152
  sequential_image_generation_options.model_dump(mode="json")
@@ -162,70 +171,73 @@ class Images(SyncAPIResource):
162
171
  class AsyncImages(AsyncAPIResource):
163
172
  @overload
164
173
  async def generate(
165
- self,
166
- *,
167
- model: str,
168
- prompt: str,
169
- image: str | list[str] | None = None,
170
- response_format: str | None = None,
171
- size: str | None = None,
172
- seed: int | None = None,
173
- guidance_scale: float | None = None,
174
- watermark: bool | None = None,
175
- optimize_prompt: bool | None = None,
176
- extra_headers: Headers | None = None,
177
- extra_query: Query | None = None,
178
- extra_body: Body | None = None,
179
- timeout: float | httpx.Timeout | None = None,
180
- sequential_image_generation: str | None = None,
181
- sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
182
- stream: Optional[Literal[False]] | NotGiven = NOT_GIVEN,
174
+ self,
175
+ *,
176
+ model: str,
177
+ prompt: str,
178
+ image: str | list[str] | None = None,
179
+ response_format: str | None = None,
180
+ size: str | None = None,
181
+ seed: int | None = None,
182
+ guidance_scale: float | None = None,
183
+ watermark: bool | None = None,
184
+ optimize_prompt: bool | None = None,
185
+ optimize_prompt_options: OptimizePromptOptions | None = None,
186
+ extra_headers: Headers | None = None,
187
+ extra_query: Query | None = None,
188
+ extra_body: Body | None = None,
189
+ timeout: float | httpx.Timeout | None = None,
190
+ sequential_image_generation: str | None = None,
191
+ sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
192
+ stream: Optional[Literal[False]] | NotGiven = NOT_GIVEN,
183
193
  ) -> ImagesResponse:
184
194
  ...
185
195
 
186
196
  @overload
187
197
  async def generate(
188
- self,
189
- *,
190
- model: str,
191
- prompt: str,
192
- image: str | list[str] | None = None,
193
- response_format: str | None = None,
194
- size: str | None = None,
195
- seed: int | None = None,
196
- guidance_scale: float | None = None,
197
- watermark: bool | None = None,
198
- optimize_prompt: bool | None = None,
199
- extra_headers: Headers | None = None,
200
- extra_query: Query | None = None,
201
- extra_body: Body | None = None,
202
- timeout: float | httpx.Timeout | None = None,
203
- sequential_image_generation: str | None = None,
204
- sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
205
- stream: Literal[True],
198
+ self,
199
+ *,
200
+ model: str,
201
+ prompt: str,
202
+ image: str | list[str] | None = None,
203
+ response_format: str | None = None,
204
+ size: str | None = None,
205
+ seed: int | None = None,
206
+ guidance_scale: float | None = None,
207
+ watermark: bool | None = None,
208
+ optimize_prompt: bool | None = None,
209
+ optimize_prompt_options: OptimizePromptOptions | None = None,
210
+ extra_headers: Headers | None = None,
211
+ extra_query: Query | None = None,
212
+ extra_body: Body | None = None,
213
+ timeout: float | httpx.Timeout | None = None,
214
+ sequential_image_generation: str | None = None,
215
+ sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
216
+ stream: Literal[True],
206
217
  ) -> Stream[ImageGenStreamEvent]:
207
218
  ...
208
219
 
209
220
  @overload
210
221
  async def generate(
211
- self,
212
- *,
213
- model: str,
214
- prompt: str,
215
- image: str | list[str] | None = None,
216
- response_format: str | None = None,
217
- size: str | None = None,
218
- seed: int | None = None,
219
- guidance_scale: float | None = None,
220
- watermark: bool | None = None,
221
- optimize_prompt: bool | None = None,
222
- extra_headers: Headers | None = None,
223
- extra_query: Query | None = None,
224
- extra_body: Body | None = None,
225
- timeout: float | httpx.Timeout | None = None,
226
- sequential_image_generation: str | None = None,
227
- sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
228
- stream: bool,
222
+ self,
223
+ *,
224
+ model: str,
225
+ prompt: str,
226
+ image: str | list[str] | None = None,
227
+ response_format: str | None = None,
228
+ size: str | None = None,
229
+ seed: int | None = None,
230
+ guidance_scale: float | None = None,
231
+ watermark: bool | None = None,
232
+ optimize_prompt: bool | None = None,
233
+ optimize_prompt_options: OptimizePromptOptions | None = None,
234
+ extra_headers: Headers | None = None,
235
+ extra_query: Query | None = None,
236
+ extra_body: Body | None = None,
237
+ timeout: float | httpx.Timeout | None = None,
238
+ sequential_image_generation: str | None = None,
239
+ sequential_image_generation_options: SequentialImageGenerationOptions | None = None,
240
+ stream: bool,
229
241
  ) -> ImagesResponse | Stream[ImageGenStreamEvent]:
230
242
  ...
231
243
 
@@ -242,6 +254,7 @@ class AsyncImages(AsyncAPIResource):
242
254
  guidance_scale: float | None = None,
243
255
  watermark: bool | None = None,
244
256
  optimize_prompt: bool | None = None,
257
+ optimize_prompt_options: OptimizePromptOptions | None = None,
245
258
  extra_headers: Headers | None = None,
246
259
  extra_query: Query | None = None,
247
260
  extra_body: Body | None = None,
@@ -262,6 +275,10 @@ class AsyncImages(AsyncAPIResource):
262
275
  "guidance_scale": guidance_scale,
263
276
  "watermark": watermark,
264
277
  "optimize_prompt": optimize_prompt,
278
+ "optimize_prompt_options": (
279
+ optimize_prompt_options.model_dump(mode="json")
280
+ if optimize_prompt_options is not None else None
281
+ ),
265
282
  "sequential_image_generation": sequential_image_generation,
266
283
  "sequential_image_generation_options": (
267
284
  sequential_image_generation_options.model_dump(mode="json")
@@ -27,6 +27,9 @@ class Content(BaseModel):
27
27
  last_frame_url: str
28
28
  """The URL of the last frame of the generated video, if any."""
29
29
 
30
+ file_url: str
31
+ """The URL of the generated file, if any."""
32
+
30
33
 
31
34
  class ContentGenerationError(BaseModel):
32
35
  message: str
@@ -55,6 +58,18 @@ class ContentGenerationTask(BaseModel):
55
58
  usage: Usage
56
59
  """The usage information for the task."""
57
60
 
61
+ subdivisionlevel: str
62
+ """The subdivision level of the task."""
63
+
64
+ fileformat: str
65
+ """The file format of the generated content."""
66
+
67
+ frames: int
68
+ """The number of frames in the generated content."""
69
+
70
+ framespersecond: int
71
+ """The number of frames per second in the generated content."""
72
+
58
73
  created_at: int
59
74
  """The Unix timestamp when the task was created."""
60
75
 
@@ -10,7 +10,7 @@
10
10
  #
11
11
  # This modified file is released under the same license.
12
12
 
13
- from .images import SequentialImageGenerationOptions, ImagesResponse
13
+ from .images import OptimizePromptOptions, SequentialImageGenerationOptions, ImagesResponse
14
14
 
15
15
 
16
- __all__ = ["SequentialImageGenerationOptions", "ImagesResponse"]
16
+ __all__ = ["OptimizePromptOptions", "SequentialImageGenerationOptions", "ImagesResponse"]
@@ -14,13 +14,19 @@ from typing import List, Optional
14
14
 
15
15
  from volcenginesdkarkruntime._models import BaseModel
16
16
 
17
- __all__ = ["SequentialImageGenerationOptions", "ImagesResponse"]
17
+ __all__ = ["OptimizePromptOptions", "SequentialImageGenerationOptions", "ImagesResponse"]
18
+
19
+
20
+ class OptimizePromptOptions(BaseModel):
21
+ thinking: Optional[str] = None
22
+ mode: Optional[str] = None
18
23
 
19
24
 
20
25
  class SequentialImageGenerationOptions(BaseModel):
21
26
  max_images: Optional[int] = None
22
27
  """ Maximum number of images to generate in this request; effective only when the multi-image feature is enabled """
23
28
 
29
+
24
30
  class Usage(BaseModel):
25
31
  generated_images: int
26
32
  """The number of images generated."""
@@ -0,0 +1,17 @@
1
+
2
+ # Copyright (c) [2025] [OpenAI]
3
+ # Copyright (c) [2025] [ByteDance Ltd. and/or its affiliates.]
4
+ # SPDX-License-Identifier: Apache-2.0
5
+ #
6
+ # This file has been modified by [ByteDance Ltd. and/or its affiliates.] on 2025.7
7
+ #
8
+ # Original file was released under Apache License Version 2.0, with the full license text
9
+ # available at https://github.com/openai/openai-python/blob/main/LICENSE.
10
+ #
11
+ # This modified file is released under the same license.
12
+ from typing import Optional
13
+ from typing_extensions import Literal, TypeAlias
14
+
15
+ __all__ = ["ReasoningEffort"]
16
+
17
+ ReasoningEffort: TypeAlias = Optional[Literal["minimal", "low", "medium", "high"]]
@@ -64,7 +64,7 @@ class ApiClient(object):
64
64
  self.default_headers[header_name] = header_value
65
65
  self.cookie = cookie
66
66
  # Set default User-Agent.
67
- self.user_agent = 'volcstack-python-sdk/4.0.27'
67
+ self.user_agent = 'volcstack-python-sdk/4.0.29'
68
68
  self.client_side_validation = configuration.client_side_validation
69
69
 
70
70
  self.interceptor_chain = InterceptorChain()
@@ -272,7 +272,7 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
272
272
  "OS: {env}\n" \
273
273
  "Python Version: {pyversion}\n" \
274
274
  "Version of the API: 0.1.0\n" \
275
- "SDK Package Version: 4.0.27".\
275
+ "SDK Package Version: 4.0.29".\
276
276
  format(env=sys.platform, pyversion=sys.version)
277
277
 
278
278
  @property