Spaces:
Running on Zero
Running on Zero
| import axios from 'axios'; | |
| import type { | |
| GenerationSettings, | |
| GenerationResponse, | |
| ImageMetadata, | |
| ModelInfo, | |
| SettingsPreferences, | |
| SettingsSnapshot, | |
| } from '../types'; | |
| const api = axios.create({ | |
| baseURL: '/api', // Proxy handles redirection to localhost:7861 | |
| }); | |
| export const listModels = async (): Promise<ModelInfo[]> => { | |
| const res = await api.get<ModelInfo[]>('/models'); | |
| return res.data; | |
| }; | |
| export const listControlNets = async (): Promise<{ models: string[] }> => { | |
| const res = await api.get<{ models: string[] }>('/controlnets'); | |
| return res.data; | |
| }; | |
| export const generateImage = async (settings: GenerationSettings): Promise<GenerationResponse> => { | |
| const res = await api.post<GenerationResponse>('/generate', settings); | |
| console.log("Generation response:", res.data); | |
| return res.data; | |
| }; | |
| export const interruptGeneration = async (): Promise<void> => { | |
| await api.post('/interrupt'); | |
| }; | |
| export const getLastSeed = async (): Promise<{ seed: number | null }> => { | |
| const res = await api.get('/settings/last'); | |
| return res.data; | |
| }; | |
| export const getSettingsHistory = async (): Promise<{ history: SettingsSnapshot[] }> => { | |
| const res = await api.get('/settings/history'); | |
| return res.data; | |
| }; | |
| export const getSettingsPreferences = async (): Promise<SettingsPreferences> => { | |
| const res = await api.get('/settings/preferences'); | |
| return res.data; | |
| }; | |
| export const postSettingsPreferences = async (preferences: SettingsPreferences): Promise<SettingsPreferences> => { | |
| const res = await api.post('/settings/preferences', preferences); | |
| return res.data; | |
| }; | |
| export const postSettingsSnapshot = async (settings: GenerationSettings, include_prompt: boolean = false): Promise<{ snapshot: SettingsSnapshot }> => { | |
| const res = await api.post('/settings/history', { settings, include_prompt }); | |
| return res.data; | |
| }; | |
| export const getImageMetadata = async (imageB64: string): Promise<{ metadata: ImageMetadata }> => { | |
| const res = await api.post('/images/metadata', { image: imageB64 }); | |
| return res.data; | |
| }; | |
| export const getTelemetry = async (): Promise<Record<string, unknown>> => { | |
| const res = await api.get('/telemetry'); | |
| return res.data; | |
| } | |
| export default api; | |