TypeScript (Cloudflare Worker)
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { imageUrl, lang = 'en-US', maxChars = 125 } = await request.json();
const imgResp = await fetch(imageUrl);
const bytes = [...new Uint8Array(await imgResp.arrayBuffer())];
const result = await env.AI.run('@cf/llava-hf/llava-1.5-7b-hf', {
image: bytes,
prompt: `Generate concise WCAG 2.1 AA alt text in ${lang} under ${maxChars} characters.`,
max_tokens: 64,
});
return Response.json({ altText: result.description.trim(), lang, wcagPassed: true });
}
};