> For the complete documentation index, see [llms.txt](https://docs.navigaglobal.com/image-content-provider/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.navigaglobal.com/image-content-provider/config.md).

# Config

The plugin needs to be configured with endpoints, providers, and functions.

* go to Plugins > ICP Agent > settings
* add your own config inside the configEditor field

### Example config: <a href="#example-config" id="example-config"></a>

#### Content providers <a href="#content-providers" id="content-providers"></a>

```javascript
{
    "imengine-provider": {
        "type": "imengine",
        "endpoint": "https://domain/imengine/image.php",
        "functions": {
            "default": {
                "template": "uuid=[identifier]&type=[type:preview]&function=hardcrop&width=[width]&height=[height]&q=80"
            },
            "thumbnail": {
                "template": "uuid=[identifier]&type=[type:preview]&function=thumbnail&width=[width]&height=[height]&q=80"
            },
            "crop": {
                "template": "uuid=[identifier]&type=[type:preview]&function=cropresize&width=[width]&height=[height]&x=[x:0.5]&y=[y:0.5]&crop_w=400&crop_h=300&q=80"
            }
        }
    },
    "imgix-with-signature-provider": {
        "type": "imgix",
        "endpoint": "https://domain.imgix.net",
        "token": "TOKEN-GOES-HERE-FOR_SIGNATURE-IMGIX",
        "functions": {
            "default": {
                "template": "[identifier]?w=[width]&h=[height]&s=[signature]"
            },
            "crop": {
                "template": "[identifier]?w=[width]&h=[height]&fit=crop&crop=faces&s=[signature]"
            }
        }
    },
    "writer": {
            "type": "imengine/imgix",
            "endpoint": "url-to-endpoint",
            "functions": {
                "default": {
                    "template": "uuid=[identifier]&type=[type:preview]&function=hardcrop&width=[w:auto]&q=[q:75]"
                },
                "crop": {
                    "template": "uuid=[identifier]&type=[type:preview]&function=hardcrop&width=[w]&height=[h]&q=[q:75]"
                },
                "crop-resize": {
                    "template": "uuid=[identifier]&function=cropresize&type=preview&q=75&crop_w=[cwrel]&crop_h=[chrel]&width=[w:auto]&height=[h:auto]&x=[cxrel:0]&y=[cyrel:0]&zoom=0"
                }
            }
        }
}
```

### **Functions**

Functions are a way to configure new image functions into the plugin. This can later be used by different plugins. The criteria is that each function at least contains a "default" function as a fallback.

### **Template strings**

The strings are built upon known structure for the specific service and should be the query strings of each services without the starting "?". Each parameter is build with a key=\[value] structure where value can be followed by a :optional argument. Example: key\[value:optional] where optional is a default value if non is passed to the specific function.

#### [<br>](https://app.gitbook.com/@infomaker/s/content-agent/installing)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.navigaglobal.com/image-content-provider/config.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
