craiyon

node-craiyon

Unofficial Node.js API client for Craiyon (formerly DALL-E Mini).

Getting Started

Install the module using npm:

npm install craiyon

or Yarn:

yarn add craiyon

Basic Usage

const { Client } = require('craiyon');

const craiyon = new Client().withApiToken('your_api_token');
const result = await craiyon.generate({
prompt: 'Painting of a dachshund drinking water in the style of Van Gogh',
});

You can then use any of the methods available in result to get the generated images in any way you want.

You can learn more about the supported methods in the documentation.

Customization

By default, the library will retry a request 3 times if something goes wrong. You may change this behavior either by instantiating the client with a custom number of maximum retries (for all generations):

const craiyon = new Client().withMaxRetries(5);

or by setting a custom number of retries for a specific generation:

const result = await craiyon.generate({
prompt: 'Painting of a dachshund drinking water in the style of Van Gogh',
maxRetries: 5,
});

Older Versions

The package contains API clients for older versions of the Craiyon API. You can use them by importing the corresponding Client class:

const { ClientV2 } = require('craiyon'); // for v2
const { ClientV1 } = require('craiyon'); // for v1

The methods are more or less the same as in the latest client. Check the library documentation for more information.

Notice

Please note that this is using a reverse-engineered backend endpoint provided by Craiyon. The endpoint could, at any point in time, change the request and/or response, or become unavailable for public use altogether. If you encounter any problems with the library, please open an issue on GitHub.

For Contributors

node-craiyon is written in TypeScript, therefore, you have to compile it to JavaScript if you'd like to test your changes. You may do so using the following command:

npm run build

The library does not currently employ any unit testing measures, however, if you would like to contribute to the library, please make sure that your changes pass linting. You can run the following command to check:

npm run lint

License

MIT. Please read the LICENSE file for more information.

Generated using TypeDoc