Commit 3afcfb27

hallacy <hallacy@openai.com>
2023-01-07 04:27:49
Allow passing of api_key in image.create (#163)
* Allow passing of api_key in image.create * Add async support
1 parent ede0882
Changed files (1)
openai
api_resources
openai/api_resources/image.py
@@ -16,15 +16,59 @@ class Image(APIResource):
     @classmethod
     def create(
         cls,
+        api_key=None,
+        api_base=None,
+        api_type=None,
+        api_version=None,
+        organization=None,
         **params,
     ):
-        instance = cls()
-        return instance.request("post", cls._get_url("generations"), params)
+        requestor = api_requestor.APIRequestor(
+            api_key,
+            api_base=api_base or openai.api_base,
+            api_type=api_type,
+            api_version=api_version,
+            organization=organization,
+        )
+
+        _, api_version = cls._get_api_type_and_version(api_type, api_version)
+
+        response, _, api_key = requestor.request(
+            "post", cls._get_url("generations"), params
+        )
+
+        return util.convert_to_openai_object(
+            response, api_key, api_version, organization
+        )
 
     @classmethod
-    def acreate(cls, **params):
-        instance = cls()
-        return instance.arequest("post", cls._get_url("generations"), params)
+    async def acreate(
+        cls,
+        api_key=None,
+        api_base=None,
+        api_type=None,
+        api_version=None,
+        organization=None,
+        **params,
+    ):
+
+        requestor = api_requestor.APIRequestor(
+            api_key,
+            api_base=api_base or openai.api_base,
+            api_type=api_type,
+            api_version=api_version,
+            organization=organization,
+        )
+
+        _, api_version = cls._get_api_type_and_version(api_type, api_version)
+
+        response, _, api_key = await requestor.arequest(
+            "post", cls._get_url("generations"), params
+        )
+
+        return util.convert_to_openai_object(
+            response, api_key, api_version, organization
+        )
 
     @classmethod
     def _prepare_create_variation(