GET STARTED

Introduction

The MiniToolAI API provides a simple interface to state-of-the-art AI models for natural language processing, image generation, text to speech. Follow this guide to learn how to generate human-like responses (chatGPT), generate image from textual descriptions.

Create an API key

sk-*************   Log in to generate API key

Top up

The cost of API requests will be deducted from your credit balance.

Top up

Authorization

The API key must be included in the header for each API request.

Header: "Authorization: Bearer API_key"

 

 

 

 

ChatGPT API

Creates a model response for the given chat conversation.

Python PHP
import requests
import json
API_Url = "https://minitoolai.com/api/chat-completions/"
API_Key = "MiniToolAI_API_Key"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_Key}"
}
data = {
    "model": "gpt-4o-mini", #gpt-4o, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano
    "messages": [
		{"role": "developer", "content": "You are a helpful assistant."},
		{"role": "user", "content": "Hello"},
		{"role": "assistant", "content": "How can I help you today?"},
		{"role": "user", "content": "What's the largest U.S. state by area?"}
    ],
	"temperature": 1.0,
	"max_completion_tokens": 1000
}

response = requests.post(API_Url, headers=headers, json=data, stream=True)

#single result
print(response.text) 

#streamed
for line in response.iter_lines():
    if line:
        decode_line = line.decode('utf-8')
        print(decode_line)
<?php

$api_url = "https://minitoolai.com/api/chat-completions/";
$api_key = "MiniToolAI_API_Key"; 

$data = [
    "model" => "gpt-4o-mini", //gpt-4o, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano
    "messages" => [
        ["role" => "developer", "content" => "You are a helpful assistant."],
        ["role" => "user", "content" => "Hello"],
        ["role" => "assistant", "content" => "How can I help you today?"],
        ["role" => "user", "content" => "What's the largest U.S. state by area?"],
    ],
    "temperature" => 1.0,
    "max_completion_tokens" => 1000
];

$headers = [
    "Content-Type: application/json",
    "Authorization: Bearer $api_key"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

// streamed
curl_setopt($ch, CURLOPT_WRITEFUNCTION, function($ch, $data) {
    echo $data;
    ob_flush(); 
    flush();     
    return strlen($data); 
});

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "cURL error: " . curl_error($ch);
} 

curl_close($ch);

?>
#data with image input
data = {
    "model": "gpt-4o-mini", #gpt-4o
    "messages": [
        {"role": "developer", "content": "You are a helpful assistant."},
        {
            "role": "user", 
            "content": [
                {"type": "text", "text": "What's in this image?"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/image.jpg", #jpg, jpeg, png, webp or gif
                        "detail": "auto" #auto, high or low
                    }
                }
            ]
        }

    ],
    "temperature": 0.7,
    "max_completion_tokens": 300
}
//data with image input
$data = [
    "model" => "gpt-4o-mini", // gpt-4o
    "messages" => [
        ["role" => "developer", "content" => "You are a helpful assistant."],
        [
            "role" => "user",
            "content" => [
                [
                    "type" => "text",
                    "text" => "What's in this image?"
                ],
                [
                    "type" => "image_url",
                    "image_url" => [
                        "url" => "https://example.com/image.jpg", // jpg, jpeg, png, webp or gif
                        "detail" => "auto" // auto, high or low
                    ]
                ]
            ]
        ]
    ],
    "temperature" => 0.7,
    "max_completion_tokens" => 300
];

Request body

messages array Required

A list of messages comprising the conversation so far.

  • Developer message: Developer-provided instructions that the model should follow, regardless of messages sent by the user
  • User message: Messages sent by an end user, containing prompts or additional context information.
  • Assistant message: Messages sent by the model in response to user messages.

model string Required

ID of the model to use

Available models: gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano

temperature number or null Optional

Defaults to 1

What sampling temperature to use, between 0.0 and 2.0. Higher values like 0.8 will make the output more creative, while lower values like 0.2 will make it more focused and deterministic.

max_completion_tokens integer or null Optional

Defaults to 1000

An upper bound for the number of tokens that can be generated for a completion

Response

data: {"id":"chatcmpl-B5qoZsT8kFDNJK3UyGLiJmjv6Pp90","object":"chat.completion.chunk","created":1740734359,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_06737a9306","choices":[{"index":0,"delta":{"content":"Ok"},"logprobs":null,"finish_reason":null}],"usage":null}

data: {"id":"chatcmpl-B5qoZsT8kFDNJK3UyGLiJmjv6Pp90","object":"chat.completion.chunk","created":1740734359,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_06737a9306","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}],"usage":null}

data: {"id":"chatcmpl-B5qoZsT8kFDNJK3UyGLiJmjv6Pp90","object":"chat.completion.chunk","created":1740734359,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_06737a9306","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}],"usage":null}

data: {"id":"chatcmpl-B5qoZsT8kFDNJK3UyGLiJmjv6Pp90","object":"chat.completion.chunk","created":1740734359,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_06737a9306","choices":[],"usage":{"prompt_tokens":17,"completion_tokens":3,"total_tokens":20,"prompt_tokens_details":{"cached_tokens":0,"audio_tokens":0},"completion_tokens_details":{"reasoning_tokens":0,"audio_tokens":0,"accepted_prediction_tokens":0,"rejected_prediction_tokens":0}}}

data: [DONE]

 

 

 

 

Text to Image

Creates an image given a prompt.

Python PHP
import requests
import json
url = "https://minitoolai.com/api/texttoimage/"
API_Key = "MiniToolAI_API_Key"
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_Key}"
}
data = {
    "model": "realvision",
    "prompt": "Ultra realistic portrait of a 20 year old woman, wearing an elegant black gown, joyful expression, deep shadows, cinematic composition, moody lighting",
    "negativePrompt": "unrealistic eyes, malformed features, ugly drawn",
    "scheduler": "DPM++ SDE",
    "steps": 4,
    "cfgScale": 2.0,
    "width": 1152,
    "height": 768
}
response = requests.post(url, json=data, headers=headers)
print(response.text)

'''
#response
Success:
{"status":"success","jobid":12345678,"signature":"abcxyz123"}
Error:
{"status":"error","jobid":null,"signature":null}
'''
<?php
// API URL and Key
$url = "https://minitoolai.com/api/texttoimage/";
$API_Key = "MiniToolAI_API_Key";

// Headers
$headers = [
    "Content-Type: application/json",
    "Authorization: Bearer $API_Key"
];

// Data to be sent in the request
$data = [
    "model" => "realvision",
    "prompt" => "Ultra realistic portrait of a 20 year old woman, wearing an elegant black gown, joyful expression, deep shadows, cinematic composition, moody lighting",
    "negativePrompt" => "unrealistic eyes, malformed features, ugly drawn",
    "scheduler" => "DPM++ SDE",
    "steps" => 4,
    "cfgScale" => 2.0,
    "width" => 1152,
    "height" => 768
];

// Initialize cURL session
$ch = curl_init();

// Set cURL options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

// Execute the cURL request
$response = curl_exec($ch);

echo $response;

// Close the cURL session
curl_close($ch);

/*
Response:
Success:
{"status":"success","jobid":12345678,"signature":"abcxyz123"}
Error:
{"status":"error","jobid":null,"signature":null}
*/
?>

Retrieve Job Status and Result

curl -X POST https://minitoolai.com/api/texttoimage/jobs/ \
  -H "Content-Type: application/json" \
  -d '{
    "jobid": "12345678",
    "signature": "abcxyz123"
  }'

Response

{
  "status": "success",
  "image_url": "https://...",
  "message": "success"
}

model string Required

ID of the model to use

Available models: "realvision", "juggernaut", "autismmix", "dreamshaper", "valhalla", "mixrealistic", "campursari", "reality", "extrarealistic", "realism", "realgirls", "realityreborn", "amigo", "simplemix", "beautifulrealistic"

prompt string Required

Description of the image

negativePrompt string or null Optional

Description what you wish to exclude from the generated image

scheduler string or null Optional

Controls how noise is removed during the image generation process.

Defaults to "DPM++ SDE"

Possible values are: "Euler a", "Euler", "LMS", "Heun", "DPM2", "DPM2 a", "DPM++ 2S a", "DPM++ 2M", "DPM++ SDE", "DPM++ 2M SDE", "DPM fast", "LMS Karras", "DPM2 Karras", "DPM2 a Karras", "DPM++ 2S a Karras", "DPM++ 2M Karras", "DPM++ SDE Karras", "DPM++ 2M SDE Karras"

steps integer or null Optional

The number of steps for the image generation process, between 1 and 8.

Defaults to 4

cfgScale number or null Optional

cfgScale controls how much the model should adhere to the given text prompt. It balances between creativity and prompt accuracy, between 1 and 7.

Defaults to 2

cfgScale < 4 → more creative images, cfgScale > 4 → closer to prompt, less creative

width/height integer or null Optional

The size of the generated image, beetween 256 to 1344.

Defaults to 1024

 

 

 

 

API Pricing

GPT Models

Price per 1M tokens

Model Input Output
gpt-4o-mini $0.15 $0.60
gpt-4o $2.50 $10.00
gpt-4.1 $2.00 $8.00
gpt-4.1-mini $0.40 $1.60
gpt-4.1-nano $0.10 $0.40

Image Generation

Model Price per Image
All models $0.0015

 

 

 

 

API Usage

Log in to see API usage

Text Generation

Image Generation