diff --git a/README.md b/README.md index 178e47c..e4c7947 100644 --- a/README.md +++ b/README.md @@ -8,19 +8,84 @@ ## Overview -[//]: # (TODO: Add overview mentioning the purpose of the module, supported REST API versions, and other high-level details.) +[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation. + +The `ballarinax/openai.images` package offers APIs to connect and interact with [OpenAI REST API v1](https://platform.openai.com/docs/api-reference/images/create) providing access to the new DALL.E models developed by OpenAI for various image-related tasks. ## Setup guide -[//]: # (TODO: Add detailed steps to obtain credentials and configure the module.) +To use the OpenAI Connector, you must have access to the OpenAI API through a [OpenAI Platform account](https://platform.openai.com) and a project under it. If you do not have a OpenAI Platform account, you can sign up for one [here](https://platform.openai.com/signup). + +1. Open the [OpenAI Platform Dashboard](https://platform.openai.com). + +2. Navigate to Dashboard -> API keys +OpenAI Platform + +3. Click on the "Create new secret key" button +OpenAI Platform + +4. Fill the details and click on Create secret key +OpenAI Platform + +5. Store the API key securely to use in your application +OpenAI Platform ## Quickstart -[//]: # (TODO: Add a quickstart guide to demonstrate a basic functionality of the module, including sample code snippets.) +To use the `OpenAI Images` connector in your Ballerina application, update the `.bal` file as follows: + +### Step 1: Import the module + +Import the `openai.images` module. + +```ballerina +import ballerinax/openai.images; +``` + +### Step 2: Instantiate a new connector + +Create a `images:ConnectionConfig` with the obtained API Key and initialize the connector. + +```ballerina +configurable string apiKey = ?; + +final images:Client openaiImages = check new({ + auth: { + apiKey + } +}); +``` + +### Step 3: Invoke the connector operation + +Now, utilize the available connector operations. + +#### Generate a image + +```ballerina +public function main() returns error? { + + images:CreateImageRequest request = { + prompt: "A cute baby sea otter", + model: "dall-e-3", + n: 1, + size: "1024x1024", + response_format: "url" + }; + + ImageResponse response = check openaiImages->/images/generations.post(request); +} +``` + +### Step 4: Run the Ballerina application + +```bash +bal run +``` ## Examples -The `OpenAI Images` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-openai.images/tree/main/examples/), covering the following use cases: +The `OpenAI Images` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-openai-images/tree/main/examples/), covering the following use cases: [//]: # (TODO: Add examples) diff --git a/ballerina/Module.md b/ballerina/Module.md index 7e0031d..6003c79 100644 --- a/ballerina/Module.md +++ b/ballerina/Module.md @@ -1,17 +1,77 @@ ## Overview -[//]: # (TODO: Add overview mentioning the purpose of the module, supported REST API versions, and other high-level details.) +[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation. + +The `ballarinax/openai.images` package offers APIs to connect and interact with [OpenAI REST API v1](https://platform.openai.com/docs/api-reference/images/create) providing access to the new DALL.E models developed by OpenAI for various image-related tasks. ## Setup guide -[//]: # (TODO: Add detailed steps to obtain credentials and configure the module.) +To use the OpenAI Connector, you must have access to the OpenAI API through a [OpenAI Platform account](https://platform.openai.com) and a project under it. If you do not have a OpenAI Platform account, you can sign up for one [here](https://platform.openai.com/signup). + +1. Open the [OpenAI Platform Dashboard](https://platform.openai.com). + +2. Navigate to Dashboard -> API keys +OpenAI Platform + +3. Click on the "Create new secret key" button +OpenAI Platform + +4. Fill the details and click on Create secret key +OpenAI Platform + +5. Store the API key securely to use in your application +OpenAI Platform ## Quickstart -[//]: # (TODO: Add a quickstart guide to demonstrate a basic functionality of the module, including sample code snippets.) +To use the `OpenAI Images` connector in your Ballerina application, update the `.bal` file as follows: + +### Step 1: Import the module + +Import the `openai.images` module. + +```ballerina +import ballerinax/openai.images; +``` + +### Step 2: Instantiate a new connector + +Create a `images:ConnectionConfig` with the obtained API Key and initialize the connector. + +```ballerina +configurable string apiKey = ?; + +final images:Client openaiImages = check new({ + auth: { + apiKey + } +}); +``` + +### Step 3: Invoke the connector operation + +Now, utilize the available connector operations. + +#### Generate a image + +```ballerina +public function main() returns error? { + + images:CreateImageRequest request = { + prompt: "A cute baby sea otter", + model: "dall-e-3", + n: 1, + size: "1024x1024", + response_format: "url" + }; -## Examples + ImageResponse response = check openaiImages->/images/generations.post(request); + io:println("Created images: ", response.data); +} +``` -The `OpenAI Images` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-openai.images/tree/main/examples/), covering the following use cases: +### Step 4: Run the Ballerina application -[//]: # (TODO: Add examples) \ No newline at end of file +```bash +bal run +``` diff --git a/ballerina/Package.md b/ballerina/Package.md index 7e0031d..6003c79 100644 --- a/ballerina/Package.md +++ b/ballerina/Package.md @@ -1,17 +1,77 @@ ## Overview -[//]: # (TODO: Add overview mentioning the purpose of the module, supported REST API versions, and other high-level details.) +[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation. + +The `ballarinax/openai.images` package offers APIs to connect and interact with [OpenAI REST API v1](https://platform.openai.com/docs/api-reference/images/create) providing access to the new DALL.E models developed by OpenAI for various image-related tasks. ## Setup guide -[//]: # (TODO: Add detailed steps to obtain credentials and configure the module.) +To use the OpenAI Connector, you must have access to the OpenAI API through a [OpenAI Platform account](https://platform.openai.com) and a project under it. If you do not have a OpenAI Platform account, you can sign up for one [here](https://platform.openai.com/signup). + +1. Open the [OpenAI Platform Dashboard](https://platform.openai.com). + +2. Navigate to Dashboard -> API keys +OpenAI Platform + +3. Click on the "Create new secret key" button +OpenAI Platform + +4. Fill the details and click on Create secret key +OpenAI Platform + +5. Store the API key securely to use in your application +OpenAI Platform ## Quickstart -[//]: # (TODO: Add a quickstart guide to demonstrate a basic functionality of the module, including sample code snippets.) +To use the `OpenAI Images` connector in your Ballerina application, update the `.bal` file as follows: + +### Step 1: Import the module + +Import the `openai.images` module. + +```ballerina +import ballerinax/openai.images; +``` + +### Step 2: Instantiate a new connector + +Create a `images:ConnectionConfig` with the obtained API Key and initialize the connector. + +```ballerina +configurable string apiKey = ?; + +final images:Client openaiImages = check new({ + auth: { + apiKey + } +}); +``` + +### Step 3: Invoke the connector operation + +Now, utilize the available connector operations. + +#### Generate a image + +```ballerina +public function main() returns error? { + + images:CreateImageRequest request = { + prompt: "A cute baby sea otter", + model: "dall-e-3", + n: 1, + size: "1024x1024", + response_format: "url" + }; -## Examples + ImageResponse response = check openaiImages->/images/generations.post(request); + io:println("Created images: ", response.data); +} +``` -The `OpenAI Images` connector provides practical examples illustrating usage in various scenarios. Explore these [examples](https://github.com/module-ballerinax-openai.images/tree/main/examples/), covering the following use cases: +### Step 4: Run the Ballerina application -[//]: # (TODO: Add examples) \ No newline at end of file +```bash +bal run +``` diff --git a/docs/setup/resources/api-key-dashboard.png b/docs/setup/resources/api-key-dashboard.png new file mode 100644 index 0000000..0a66883 Binary files /dev/null and b/docs/setup/resources/api-key-dashboard.png differ diff --git a/docs/setup/resources/create-new-secret-key.png b/docs/setup/resources/create-new-secret-key.png new file mode 100644 index 0000000..5492f4a Binary files /dev/null and b/docs/setup/resources/create-new-secret-key.png differ diff --git a/docs/setup/resources/navigate-api-key-dashboard.png b/docs/setup/resources/navigate-api-key-dashboard.png new file mode 100644 index 0000000..f42cb48 Binary files /dev/null and b/docs/setup/resources/navigate-api-key-dashboard.png differ diff --git a/docs/setup/resources/saved-key.png b/docs/setup/resources/saved-key.png new file mode 100644 index 0000000..7ed28c7 Binary files /dev/null and b/docs/setup/resources/saved-key.png differ