Stageboxd NYC

A diary for NYC opera, concerts, plays & musicals
Settings ⌘/Ctrl + ,

AI Poster (optional)

Use your API key via a simple proxy endpoint to generate a poster image when saving an entry (if no poster URL was provided).

Help: tiny proxy (copy/paste)

Deploy on Cloudflare Workers (free tier). Replace YOUR_API_KEY and provider-specific fetch as needed. Then paste the Worker URL into Proxy URL.
// Example Worker (Stability image generation)
export default {
  async fetch(req) {
    const { title, venue, date, category, promptStyle, negative, model } = await req.json();
    const prompt = `${title} — ${category} at ${venue} (NYC, ${date}). ${promptStyle}`;
    const resp = await fetch("https://api.stability.ai/v2beta/stable-image/generate/sd3", {
      method: "POST",
      headers: {
        "Authorization": `Bearer ${YOUR_API_KEY}`,
        "Accept": "image/png",
        "Content-Type": "application/json"
      },
      body: JSON.stringify({ prompt, negative_prompt: negative, output_format:"png", model: model || "sd3" })
    });
    if(!resp.ok) return new Response(JSON.stringify({error:true, status: resp.status}), {status:500});
    const arrayBuf = await resp.arrayBuffer();
    const b64 = btoa(String.fromCharCode(...new Uint8Array(arrayBuf)));
    return Response.json({ image: `data:image/png;base64,${b64}` });
  }
}
Return JSON like { image: "data:image/png;base64,..." } or a direct URL. This app accepts either.