| Server IP : 54.37.205.81 / Your IP : 216.73.216.76 Web Server : nginx/1.22.1 System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64 User : debian ( 1000) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/app.copyrightchain.it/patch/frontend/services/ |
Upload File : |
export type AiProvider = 'openai' | 'gemini';
const base = '/ai';
export async function aiHealth(): Promise<any> {
const r = await fetch(`${base}/health`, { method: 'GET' });
return r.json();
}
export async function aiSetKeys(adminToken: string, openaiApiKey?: string, geminiApiKey?: string): Promise<any> {
const r = await fetch(`${base}/admin/set-keys`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CCP-Token': adminToken,
},
body: JSON.stringify({ openaiApiKey, geminiApiKey }),
});
return r.json();
}
export async function aiGenerateText(adminToken: string, provider: AiProvider, prompt: string): Promise<{ok:boolean, text?:string, error?:string}> {
const r = await fetch(`${base}/text`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CCP-Token': adminToken,
},
body: JSON.stringify({ provider, prompt }),
});
return r.json();
}
export async function aiGenerateImage(adminToken: string, provider: AiProvider, prompt: string, aspect_ratio: string): Promise<{ok:boolean, data_url?:string, error?:string}> {
const r = await fetch(`${base}/image`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CCP-Token': adminToken,
},
body: JSON.stringify({ provider, prompt, aspect_ratio }),
});
return r.json();
}