| import { IMAGES_API_BASE_URL } from '$lib/constants'; | |
| export const getImageGenerationConfig = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/config`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const updateImageGenerationConfig = async ( | |
| token: string = '', | |
| engine: string, | |
| enabled: boolean | |
| ) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/config/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| engine, | |
| enabled | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const getOpenAIConfig = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/openai/config`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const updateOpenAIConfig = async (token: string = '', url: string, key: string) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/openai/config/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| url: url, | |
| key: key | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const getImageGenerationEngineUrls = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/url`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const updateImageGenerationEngineUrls = async (token: string = '', urls: object = {}) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/url/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| ...urls | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const getImageSize = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/size`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.IMAGE_SIZE; | |
| }; | |
| export const updateImageSize = async (token: string = '', size: string) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/size/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| size: size | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.IMAGE_SIZE; | |
| }; | |
| export const getImageSteps = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/steps`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.IMAGE_STEPS; | |
| }; | |
| export const updateImageSteps = async (token: string = '', steps: number) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/steps/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ steps }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.IMAGE_STEPS; | |
| }; | |
| export const getImageGenerationModels = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/models`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |
| export const getDefaultImageGenerationModel = async (token: string = '') => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/models/default`, { | |
| method: 'GET', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| } | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.model; | |
| }; | |
| export const updateDefaultImageGenerationModel = async (token: string = '', model: string) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/models/default/update`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| model: model | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res.model; | |
| }; | |
| export const imageGenerations = async (token: string = '', prompt: string) => { | |
| let error = null; | |
| const res = await fetch(`${IMAGES_API_BASE_URL}/generations`, { | |
| method: 'POST', | |
| headers: { | |
| Accept: 'application/json', | |
| 'Content-Type': 'application/json', | |
| ...(token && { authorization: `Bearer ${token}` }) | |
| }, | |
| body: JSON.stringify({ | |
| prompt: prompt | |
| }) | |
| }) | |
| .then(async (res) => { | |
| if (!res.ok) throw await res.json(); | |
| return res.json(); | |
| }) | |
| .catch((err) => { | |
| console.log(err); | |
| if ('detail' in err) { | |
| error = err.detail; | |
| } else { | |
| error = 'Server connection failed'; | |
| } | |
| return null; | |
| }); | |
| if (error) { | |
| throw error; | |
| } | |
| return res; | |
| }; | |