OpenAI, an AI research organization focused on creating friendly AI for humanity, offers the OpenAI API 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 providing access to the new DALL.E models developed by OpenAI for various image-related tasks.
To use the OpenAI Connector, you must have access to the OpenAI API through a OpenAI Platform account and a project under it. If you do not have a OpenAI Platform account, you can sign up for one here.
-
Open the OpenAI Platform Dashboard.
-
Navigate to Dashboard -> API keys
- Click on the "Create new secret key" button
- Fill the details and click on Create secret key
- Store the API key securely to use in your application
To use the OpenAI Images
connector in your Ballerina application, update the .bal
file as follows:
Import the openai.images
module.
import ballerinax/openai.images;
Create a images:ConnectionConfig
with the obtained API Key and initialize the connector.
configurable string token= ?;
final images:Client openAIImages = check new ({
auth: {
token
}
});
Now, utilize the available connector operations.
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"
};
images:ImagesResponse response = check openAIImages->/images/generations.post(request);
}
bal run
The OpenAI Images
connector provides practical examples illustrating usage in various scenarios. Explore these examples, covering the following use cases:
-
Personalized visual content generator - Create personalized visual content for targeted email marketing by generating and editing images to include specific products.
-
Rapid product visualizer - Generate and vary product images for client presentations to showcase different design options and aid decision-making.
-
Download and install Java SE Development Kit (JDK) version 17. You can download it from either of the following sources:
Note: After installation, remember to set the
JAVA_HOME
environment variable to the directory where JDK was installed. -
Download and install Ballerina Swan Lake.
-
Download and install Docker.
Note: Ensure that the Docker daemon is running before executing any tests.
-
Export Github Personal access token with read package permissions as follows,
export packageUser=<Username> export packagePAT=<Personal access token>
Execute the commands below to build from the source.
-
To build the package:
./gradlew clean build
-
To run the tests:
./gradlew clean test
-
To build the without the tests:
./gradlew clean build -x test
-
To run tests against different environments:
./gradlew clean test -Pgroups=<Comma separated groups/test cases>
-
To debug the package with a remote debugger:
./gradlew clean build -Pdebug=<port>
-
To debug with the Ballerina language:
./gradlew clean build -PbalJavaDebug=<port>
-
Publish the generated artifacts to the local Ballerina Central repository:
./gradlew clean build -PpublishToLocalCentral=true
-
Publish the generated artifacts to the Ballerina Central repository:
./gradlew clean build -PpublishToCentral=true
As an open-source project, Ballerina welcomes contributions from the community.
For more information, go to the contribution guidelines.
All the contributors are encouraged to read the Ballerina Code of Conduct.
- For more information go to the
openai.images
package. - For example demonstrations of the usage, go to Ballerina By Examples.
- Chat live with us via our Discord server.
- Post all technical questions on Stack Overflow with the #ballerina tag.