UNPKG

dalle-node

Version:
124 lines (90 loc) 3.01 kB
# 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)