I think you want some thing like this:
    
    
    import puppy, webby/multipart
    
    let req = newRequest("https://api.openai.com/v1/images/edits";)
    req.verb = "POST"
    req.headers["Authorization"] = "Bearer " & readFile("OPENAI_API_KEY.txt")
    
    var parts: seq[MultipartEntry]
    parts.add(MultipartEntry(
        name: "image",
        fileName: "otter.png",
        contentType: "image/png",
        payload: readFile("otter.png")
    ))
    parts.add(MultipartEntry(
        name: "image",
        fileName: "mask.png",
        contentType: "image/png",
        payload: readFile("mask.png")
    ))
    parts.add(MultipartEntry(
        name: "prompt",
        payload: "A cute baby sea otter wearing a beret"
    ))
    parts.add(MultipartEntry(
        name: "n",
        payload: "2"
    ))
    parts.add(MultipartEntry(
        name: "size",
        payload: "1024x1024"
    ))
    
    let (contentType, body) = encodeMultipart(parts)
    req.headers["content-type"] = contentType
    req.body = body
    
    let res = req.fetch()
    
    echo res.code
    echo res.body
    
    Run

Reply via email to