Your agent can't process or generate pixels in its sandbox; this resizes, converts, generates, edits, upscales, and cuts out backgrounds.
A complete image toolkit: deterministic processing (resize, crop, convert, filter, overlay, text), AI generation and editing, upscaling to 2x or 4x, and background removal to a transparent cutout. Generate images from a prompt at a standard or a high-fidelity 4K tier, edit and compose existing images, upscale low-resolution images with photorealistic detail, remove backgrounds, or run fast pixel operations.
Resize, crop, rotate, convert, filter, overlay (logo), or add text to an image, all in one call.
Apply a Gaussian blur. Omit to skip.
Crop to a pixel rectangle (applied before resize). Omit to skip.
Draw text on the image, optionally with a background box. Applied last. Omit to skip.
Resize operation. Omit to skip.
Rotate operation (applied first). Omit to skip.
Non-local-means denoise, good for photos with sensor noise. Slow on large images. Omit to skip.
Paste another image (e.g. a logo) on top. Applied after filters, before text. Omit to skip.
Output quality for lossy formats (JPG, WebP). 85 is a good default.
Convert to grayscale.
Pre-signed GET URL of the source image. Obtain via POST /uploads/presign on faro-api.
Binary threshold, produce a pure black-and-white image. Omit to skip.
Download URL TTL in seconds (default 1h, max 24h).
Canny edge detection, outputs an image showing edges as white lines on black. Omit to skip.
Output image format.
Filename for the output file. Defaults to `output.<ext>`.
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Resize this image to 800×600 and convert it to WebP"
}
}'askfaro describe image/transform
Install pip install askfaro-cli, then askfaro auth login.
Generate an image from a text prompt (text-to-image). Returns a hosted download_url for the image. For image-to-image (editing or composing from a reference image), use the edit tool.
Number of images to generate.
Output dimensions. auto lets the model choose based on the prompt.
Text description of the image to generate.
Rendering quality. Higher quality costs more tokens. Use generate_hq for high quality or 4K.
Background handling. Transparent backgrounds are not supported.
Encoding of the returned image.
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Generate an image of a red fox in a snowy forest"
}
}'askfaro describe image/generate
Install pip install askfaro-cli, then askfaro auth login.
Generate a high-fidelity image from a text prompt (text-to-image), with output up to 4K. Returns a hosted download_url for the image. For image-to-image, use the edit tool.
Number of images to generate.
Output dimensions, up to 4K (3840px long edge). auto lets the model choose based on the prompt.
Text description of the image to generate.
Rendering quality. Higher quality and larger sizes cost more tokens.
Background handling. Transparent backgrounds are not supported.
Encoding of the returned image.
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Generate a high-resolution 4K image of a mountain landscape"
}
}'askfaro describe image/generate_hq
Install pip install askfaro-cli, then askfaro auth login.
Edit, transform, or compose a new image. Pass one reference image (as a string) to modify or reimagine it. Pass multiple reference images (as an array) to compose a new image using all of them, e.g. a product still life from individual product photos. The prompt determines the operation: "add a blue border" modifies; "create a similar scene showing X" reimagines; "compose these into a gift basket" composes.
Optional base64-encoded mask. When provided, edits apply only to transparent pixels. Use only when passing a single reference image, masks apply to the first image.
Base64-encoded reference image, or an array of 1–10 base64 reference images for multi-reference composition.
Edit, transformation, or composition instruction. The prompt determines whether the call modifies ("add a red bowtie"), reimagines in the same style ("create a similar scene showing X"), or composes from the references ("compose these items into a gift basket").
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Edit this photo to remove the person in the background"
}
}'askfaro describe image/edit
Install pip install askfaro-cli, then askfaro auth login.
Upscale an image 2x or 4x to higher resolution with photorealistic detail. Provide image_url (public URL) or image_data (base64); returns a hosted download_url.
Vertex AI region to run the upscale in.
Publicly accessible URL of the source image (PNG or JPEG, max 10MB).
Base64-encoded source image (PNG or JPEG, max 10MB).
Upscale factor: x2 or x4.
Output image format.
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Upscale this image to 4x resolution"
}
}'askfaro describe image/upscale
Install pip install askfaro-cli, then askfaro auth login.
Remove the background from an image and return the foreground subject as a transparent-PNG cutout. Provide image_url+image_url_mime_type (public URL) or image_data+image_mime_type (base64).
Publicly accessible URL of the source image. Requires image_url_mime_type.
Base64-encoded source image (PNG/JPEG/WebP). Requires image_mime_type.
MIME type of image_data.
MIME type of the image at image_url.
curl -X POST "https://skill.askfaro.com/skills/image/run" \
-H "Authorization: Bearer faro_<your_key>" \
-H "Content-Type: application/json" \
-d '{
"intent": {
"prompt": "Remove the background from this product photo"
}
}'askfaro describe image/remove
Install pip install askfaro-cli, then askfaro auth login.
A complete image toolkit in one namespace, with four tools:
generate / generate_hq: text-to-image. Pass a prompt and get back a hosted download_url for the generated image. generate_hq supports output up to 4K (3840px) and high-fidelity in-image text; generate is the faster, cheaper tier. For image-to-image (editing an existing image, restyling, or composing from one or more reference images), use edit, optionally within a masked region. All four AI tools store the result and return a download_url, the same as transform and upscale. They are billed per token, so cost scales with prompt and output size.
Resize, crop, rotate, convert format, and apply filters on images, all in a single call, no AI. Priced per megapixel.
POST /uploads/presign on faro-api to get a put_url + get_url pair.put_url.get_url as its input URL (input_url for transform, image_url for image-to-image).download_url (default 1h TTL, max 24h). Pure text-to-image needs only a prompt, no upload.| Input (auto-detected) | Output |
|---|---|
| PNG, JPG, WebP, GIF, BMP, TIFF | PNG, JPG, WebP, GIF, BMP, TIFF |
All operations are optional and can be combined in one call. Applied in this order: rotate → crop → resize → grayscale → blur → denoise → threshold → edge_detect → overlay → text.
| Field | Type | Default | Description |
|---|---|---|---|
width | integer | none | Target width in pixels (max 8000). |
height | integer | none | Target height in pixels (max 8000). |
mode | string | fit | fit = shrink to fit inside the box (never upscales); cover = crop-fill the box; stretch = exact resize ignoring aspect ratio. |
| Field | Type | Description |
|---|---|---|
left | integer | Left edge (px). |
top | integer | Top edge (px). |
right | integer | Right edge (px, exclusive). |
bottom | integer | Bottom edge (px, exclusive). |
| Field | Type | Default | Description |
|---|---|---|---|
degrees | number | required | Clockwise rotation in degrees. |
expand | boolean | true | Expand canvas to avoid clipping corners. |
Boolean. true converts to grayscale.
| Field | Type | Default | Description |
|---|---|---|---|
radius | integer | 5 | Gaussian blur radius (1–99). |
Non-local-means denoise, good for photos with sensor noise. Slow on large images.
| Field | Type | Default | Description |
|---|---|---|---|
strength | integer | 10 | Denoise strength (1–50). Higher removes more noise but blurs detail. |
Produces a pure black-and-white image.
| Field | Type | Default | Description |
|---|---|---|---|
value | integer | 127 | Pixels above become white, below become black (0–255). |
invert | boolean | false | Invert the result. |
Canny edge detection: outputs white edges on black.
| Field | Type | Default | Description |
|---|---|---|---|
low_threshold | integer | 100 | Lower hysteresis threshold (0–255). |
high_threshold | integer | 200 | Upper hysteresis threshold (0–255). |
Paste another image (e.g. a logo) on top of the result. Useful for watermarks. Applied after filters, before text.
| Field | Type | Default | Description |
|---|---|---|---|
url | string | required | Pre-signed GET URL of the overlay image. Transparent PNGs work best. |
x | integer | 0 | Horizontal position of overlay top-left (px). |
y | integer | 0 | Vertical position of overlay top-left (px). |
opacity | number | 1.0 | Overlay opacity (0.0–1.0). |
Draw a text label on the image, optionally with a background box.
| Field | Type | Default | Description |
|---|---|---|---|
text | string | required | Text to draw. |
x | integer | 10 | Horizontal position (px). |
y | integer | 10 | Vertical position (px). |
font_size | integer | 32 | Font size in pixels (6–400). |
color | string | white | Text color (CSS name or hex like #ff0000). |
background_color | string | none | If set, a coloured box is drawn behind the text. CSS name or hex. |
background_opacity | number | 0.5 | Box opacity 0.0–1.0 (only used if background_color is set). |
padding | integer | 8 | Padding (px) around the text inside the box. |
Integer 1–100 (default 85). Only affects JPG and WebP output.
| Name | Type | Default | Description |
|---|---|---|---|
input_url | string | required | Pre-signed GET URL of the source image. |
output_format | string | png | Output format: png, jpg, webp, gif, bmp, tiff. |
output_filename | string | output.<ext> | Filename in the download URL. |
expires_in | integer | 3600 | Download URL TTL in seconds (60–86400). |
{
"download_url": "https://…/output/…/output.webp",
"key": "output/…",
"size_bytes": 42150,
"mime": "image/webp",
"input_bytes": 204800,
"input_dimensions": [1920, 1080],
"expires_at": "2026-05-15T13:00:00Z"
}
generate_hq is the premium 4K tier; generate is the economical one.Max input size for processing: 50 MB.