Neurall API Docs (1.0.0)

Welcome to the Neurall API, your gateway to powerful AI-driven media generation, editing, and processing. Whether you're creating stunning visuals, enhancing media, or automating workflows, our API provides the tools you need to bring your ideas to life.

Getting Started

The Neurall API is designed for seamless integration and high performance. To begin, make sure to follow these key requirements:

  • Base URL: All API requests should be directed to: https://api.neurall.io

  • Secure Communication: All requests must be made over HTTPS. Any attempt to use plain HTTP will result in failure.

  • Authentication: Every request requires an API Key for authorization. You can manage API Keys in the Neurall app by navigating to Projects → API Keys.

Concurrency Limits

By default, each organization is limited to 100 concurrent API requests. This ensures optimal performance and reliability for all users. If your use case requires a higher concurrency limit, please contact our support team at support@neurall.io to request an increase.
All additional requests beyond this limit will return a 429 Too Many Requests error.

Next Steps

Explore our comprehensive endpoints, experiment with real-time AI-powered transformations, and start building with Neurall today!

Download OpenAPI description
Languages
Servers

https://api.neurall.io/

Images

The Images section provides endpoints for AI-powered image generation, enhancement, and manipulation.
These tools allow you to create, modify, and optimize images through a range of advanced processing techniques.

Operations

Generation

Request

This endpoint generates an image based on a given text prompt.

Security
ApiKeyAuth
Bodymultipart/form-data
promptstringrequired

A text description of the desired image content.

negative_promptstring

A text description of elements to exclude from the generated image.

widthinteger

The image width in pixels. Must be between 512 and 1024.

Default 1024
heightinteger

The image height in pixels. Must be between 512 and 1024.

Default 1024
const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('prompt', '{{PROMPT}}');
form.append('negative_prompt', '{{NEGATIVE_PROMPT}}');
form.append('width', '{{WIDTH}}');
form.append('height', '{{HEIGHT}}');

// Make request
axios.post('https://api.neurall.io/v1/images/generation', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

Image generated in PNG format

Bodyimage/png
string(binary)

Pegasus Generation

Request

This endpoint generates an image based on a prompt, using the advanced Pegasus model.

Security
ApiKeyAuth
Bodymultipart/form-data
promptstringrequired

A textual description of what should appear in the generated image.

widthinteger

The desired width of the image, which must be between 512 and 1024 pixels.

Default 1024
heightinteger

The desired height of the image, which must be between 512 and 1024 pixels.

Default 1024
identity_idstring

The ID of a trained identity to be used with the identity-preserving feature. The identity must first be trained using the Pegasus training endpoint.

Default ""
artisticboolean

Enables the artistic checkpoint for identity preservation. This option reduces resemblance to the original identity but allows for more creative freedom in artistic prompts.

Default false
const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('prompt', '{{PROMPT}}');
form.append('width', '{{WIDTH}}');
form.append('height', '{{HEIGHT}}');

// Make request
axios.post('https://api.neurall.io/v1/images/pegasus-generation', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

Image generated in PNG format

Bodyimage/png
string(binary)

Face Swapping

Request

This endpoint performs advanced face swapping by applying a face from one image onto a target image. Ideal for realistic or creative face merge applications.

Security
ApiKeyAuth
Bodymultipart/form-data
sourcestring(binary)required

The image containing the face to be transferred. Maximum size is 30MB, and resolution must not exceed 16 Megapixels.

targetstring(binary)required

The image onto which the source face will be applied. Must match file size and resolution limits 30MB and 16 Megapixels.

maskstring(binary)

An optional image that defines the specific facial region to be swapped. White areas indicate regions to include in the swap, while black areas are excluded. The mask image must have the same dimensions as the target image and must not exceed 30MB. When a mask is provided, the target_face_x and target_face_y parameters are ignored. This feature supports swapping only one face at a time.

target_face_xinteger

X-coordinate on the target image indicating the approximate center point of the face. Useful when multiple faces are present.

target_face_yinteger

Y-coordinate on the target image indicating the approximate center point of the face. Useful when multiple faces are present.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('source', fs.createReadStream('path/to/source.png'));
form.append('target', fs.createReadStream('path/to/target.png'));
form.append('mask', fs.createReadStream('path/to/mask.png')); 

// Make request
axios.post('https://api.neurall.io/v1/images/face-swapping', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

Image generated in PNG format

Bodyimage/png
string(binary)

Generative Fill

Request

Performs generative fill on the specified masked area of the provided image using a natural language prompt. The API takes an input image, a mask image (where white areas define the region to fill), and a text prompt describing what should be generated in the masked region. The result is a high-quality image with the masked area seamlessly filled according to the prompt.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)

The image to be edited. Maximum size is 30MB, and resolution must not exceed 16 Megapixels.

maskstring(binary)

An optional image that defines the specific area to be altered. White areas indicate regions to include in the swap, while black areas are excluded. The mask image must have the same dimensions as the target image and must not exceed 30MB.

promptstring

A text description of the content to be generated in the masked area. The model will use this prompt to fill the specified regions seamlessly while preserving the rest of the image.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));
form.append('mask', fs.createReadStream('path/to/mask.png'));
form.append('prompt', '{{PROMPT}}');

// Make request
axios.post('https://api.neurall.io/v1/images/generative-fill', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

Image generated in PNG format

Bodyimage/png
string(binary)

Reimagine

Request

The Reimagine endpoint generates high-quality visual variations of an input image while preserving its core structure, layout, and composition. It outputs an image with the same aspect ratio as the source and renders it at up to 1 Megapixel resolution. This is ideal for creating new versions of a photo with subtle or creative differences, without losing the original identity.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The base image to be reimagined. Supported formats include JPEG, PNG, and WebP. The file size must not exceed 30MB, and the resolution must not exceed 16 Megapixels.

denoisenumber[ 0 .. 1 ]

A number between 0.0 and 1.0 that controls how much the output differs from the input image.

Default 0.7
const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));
form.append('denoise', '{{DENOISE}}')

// Make request
axios.post('https://api.neurall.io/v1/images/reimagine', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

Image generated in PNG format

Bodyimage/png
string(binary)

Upscaling

Request

Enhances the resolution of an image. By default, the image is upscaled by a factor of 4, or until one of its dimensions reaches 4096 pixels, whichever comes first.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The image file in JPEG, PNG, or WebP format. The file size must not exceed 20MB, and the resolution must not exceed 8 Megapixels.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));

// Make request
axios.post('https://api.neurall.io/v1/images/upscaling', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

The upscaled image, returned in PNG format.

Bodyimage/png
string(binary)

Object Removal

Request

Removes an object from an image using AI-powered inpainting, based on a provided mask.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The input image in JPEG, PNG, or WebP format. The file must not exceed 30MB in size or 16 Megapixels in resolution.

maskstring(binary)required

The mask image in JPEG, PNG, or WebP format. The mask must have the same resolution as the input image. It should be a black-and-white image where white areas indicate the regions to be removed and replaced. The file must not exceed 30MB in size or 16 Megapixels in resolution.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));
form.append('mask', fs.createReadStream('path/to/mask.png'));

// Make request
axios.post('https://api.neurall.io/v1/images/object-removal', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

The processed image with the object removed, returned in PNG format.

Bodyimage/png
string(binary)

Extension

Request

Extends the image by intelligently generating additional content on the specified sides. The final image resolution, including the extended area, must not exceed 16 Megapixels.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The input image in JPEG, PNG, or WebP format. The file size must not exceed 30MB, and the resolution (including the extended content) must remain under 16 Megapixels.

topinteger

Number of pixels to extend the image at the top.

bottominteger

Number of pixels to extend the image at the bottom.

leftinteger

Number of pixels to extend the image on the left side.

rightinteger

Number of pixels to extend the image on the right side.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));
form.append('top', '{{TOP}}')
form.append('bottom', '{{BOTTOM}}')
form.append('left', '{{LEFT}}')
form.append('right', '{{RIGHT}}')

// Make request
axios.post('https://api.neurall.io/v1/images/extension', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

The extended image, returned in PNG format.

Bodyimage/png
string(binary)

Text Removal

Request

Detects and removes text from an image using AI-powered inpainting to seamlessly fill the removed areas.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The input image in JPEG, PNG, or WebP format. The file must not exceed 30MB in size or 16 Megapixels in resolution.

const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));

// Make request
axios.post('https://api.neurall.io/v1/images/text-removal', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((response) => {
    console.error('Error in request: ', err);
})

Responses

The processed image with text removed, returned in PNG format.

Bodyimage/png
string(binary)

Background Removal

Request

Removes the background from an image, returning either the subject with a transparent background or a mask highlighting the detected subject.

Security
ApiKeyAuth
Bodymultipart/form-data
imagestring(binary)required

The input image in JPEG, PNG, or WebP format. The file must not exceed 30MB in size or 25 Megapixels in resolution.

return_maskbooleanrequired

If set to true, the API returns a binary mask instead of the processed image with the background removed.

Default true
const axios = require('axios');
const fs = require('fs');
const FormData = require('form-data');

// Create form data
const form = new FormData();
form.append('image', fs.createReadStream('path/to/image.png'));

// Make request
axios.post('https://api.neurall.io/v1/images/background-removal', form, {
    headers: {
        ...form.getHeaders(),
        authorization: '{{YOUR_API_KEY_HERE}}'
    },
    responseType: 'arraybuffer' // Expecting binary response
}).then((response) => {
    fs.writeFileSync('output.png', response.data);
    console.log('Image received and saved as output.png');
}).catch((err) => {
    console.error('Error in request: ', err);
})

Responses

The processed image with the background removed, returned in PNG format.

Bodyimage/png
string(binary)

AI Cloning

The AI Cloning section provides endpoints for training and managing AI-generated clones of subjects. Using a set of images, you can train an AI Cloning model to replicate a subject's appearance.
Once the training is complete, generate new images by calling /v1/images/pegasus-generation and passing the identity_id parameter in the request.

Operations

Audio

The Audio section provides advanced speech processing capabilities. Convert spoken words into precise text transcriptions with accurate timestamps for each word, enabling seamless integration into captioning, analytics, and more.

Operations