Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ezzcodeezzlife/dalle-node

Use DALL·E 2 with Nodejs
https://github.com/ezzcodeezzlife/dalle-node

ai api dall-e gpt-3 gpt3 javascript js next nodejs npm openai package react

Last synced: about 1 month ago
JSON representation

Use DALL·E 2 with Nodejs

Awesome Lists containing this project

README

        

# Setup

1. Go to https://openai.com/dall-e-2/
2. Create a OpenAI Account
3. Go to https://labs.openai.com/
4. Open the Network Tab in Developer Tools
5. Type a prompt and press "Generate"
6. Look for fetch to https://labs.openai.com/api/labs/tasks
7. In the request header look for authorization then get the Bearer Token

# Usage
```bash
npm install dalle-node
```
```javascript
import { Dalle } from "dalle-node";

const dalle = new Dalle("sess-xxxxxxxxxxxxxxxxxxxxxxxxx"); // Bearer Token

(async () => {
const generations = await dalle.generate("a cat driving a car");

console.log(generations)
})();
```

```
[
{
id: 'generation-sCnERSYDPP0Zu14fsdXEcKmL',
object: 'generation',
created: 1553332711,
generation_type: 'ImageGeneration',
generation: {
image_path: 'https://openailabsprodscus.blob.core.windows.net/private/user-hadpVzldsfs28CwvEZYMUT/generations/generation...'
},
task_id: 'task-nERkiKsdjVCSZ50yD69qewID',
prompt_id: 'prompt-2CtaLQsgUbJHHDoJQy9Lul3T',
is_public: false
},
// 3 more ...
]
```

## Functions

### `constructor`

```javascript
import { Dalle } from "dalle-node";

const dalle = new Dalle("sess-xxxxxxxxxxxxxxxxxxxxxxxxx"); // Bearer Token
```

### `generate(prompt: string)`

Generate Dall-e images using the prompt passed in.

```javascript
const generations = await dalle.generate("a cat driving a car");
```

Returns an array of generations.

### `list({ limit: number, fromTs: number })`

Get previous tasks.

```javascript
const last10Runs= await dalle.list({ limit: 10 });
```

```javascript
const allRunsAfterTimestamp = await dalle.list({ fromTs: 1553456789 });
```

Returns an array of tasks. Note - what generate() returns is consider a single task. Each image inside a task is a "generation". The objects in the returned array will have a `prompt` property, a `generations` array, as well as other properties.

### `getTask(taskId: string)`

```javascript
const task = await dalle.getTask("task-nERkiKsdjVCasdyD69qewID");
```

Returns a task object.

### `getCredits()`

```javascript
const creditsSummary = await dalle.getCredits();
const totalCreditsLeft = creditsSummary.aggregate_credits;
```

Returns an object with the following properties.

```json
{
"aggregate_credits": 180,
"next_grant_ts": 123456789,
"breakdown": {
"free": 0,
"grant_beta_tester": 65,
"paid_dalle_15_115": 115
},
"object": "credit_summary"
}
```

To get the date + time that the free credits will refresh:

```javascript
const credits = await dalle.getCredits()
console.log('Free credits refresh on:', new Date(credits.next_grant_ts * 1000).toLocaleString());
```

# Examples

[Nextjs Application](https://github.com/1998code/DALLE-2-App)

# Other languages

[Repo for the same thing as Python Package "ezzcodeezzlife/dalle2-in-python"](https://github.com/ezzcodeezzlife/dalle2-in-python)