>>106498529
>>106498602
heres the cloudflare worker script
export default {
async fetch(request, env) {
if (request.method === 'OPTIONS') {
return handleOptions(request);
}
if (request.method !== 'POST') {
return new Response('Expected POST request', { status: 405, headers: corsHeaders });
}
try {
const { imageUrl } = await request.json();
if (!imageUrl) {
return new Response('Missing imageUrl in request body', { status: 400, headers: corsHeaders });
}
const imageResponse = await fetch(imageUrl, {
headers: {
'Referer': 'https://boards.4chan.org/g/catalog',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
}
});
if (!imageResponse.ok) {
return new Response(`Failed to fetch image. Server responded with ${imageResponse.status}`, { status: 500, headers: corsHeaders });
}
const imageBlob = await imageResponse.arrayBuffer();
const inputs = { image: [...new Uint8Array(imageBlob)] };
const response = await env.AI.run('@cf/microsoft/resnet-50', inputs);
return new Response(JSON.stringify(response), {
headers: { 'Content-Type': 'application/json', ...corsHeaders },
});
} catch (e) {
return new Response(`Error: ${e.message}`, { status: 500, headers: corsHeaders });
}
},
};
const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type',
};
function handleOptions(request) {
return new Response(null, { headers: corsHeaders });
}