NAV
ImageEditor.ai
shell python php javascript

Nhanganyaya

Kugamuchirwa kuImageEditor.ai papuratifomu API!

Chimiro chega chega chakagadzirirwa kubatsira vashandisi vedu kugadzira kana kugadzirisa mifananidzo neAI pane ImageEditor.ai's system.

Kuti uwane kiyi yako yeAPI ndapota enda kune account peji .

Default Base URL

Iyo default base URL ye ImageEditor.ai API ndeiyi: <b>https://api.imageeditor.ai/v1/</b>

Cherechedza: nekuda kwezvikonzero zvekuchengetedza, ese ImageEditor.ai APIs anopihwa pamusoro peHTTPS chete.

Mvumo

Kuti ushandise ImageEditor.ai API, unozoda kiyi yeAPI yakabatana neakaundi yako.

Iko kukosha kwemvumo kunofanirwa kutumirwa mune Headers chikumbiro.

Authorization: <api_key>

Gadzira mifananidzo

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora",
    "is_sfw": True,
    "negative_terms": "piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa",
    "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": "tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora",
    "is_sfw": true,
    "negative_terms": "piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa",
    "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'] = 'tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa';
    $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": "tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora",
        "is_sfw": true,
        "negative_terms": "piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa",
        "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);

Mhinduro

/path/to/local/result.jpg

Chikumbiro cheHTTP

POST /create-image/

Query parameters

Parameter Type Tsanangudzo Muenzaniso
is_sfw Optional Seta "true" kana "matemu" ari ezvinyorwa zvemifananidzo yevakuru true kana false
terms Zvinodiwa Udza iyo AI kuti ndeupi mufananidzo waunoda kugadzira. tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora
negative_terms Optional Udza AI izvo zvinofanirwa kubviswa. piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa
dimension Optional Tora mufananidzo kana mifananidzo yemamiriro, "portrait" kukosha ndeye default kana isina kana isina. portrait kana landscape
fix_faces Optional Rega iyo AI igadzirise zviso mumifananidzo yemhedzisiro, Nhema kukosha ndeye default kana isiri kutumira. true kana false
make_tile Optional Seta true kana iwe uchida chifananidzo chinogona kushandiswa sepateni. true kana false
upscale Optional Iyo AI ichadzosa yakakura yakasimudzwa mufananidzo. true kana false
threesixty Optional Iyo AI ichadzosa mufananidzo we360ยบ. true kana false

Rongedza mifananidzo

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Bowl of kittens",
    "is_sfw": True,
    "replacing": "michero nedzinde remichero",
    "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))
Rongedza mifananidzo

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Bowl of kittens' \
  -F 'is_sfw=true' \
  -F 'replacing=michero nedzinde remichero' \
  -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'] = 'tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'michero nedzinde remichero';
    $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": "tsuro kuenda kuchikoro, kusaziva maitiro ekunyora nyora",
        "is_sfw": true,
        "negative_terms": "piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa",
        "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);

Mhinduro

/path/to/local/result.jpg

Chikumbiro cheHTTP

POST /edit-image/

Query parameters

Parameter Type Tsanangudzo Muenzaniso
is_sfw Optional Seta "true" kana "matemu" ari ezvinyorwa zvemifananidzo yevakuru true kana false
terms Zvinodiwa Udza iyo AI zvaunoda zvichibva pamufananidzo wako. Bowl of kittens
replacing Optional Udza iyo AI kana iwe uchida kutsiva chimwe chinhu mumufananidzo wako zvichienderana nekukasira kwako pamusoro michero nedzinde remichero
negative_terms Optional Udza AI izvo zvinofanirwa kubviswa. piriviri, chiso chisina kudhonzwa zvakanaka, chigunwe, minwe isina kudhonzwa zvakanaka, yakashata, isina kujeka, katuni, disney, kunze kwefuremu, yakadimburwa
fix_faces Optional Rega iyo AI igadzirise zviso mumifananidzo yemhedzisiro, Nhema kukosha ndeye default kana isiri kutumira. true kana false
outpaint Optional Kupihwa mufananidzo wekutanga, iyo AI inogona kuigadzira "yakakomberedza" true kana false
upscale Optional Iyo AI ichadzosa yakakura yakasimudzwa mufananidzo. true kana false