# EditImageGPT API Examples # Replace '6URtmZ$%oV*jJPj' with your actual API key set in the .env file or the default one @api_key = 6URtmZ$%oV*jJPj @baseurl = http://localhost:5000 #@baseurl= https://editimagegpt-flask.cool.newstack.be @image_example = https://cdn.shopify.com/s/files/1/0779/9590/1272/files/5cf13bf7a64eb56c405a682592763f52.jpg @image_example_2 = https://cdn.shopify.com/s/files/1/0779/9590/1272/files/60e0ead7ab9870a7fd534ffb5fdc1de6_91715c36-a895-4421-9784-0ae818852670.jpg?v=1744184520 @image_example_3 = https://apoti-care.com/cdn/shop/files/8f3a68d750679806b421f0b5b9d05cbc.jpg?v=1744152951 @prompt_example = Une jeune femme debout dans une salle de bain lumineuse, habillée de manière confortable (pyjama ou peignoir en coton clair), les mains posées sur le bas-ventre, avec une expression de soulagement discret et de bien-être retrouvé. L'arrière-plan est flou mais propre, avec des tons clairs et doux (blanc, beige, bleu pâle). L'ambiance est intime mais respectueuse, axée sur la santé et la normalité du soin. Slogan à ajouter sur la photo : « Et si le confort intime redevenait simplement...normal ? » Le slogan doit etre complet et placé dans la partie supérieure de l'image. ### Check API Key Validity GET {{baseurl}}/api/check X-API-Key: {{api_key}} ### Edit an Image (Basic) # Note: In the basic mode, images are always stored in S3 POST {{baseurl}}/api/edit Content-Type: application/json X-API-Key: {{api_key}} { "image_urls": [ "{{image_example_2}}" ], "prompt": "{{prompt_example}}", "logo": "no" } ### Edit an Image (Advanced through existing endpoint) # Options for quality: "low", "medium", "high", "auto" (default) # Options for size: "1024x1024" (square), "1536x1024" (portrait), "1024x1536" (landscape), "auto" (default) # store_in_s3: Override the default behavior (optional, default: true) # include_base64: Whether to include base64 image data in the response (optional, default: true) # logo: Whether to add the logo to the image (optional, "yes" or "no", default: "no") POST {{baseurl}}/api/edit Content-Type: application/json X-API-Key: {{api_key}} { "image_urls": [ "{{image_example_2}}" ], "prompt": "{{prompt_example}}", "quality": "low", "size": "1024x1024", "store_in_s3": true, "include_base64": false, "logo": "yes" } ### Edit an Image (Dedicated Advanced Endpoint - Recommended) # This endpoint is specifically designed for advanced usage POST {{baseurl}}/api/edit/advanced Content-Type: application/json X-API-Key: {{api_key}} { "image_urls": [ "{{image_example_2}}" ], "prompt": "{{prompt_example}}", "quality": "low", "size": "1024x1024", "store_in_s3": true, "include_base64": true, "logo": "yes" } ### Edit an Image make test POST {{baseurl}}/api/edit Content-Type: application/json X-API-Key: {{api_key}} { "image_urls": [ "https://cdn.shopify.com/s/files/1/0779/9590/1272/files/60e0ead7ab9870a7fd534ffb5fdc1de6_91715c36-a895-4421-9784-0ae818852670.jpg?v=1744184520" ], "prompt": "Image en gros plan de la tubulure Flocare® Pack Mobile Infinity connectée à une pompe Flocare Infinity placée dans un sac à dos posé sur une table en bois. En arrière-plan flou : une personne souriante en tenue décontractée, prête à sortir. Le style est épuré et professionnel, avec un jeu de lumière naturel qui met en valeur la praticité et la mobilité de l'accessoire. Superposition de texte : \"Flocare® Pack Mobile Infinity – Bougez en toute confiance\". Image conçue pour Instagram et Facebook avec des dimensions optimisées et un style cohérent avec les univers santé et bien-être.", "quality": "low", "size": "1024x1024", "store_in_s3": true, "include_base64": false, "logo": "yes" } ### Test S3 Upload POST {{baseurl}}/api/test_s3_upload Content-Type: application/json X-API-Key: {{api_key}} { "image_base64": "BASE64_STRING_HERE", "file_name": "optional_custom_filename.png" } ### List S3 Images GET {{baseurl}}/api/s3_images X-API-Key: {{api_key}} ### Generate a New Image (using gpt-image-1) # Options for quality: "low", "medium", "high", "auto" (default: "low") # Options for size: "1024x1024" (square), "1536x1024" (portrait), "1024x1536" (landscape), "auto" (default: "1024x1024") # The API internally uses output_compression=50 and output_format="png" # store_in_s3: Whether to store the generated image in S3 (optional, default: true) # include_base64: Whether to include base64 image data in response (optional, default: true) # logo: Whether to add the logo to the image (optional, "yes" or "no", default: "no") POST {{baseurl}}/api/generate Content-Type: application/json X-API-Key: {{api_key}} { "prompt": "Photographie en gros plan de la tubulure Flocare® Pack Mobile Infinity posée à côté d'une pompe Flocare Infinity dans un sac à dos médical ouvert sur fond blanc. L'image est claire, détaillée et montre parfaitement les connexions et le positionnement des produits, avec un éclairage professionnel mettant en valeur les caractéristiques techniques.", "quality": "low", "size": "1024x1024", "store_in_s3": true, "include_base64": false, "logo": "yes" } ### Generate with Product Placement # This endpoint properly extracts a product from an image using a mask and places it on a newly generated background # Workflow: # 1. Extracts the product from the original image using an AI-generated mask # 2. Generates a clean background image based on the prompt # 3. Places the extracted product at the specified position # 4. Adds the logo ensuring no overlap with the product # # Position options: "center", "top-left", "top-right", "bottom-left", "bottom-right" (default: "bottom-right") # Quality options: "low", "medium", "high", "auto" (default: "low") # Size options: "1024x1024", "1536x1024", "1024x1536", "auto" (default: "1024x1024") POST {{baseurl}}/api/generatewithproduct Content-Type: application/json X-API-Key: {{api_key}} { "image_url": "{{image_example_3}}", "prompt": "{{prompt_example}}", "position": "bottom-right", "quality": "medium", "size": "1024x1024", "store_in_s3": true, "include_base64": false, "logo": "yes" } # Notes: # 1. The API key should be sent in the 'X-API-Key' header or as 'api_key' query parameter # 2. For the /api/edit endpoint, image_urls is an array of image URLs to be edited # 3. For the basic edit endpoint, all images are automatically stored in S3 # 4. For advanced usage, the dedicated /api/edit/advanced endpoint is recommended # 5. Use include_base64: false to reduce payload size when base64 data is not needed # 6. For the /api/test_s3_upload endpoint, the image_base64 should be a base64 string without the data URI prefix # 7. All S3 URLs returned are presigned and valid for 1 hour # 8. Use logo: "yes" to add the rectangle logo at the bottom of the image, centered with appropriate sizing