NAV
ImageEditor.ai
shell python php javascript

Giriş

ImageEditor.ai platforma API-yə xoş gəlmisiniz!

Hər bir xüsusiyyət istifadəçilərimizə ImageEditor.ai sistemində AI ilə şəkilləri daha asan yaratmaq və ya redaktə etməkdə kömək etmək üçün nəzərdə tutulmuşdur.

API açarınızı əldə etmək üçün hesab səhifəsinə keçin.

Defolt Əsas URL

ImageEditor.ai API üçün standart əsas URL: <b>https://api.imageeditor.ai/v1/</b>

Qeyd: təhlükəsizlik səbəbi ilə bütün ImageEditor.ai API-ləri yalnız HTTPS üzərindən xidmət göstərir.

Səlahiyyət

ImageEditor.ai API-dən istifadə etmək üçün sizə hesabınızla əlaqəli API açarı lazımdır.

Avtorizasiya dəyəri Başlıq sorğusunda göndərilməlidir.

Authorization: <api_key>

Şəkillər yaradın

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "dovşan məktəbə gedir, cahil üslubda döymə sənəti",
    "is_sfw": True,
    "negative_terms": "dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş",
    "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": "dovşan məktəbə gedir, cahil üslubda döymə sənəti",
    "is_sfw": true,
    "negative_terms": "dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş",
    "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'] = 'dovşan məktəbə gedir, cahil üslubda döymə sənəti';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş';
    $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": "dovşan məktəbə gedir, cahil üslubda döymə sənəti",
        "is_sfw": true,
        "negative_terms": "dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş",
        "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);

Cavab

/path/to/local/result.jpg

HTTP sorğusu

POST /create-image/

Sorğu parametrləri

Parametr Növ Təsvir Misal
is_sfw Könüllü "true" seçin true və ya false
terms Tələb olunur Süni intellektə hansı təsviri yaratmaq istədiyinizi deyin. dovşan məktəbə gedir, cahil üslubda döymə sənəti
negative_terms Könüllü Nəyin xaric edilməli olduğunu AI-ya deyin. dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş
dimension Könüllü Portret və ya landşaft şəkillərini əldə edin, boş və ya sıfır olduqda "portret" dəyəri standartdır. portrait və ya landscape
fix_faces Könüllü Nəticə şəkillərindəki üzləri düzəltməyə AI-ya icazə verin, göndərilməsə, yanlış dəyər standartdır. true və ya false
make_tile Könüllü Naxış kimi istifadə edilə bilən bir şəkil istəyirsinizsə, true seçin. true və ya false
upscale Könüllü Süni intellekt daha böyük ölçülü şəkil qaytaracaq. true və ya false
threesixty Könüllü Süni intellekt 360º təsviri qaytaracaq. true və ya false

Şəkilləri redaktə edin

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Pişik qabı",
    "is_sfw": True,
    "replacing": "meyvə və meyvə gövdəsi",
    "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))
Şəkilləri redaktə edin

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Pişik qabı' \
  -F 'is_sfw=true' \
  -F 'replacing=meyvə və meyvə gövdəsi' \
  -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'] = 'dovşan məktəbə gedir, cahil üslubda döymə sənəti';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'meyvə və meyvə gövdəsi';
    $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": "dovşan məktəbə gedir, cahil üslubda döymə sənəti",
        "is_sfw": true,
        "negative_terms": "dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş",
        "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);

Cavab

/path/to/local/result.jpg

HTTP sorğusu

POST /edit-image/

Sorğu parametrləri

Parametr Növ Təsvir Misal
is_sfw Könüllü "true" seçin true və ya false
terms Tələb olunur Şəkilinizə əsaslanaraq AI-yə nə istədiyinizi deyin. Pişik qabı
replacing Könüllü Yuxarıdakı göstərişinizə əsasən şəklinizdə nəyisə əvəz etmək istəyirsinizsə, AI-yə bildirin meyvə və meyvə gövdəsi
negative_terms Könüllü Nəyin xaric edilməli olduğunu AI-ya deyin. dublikat, zəif çəkilmiş üz, xəstə, zəif çəkilmiş barmaqlar, çirkin, bulanıq, cizgi filmi, disney, çərçivədən kənar, kəsilmiş
fix_faces Könüllü Nəticə şəkillərindəki üzləri düzəltməyə AI-ya icazə verin, göndərilməsə, yanlış dəyər standartdır. true və ya false
outpaint Könüllü Başlanğıc təsviri nəzərə alaraq, AI onun "ətrafını" yarada bilər true və ya false
upscale Könüllü Süni intellekt daha böyük ölçülü şəkil qaytaracaq. true və ya false