Custom Image

It's recommended to use a desktop http client to test out image gen features such as Insomnia Client. https://insomnia.rest/products/insomnia

Custom Image Generation

POST https://api.fluxpoint.dev/gen/custom

Generate a custom image with json body format.

Headers

NameTypeDescription

Authorization*

This will send you raw image data (bytes)

Request json body

{
    "Base": {
        "type": "bitmap",
	"width": 2000,
	"height": 2000,
	"color": "#7289da"
    },
    "Images": [
	{
	    "type": "url",
	    "url": "https://img.fluxpoint.dev/thm/1422436083957760.jpg",
	    "width": 1000,
	    "height": 1000
	},
	{
	    "type": "bitmap",
	    "round": 160,
	    "x": 20,
	    "y": 240,
	    "width": 1220,
	    "height": 360,
	    "color": "0,0,0,80"
	}
    ],
    "Texts": [
        {
            "text": "Hello",
	    "size": 120,
	    "x": 600,
	    "y": 1060
        }
    ]
}

BotGhost Support

If you are using botghost with this API then you can use the tips below to help.

Create a body key named canvas then enter the json format above as the value.

API Limits

These are set in place to prevent potential abuse and resource usage.

Max json body size is 10mb Max images is 50 (Max 10 url types) Max texts is 50

Base

The base can be either a Square (bitmap) or Image url.

Elements (Images)

"Images": [
    {
        "url": "https://img.fluxpoint.dev/thm/1422436083957760.jpg",
        "width": 540,
        "height": 540,
        "cache": true
    }
]
Square (Bitmap)

Required type: bitmap Use either Width & Height or Size to set both. width: 0 height: 0 size: 0 Optional color: white - Set the shape color using name, hex, rgb or rgba for transparency. round: 0 - x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. skip: false - Skip parsing this element to dynamically hide it.

Starting 2024 do not use Discord attachments as permanent image urls due to restrictions. You will need to store images on your own server or via another service like Imgur.

Image Url

Required url: https://website.com/image.png - Optional cache: false - Cache the image server-side so it can be easily loaded again such as background images. (Not Recommended for Avatars or dynamic images) round: 0 - x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. skip: false - Skip parsing this element to dynamically hide it. color: white - Set the background color using name, hex, rgb or rgba for transparency. ^ You can also set this to auto and it will use the primary color of the image for transparent images like avatars. Use either Width & Height or Size to set both. width: 0 height: 0 size: 0 maxWidth: 0 - Set the max width the image can scale to if large. maxHeight: 0 - Set the max height the image can scale to if large.

Svg

Required type: svg path: M338.752 - The svg path to use to define the shape. Use either Width & Height or Size to set both. width: 0 height: 0 size: 0 Optional color: white - Set the svg color using name, hex, rgb or rgba for transparency. x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. rotate: 0 - Rotation of the icon in degrees. skip: false - Skip parsing this element to dynamically hide it.

Icon

Required type: icon icon: mdi:account - Type of icon to use from https://icon-sets.iconify.design/ size: 128 - Size of the icon both width and height. Optional color: white - Set the icon color using name, hex, rgb or rgba for transparency. x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. rotate: 0 - Rotation of the icon in degrees. skip: false - Skip parsing this element to dynamically hide it.

Circle

Required type: circle radius: 20 - Size of the circle from the centre point. Optional color: white - Set the shape color using name, hex, rgb or rgba for transparency. x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. skip: false - Skip parsing this element to dynamically hide it.

Triangle

Required type: triangle cut: topleft/topright/bottomleft/bottomright - Set the cut corner of the triangle. Use either Width & Height or Size to set both. width: 128 height: 128 size: 128 Optional color: white - Set the shape color using name, hex, rgb or rgba for transparency. x: 0 - Position of the element on the X axis horizontally. y: 0 - Position of the element on the Y axis vertically. skip: false - Skip parsing this element to dynamically hide it.

Global Options

Set default options for the image gen.

{
   "global": {
      "textSize": 16 
   }
}
Global

Optional textSize: 16 - Default text size for all texts. textColor: white - Default text color for all texts. textFont: Sans Serif - Default text font for all texts. textOutlineWidth: 0 - Default text outline width. textOutlineColor: black - Default text outline color. textAlign: l/m/r - Default text alignment. textX: 0 - Default position on the X axis vertially.

Text

Add these into the Texts list to generate them. text: "Hello" or texts: [ "Hello", "User" ] - Set the text (Required)

"Texts": [
    {
        "text": "No api?",
        "size": 45,
        "x": 40,
        "y": 20,
        "width": 460,
	"bold": true,
	"align": "m",
	"outlinecolor": "black",
	"outlinewidth": 8,
	"line": 1,
	"weight": 500
    }
]

Main Options

Optional size: 16 - Set the font size of the text. font: Sans Serif - Set the font to use for the text. color: white - Set the text color from name/hex/rgb/rgba use rgba for transparency. back: transparent - Set the background color for the text box from name/hex/rgb/rgba use rgba for transparency. skip: false - Skip parsing this element to dynamically hide it.

Position Options

Optional x: 0 - Position the text 20 pixels from the left. x: 0 - Position the text 20 pixels from the top. align: l/m/r - Align the text from left/center/right width: 0 - Set the max width of the text box before it wraps to a newline. height: 0 - Set the max height of the text box to clip extra text.

Style Options

Optional bold: false - Set the text to bold style. (Default false) italics: false - Set the text to italics style. (Default false) underline: false - Set the text to underline style. (Default false) line: 1 - Set the line spacing for multiline text, used with a decimal point like 1.2 weight: 500 - Increase the boldness of the text.

Outline

Optional outlinewidth: 0 - Set the outline size from the text. outlinecolor: black - Set the outline color from name/hex/rgb/rgba use rgba for transparency. outlineblur: 1 - Make the outline transparency less visible for a cool effect.

Date/Time Format

Optional unix: 0 - Set the unix timestamp to show as date/time. snowflake: 0 - Set the Discord id to show as date/time. format: dd/MM/yyyy - Set the date/time format to show as text. https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1

Last updated