NAV
ImageEditor.ai
shell python php javascript C#

அறிமுகம்

ImageEditor.ai இயங்குதள API க்கு வரவேற்கிறோம்!

ImageEditor.ai's சிஸ்டத்தில் AI மூலம் படங்களை எளிதாக உருவாக்க அல்லது திருத்த எங்கள் பயனர்களுக்கு உதவும் வகையில் ஒவ்வொரு அம்சமும் வடிவமைக்கப்பட்டுள்ளது.

உங்கள் API விசையைப் பெற, கணக்குப் பக்கத்திற்குச் செல்லவும்.

இயல்புநிலை அடிப்படை URL

ImageEditor.ai APIக்கான இயல்புநிலை அடிப்படை URL: <b>https://api.imageeditor.ai/v1/</b>

குறிப்பு: பாதுகாப்பு காரணங்களுக்காக, அனைத்து ImageEditor.ai APIகளும் HTTPS மூலம் மட்டுமே வழங்கப்படுகின்றன.

அங்கீகாரம்

ImageEditor.ai API ஐப் பயன்படுத்த, உங்கள் கணக்குடன் இணைக்கப்பட்ட API விசை உங்களுக்குத் தேவைப்படும்.

அங்கீகார மதிப்பு தலைப்புகள் கோரிக்கையில் அனுப்பப்பட வேண்டும்.

Authorization: <api_key>

படங்களை உருவாக்கவும்

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
    "is_sfw": True,
    "negative_terms": "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
    "dimension": "landscape",
    "fix_faces": True,
    "make_tile": False,
    "upscale": False,
    "threesixty": False,
}
base_api_url = "https://api.imageeditor.ai"
api_url = f"{base_api_url}/v1"


def download_file(url, local_filename):
    url = f"{base_api_url}/{url}"
    with requests.get(url, stream=True) as r:
        with open(local_filename, "wb") as f:
            shutil.copyfileobj(r.raw, f)
    return local_filename


def convert_files(api_url, params, headers):
    r = requests.post(
        url=f"{api_url}/create-image/",
        json=params,
        headers=headers
    )
    return r.json()


def get_results(params):
    if params.get("error"):
        print(params)
        return

    r = requests.post(
        url=f"{api_url}/results/",
        data=params
    )
    data = r.json()
    finished = data.get("finished")

    while not finished:
        if int(data.get("queue_count")) > 0:
            print("queue: %s" % data.get("queue_count"))

        time.sleep(5)
        results = get_results(params)
        results = json.dumps(results)

        if results:
            break

    if finished:
        for f in data.get("files"):
            print(f.get("url"))
            download_file("%s" % f.get("url"), "%s" % f.get("filename"))
        return {"finished": "files downloaded"}
    return r.json()


get_results(convert_files(api_url, params, headers))
Create image

curl -X POST \
  https://api.imageeditor.ai/v1/create-image/ \
  -H 'Authorization: api_key' \
  -H 'Content-Type: application/json' \
  -d '{
    "terms": "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
    "is_sfw": true,
    "negative_terms": "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
    "dimension": "landscape",
    "fix_faces": true,
    "make_tile": false,
    "upscale": false,
    "threesixty": false
}'


Get created image URL

curl -X POST \
  https://api.imageeditor.ai/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$file_list = ['/test_files/test.jpeg'];
$api_url = "https://api.imageeditor.ai/v1/edit-image/";
$results_url = "https://api.imageeditor.ai/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.imageeditor.ai" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($file_list, $headers, $api_url) {
    $post_data['terms'] = 'பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட';
    $post_data['dimension'] = 'landscape';
    $post_data['fix_faces'] = true;
    $post_data['make_tile'] = false;
    $post_data['upscale'] = false;
    $post_data['threesixty'] = false;

    foreach ($file_list as $index => $file) {
        $post_data['file[' . $index . ']'] = curl_file_create(
            realpath($file),
            mime_content_type($file),
            basename($file)
        );
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $api_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = curl_exec($curl);
    curl_close($curl);

    return json_decode($content);
}

function get_results($params, $results_url, $headers) {
    if ($params->error) {
        print_r($params->error);
        return;
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $results_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = json_decode(curl_exec($curl));
    curl_close($curl);

    if ($content->finished == false) {
        if (intval($content->queue_count) > 0) {
            print_r("queue: $content->queue_count");
        }

        sleep(5);
        $results = get_results($params, $results_url, $headers);
        return;
    }

    foreach ($content->files as $f) {
        download_file($f->url, $f->filename);
    }
}

$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');

let file_list = ['/test_files/sala.png']
const api_url = 'https://api.imageeditor.ai/v1/create-image/'
const results_url = 'https://api.imageeditor.ai/v1/results/'

function convertFiles(file_list) {
    let data = {
        "terms": "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
        "is_sfw": true,
        "negative_terms": "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
        "dimension": "landscape",
        "fix_faces": true,
        "make_tile": false,
        "upscale": false,
        "threesixty": false,
    };

    for (var i = 0; i < file_list.length; i++) {
        formData['files'] = fs.createReadStream(file_list[i]);
    }

    request({
        url: api_url,
        method: 'post',
        json: data,
        headers: {
            "Authorization": "api_key",
            "Content-Type": "application/json",
        }
    }, function (err, res, body) {
        if (err) {
            console.error(err);
            return err;
        }
        getResults(JSON.parse(body));
    });
}

function getResults(data) {
    if (data.error) {
        console.error(data);
        return data.error;
    }
    request({
        url: results_url,
        method: 'post',
        formData: data
    }, function (e, r, body) {
        response = JSON.parse(body);
        console.log(response);
        if (!response.finished) {
            setTimeout(
                function () {
                    getResults(data);
                }, 1000
            );
        }

        console.log(response);
    })
}

convertFiles(file_list);
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static readonly HttpClient client = new HttpClient();

    static async Task Main()
    {
        client.DefaultRequestHeaders.Add("Authorization", "api_key");

        // Create image
        var content = new StringContent(
            JsonConvert.SerializeObject(new
            {
                terms = "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
                is_sfw = true,
                negative_terms = "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
                dimension = "landscape",
                fix_faces = true,
                make_tile = false,
                upscale = false,
                threesixty = false
            }),
            System.Text.Encoding.UTF8,
            "application/json"
        );
        var response = await client.PostAsync("https://api.imageeditor.ai/v1/create-image/", content);
        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);

        // Poll for results
        bool finished = false;
        while (!finished)
        {
            var pollContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("uuid", (string)data.uuid)
            });
            var pollRes = await client.PostAsync("https://api.imageeditor.ai/v1/results/", pollContent);
            var pollResult = await pollRes.Content.ReadAsStringAsync();
            var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);

            finished = (bool)pollData.finished;
            if (!finished) await Task.Delay(5000);
            else Console.WriteLine(pollResult);
        }
    }
}

பதில்

/path/to/local/result.jpg

HTTP கோரிக்கை

POST /create-image/

வினவல் அளவுருக்கள்

அளவுரு வகை விளக்கம் உதாரணமாக
is_sfw விருப்பமானது வயது வந்தோருக்கான பட உள்ளடக்கத்திற்கான "விதிமுறைகள் "true" என்பதை அமைக்கவும் true அல்லது false
terms தேவை நீங்கள் எந்த படத்தை உருவாக்க விரும்புகிறீர்கள் என்று AIக்கு சொல்லுங்கள். பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை
negative_terms விருப்பமானது எதை விலக்க வேண்டும் என்று AIக்கு சொல்லுங்கள். நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட
dimension விருப்பமானது போர்ட்ரெய்ட் அல்லது லேண்ட்ஸ்கேப் படங்களைப் பெறுங்கள், காலியாகவோ அல்லது பூஜ்யமாகவோ இருந்தால் "போர்ட்ரெய்ட்" மதிப்பு இயல்புநிலையாக இருக்கும். portrait அல்லது landscape
fix_faces விருப்பமானது முடிவுப் படங்களில் முகங்களைச் சரிசெய்ய AI ஐ அனுமதிக்கவும், அனுப்பவில்லை என்றால் தவறான மதிப்பு இயல்புநிலையாகும். true அல்லது false
make_tile விருப்பமானது பேட்டர்னாகப் பயன்படுத்தக்கூடிய படத்தை நீங்கள் விரும்பினால், true அமைக்கவும். true அல்லது false
upscale விருப்பமானது AI ஒரு பெரிய அளவிலான படத்தை வழங்கும். true அல்லது false
threesixty விருப்பமானது AI 360º படத்தை வழங்கும். true அல்லது false

படங்களை திருத்தவும்

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "பூனைக்குட்டிகளின் கிண்ணம்",
    "is_sfw": True,
    "replacing": "பழங்கள் மற்றும் பழத்தின் தண்டு",
    "negative_terms": "",
    "fix_faces": True,
    "outpaint": False,
    "upscale": False,
}
file_path = "path/to/test.jpeg"
base_api_url = "https://api.imageeditor.ai"
api_url = f"{base_api_url}/v1"


def download_file(url, local_filename):
    url = f"{base_api_url}/{url}"
    with requests.get(url, stream=True) as r:
        with open(local_filename, "wb") as f:
            shutil.copyfileobj(r.raw, f)
    return local_filename


def convert_files(api_url, params, headers):
    files = [eval(f'("files", open("{file_path}", "rb"))')]
    r = requests.post(
        url=f"{api_url}/edit-image/",
        files=files,
        data=params,
        headers=headers
    )
    return r.json()


def get_results(params):
    if params.get("error"):
        print(params)
        return

    r = requests.post(
        url=f"{api_url}/results/",
        data=params
    )
    data = r.json()
    finished = data.get("finished")

    while not finished:
        if int(data.get("queue_count")) > 0:
            print("queue: %s" % data.get("queue_count"))

        time.sleep(5)
        results = get_results(params)
        results = json.dumps(results)

        if results:
            break

    if finished:
        for f in data.get("files"):
            print(f.get("url"))
            download_file("%s" % f.get("url"), "%s" % f.get("filename"))
        return {"finished": "files downloaded"}
    return r.json()


get_results(convert_files(api_url, params, headers))
படங்களை திருத்தவும்

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=பூனைக்குட்டிகளின் கிண்ணம்' \
  -F 'is_sfw=true' \
  -F 'replacing=பழங்கள் மற்றும் பழத்தின் தண்டு' \
  -F 'negative_terms=' \
  -F 'fix_faces=true' \
  -F 'outpaint=false' \
  -F 'upscale=false'


Get result image

curl -X POST \
  https://api.imageeditor.ai/v1/results/ \
  -F 'uuid=response_uuid'
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);

$headers = array("Authorization: api_key");
$file_list = ['/test_files/test.jpeg'];
$api_url = "https://api.imageeditor.ai/v1/edit-image/";
$results_url = "https://api.imageeditor.ai/v1/results/";

function download_file($url, $filename){
    $curl = curl_init();
    $url = "https://api.imageeditor.ai" . $url;
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSLVERSION, 3);
    $data = curl_exec($curl);
    $error = curl_error($curl);
    curl_close ($curl);
    # Make sure destionation path exists
    $destination_path = "/path/to/result/files/";
    $destination_file = fopen($destination_path . $filename, "w+");
    fwrite($destination_file, $data);
    fclose($destination_file);
}

function convert_files($file_list, $headers, $api_url) {
    $post_data['terms'] = 'பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'பழங்கள் மற்றும் பழத்தின் தண்டு';
    $post_data['negative_terms'] = '';
    $post_data['fix_faces'] = true;
    $post_data['outpaint'] = false;
    $post_data['upscale'] = false;

    foreach ($file_list as $index => $file) {
        $post_data['file[' . $index . ']'] = curl_file_create(
            realpath($file),
            mime_content_type($file),
            basename($file)
        );
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $api_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = curl_exec($curl);
    curl_close($curl);

    return json_decode($content);
}

function get_results($params, $results_url, $headers) {
    if ($params->error) {
        print_r($params->error);
        return;
    }

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $results_url);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $content = json_decode(curl_exec($curl));
    curl_close($curl);

    if ($content->finished == false) {
        if (intval($content->queue_count) > 0) {
            print_r("queue: $content->queue_count");
        }

        sleep(5);
        $results = get_results($params, $results_url, $headers);
        return;
    }

    foreach ($content->files as $f) {
        download_file($f->url, $f->filename);
    }
}

$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');

let file_list = ['/test_files/test.jpeg']
const api_url = 'https://api.imageeditor.ai/v1/edit-image/'
const results_url = 'https://api.imageeditor.ai/v1/results/'

function convertFiles(file_list) {
    let formData = {
        "terms": "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
        "is_sfw": true,
        "negative_terms": "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
        "dimension": "landscape",
        "fix_faces": true,
        "make_tile": false,
        "upscale": false,
        "threesixty": false,
    };

    for (var i = 0; i < file_list.length; i++) {
        formData['files'] = fs.createReadStream(file_list[i]);
    }

    request({
        url: api_url,
        method: 'post',
        formData: formData,
        headers: {
            "Authorization": "api_key",
            "Content-Type": "multipart/form-data",
        }
    }, function (err, res, body) {
        if (err) {
            console.error(err);
            return err;
        }
        getResults(JSON.parse(body));
    });
}

function getResults(data) {
    if (data.error) {
        console.error(data);
        return data.error;
    }
    request({
        url: results_url,
        method: 'post',
        formData: data
    }, function (e, r, body) {
        response = JSON.parse(body);
        console.log(response);
        if (!response.finished) {
            setTimeout(
                function () {
                    getResults(data);
                }, 1000
            );
        }

        console.log(response);
    })
}

convertFiles(file_list);
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static readonly HttpClient client = new HttpClient();

    static async Task Main()
    {
        client.DefaultRequestHeaders.Add("Authorization", "api_key");

        // Edit image with file upload
        var form = new MultipartFormDataContent();
        form.Add(new StringContent("பூனைக்குட்டிகளின் கிண்ணம்"), "terms");
        form.Add(new StringContent("true"), "is_sfw");
        form.Add(new StringContent("பழங்கள் மற்றும் பழத்தின் தண்டு"), "replacing");
        form.Add(new StringContent(""), "negative_terms");
        form.Add(new StringContent("true"), "fix_faces");
        form.Add(new StringContent("false"), "outpaint");
        form.Add(new StringContent("false"), "upscale");
        form.Add(new ByteArrayContent(File.ReadAllBytes("test.jpeg")), "files", "test.jpeg");

        var response = await client.PostAsync("https://api.imageeditor.ai/v1/edit-image/", form);
        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);

        // Poll for results
        bool finished = false;
        while (!finished)
        {
            var pollContent = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("uuid", (string)data.uuid)
            });
            var pollRes = await client.PostAsync("https://api.imageeditor.ai/v1/results/", pollContent);
            var pollResult = await pollRes.Content.ReadAsStringAsync();
            var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);

            finished = (bool)pollData.finished;
            if (!finished) await Task.Delay(5000);
            else Console.WriteLine(pollResult);
        }
    }
}

பதில்

/path/to/local/result.jpg

HTTP கோரிக்கை

POST /edit-image/

வினவல் அளவுருக்கள்

அளவுரு வகை விளக்கம் உதாரணமாக
is_sfw விருப்பமானது வயது வந்தோருக்கான பட உள்ளடக்கத்திற்கான "விதிமுறைகள் "true" என்பதை அமைக்கவும் true அல்லது false
terms தேவை உங்கள் படத்தின் அடிப்படையில் உங்களுக்கு என்ன வேண்டும் என்று AIயிடம் சொல்லுங்கள். பூனைக்குட்டிகளின் கிண்ணம்
replacing விருப்பமானது மேலே உள்ள உங்கள் அறிவுறுத்தலின் அடிப்படையில் உங்கள் படத்தில் ஏதேனும் ஒன்றை மாற்ற விரும்பினால், AI க்கு தெரிவிக்கவும் பழங்கள் மற்றும் பழத்தின் தண்டு
negative_terms விருப்பமானது எதை விலக்க வேண்டும் என்று AIக்கு சொல்லுங்கள். நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட
fix_faces விருப்பமானது முடிவுப் படங்களில் முகங்களைச் சரிசெய்ய AI ஐ அனுமதிக்கவும், அனுப்பவில்லை என்றால் தவறான மதிப்பு இயல்புநிலையாகும். true அல்லது false
outpaint விருப்பமானது ஒரு தொடக்கப் படத்தைக் கொடுத்தால், AI அதன் "சுற்றுப்புறங்களை" உருவாக்க முடியும். true அல்லது false
upscale விருப்பமானது AI ஒரு பெரிய அளவிலான படத்தை வழங்கும். true அல்லது false