| const axios = require('axios') |
| api_base = process.env.OPENAI_API_BASE; |
| api_key = process.env.OPENAI_API_KEY; |
| api_version = '2023-06-01-preview' |
| url = api_base + "openai/images/generations:submit?api-version=" + api_version |
| headers = { "api-key": api_key, "Content-Type": "application/json" } |
|
|
| function sleep(ms) { |
| return new Promise((resolve) => setTimeout(resolve, ms)); |
| } |
| async function txt2images(prompt,size) { |
| body = { |
| "prompt": prompt, |
| "size": size, |
| "n": 1 |
| } |
| submission = await axios.post(url, body, { headers }); |
| operation_location = submission.headers['operation-location']; |
| status = ""; |
| while (status != "succeeded") { |
| await sleep(1000); |
| res = await axios.get(operation_location, { headers }); |
| status = res.data.status; |
| console.log(status) |
| if (status == "succeeded") { |
| return res.data.result.data[0].url; |
| } |
| } |
| } |
| exports.txt2img = txt2images; |
|
|