NAV
ImageEditor.ai
shell python php javascript

Intshayelelo

Wamkelekile kwiqonga le-ImageEditor.ai!

Inqaku ngalinye lenzelwe ukunceda abasebenzisi bethu benze okanye bahlele imifanekiso ngokulula nge-AI kwinkqubo ye-ImageEditor.ai.

Ukufumana isitshixo sakho se-API nceda uye kwiphepha le-akhawunti .

i-URL yeSiseko esiMiselweyo

Isiseko esisisiseko se-URL ye-ImageEditor.ai API yile: <b>https://api.imageeditor.ai/v1/</b>

Qaphela: ngenxa yezizathu zokhuseleko, zonke ii-ImageEditor.ai APIs zinikezelwa nge-HTTPS kuphela.

Ugunyaziso

Ukusebenzisa i-ImageEditor.ai API, uya kufuna isitshixo se-API esidityaniswe neakhawunti yakho.

Ixabiso logunyaziso kufuneka lithunyelwe ngesicelo seHeada.

Authorization: <api_key>

Yenza imifanekiso

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "umvundla ukuya esikolweni, ukungazi style tattoo art",
    "is_sfw": True,
    "negative_terms": "impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe",
    "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": "umvundla ukuya esikolweni, ukungazi style tattoo art",
    "is_sfw": true,
    "negative_terms": "impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe",
    "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'] = 'umvundla ukuya esikolweni, ukungazi style tattoo art';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe';
    $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": "umvundla ukuya esikolweni, ukungazi style tattoo art",
        "is_sfw": true,
        "negative_terms": "impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe",
        "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);

Impendulo

/path/to/local/result.jpg

Isicelo seHTTP

POST /create-image/

Iiparamitha zombuzo

Ipharamitha Uhlobo Inkcazo Umzekelo
is_sfw Ukhetho Cwangcisa "true" ukuba "imiqathango" yeyabantu abadala umxholo true okanye false
terms Kufuneka Xelela i-AI ngowuphi umfanekiso ofuna ukuwenza. umvundla ukuya esikolweni, ukungazi style tattoo art
negative_terms Ukhetho Xelela i-AI ukuba yintoni ekufanele ingabandakanywa. impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe
dimension Ukhetho Fumana umfanekiso okanye imifanekiso yokuma komhlaba, ixabiso elithi "portrait" lihlala lihleli ukuba alinanto okanye alikho. portrait okanye landscape
fix_faces Ukhetho Vumela i-AI ukulungisa ubuso kwimifanekiso yesiphumo, Ixabiso lobuxoki aligqibekanga ukuba ayithumeli. true okanye false
make_tile Ukhetho Cwangcisa true ukuba ufuna umfanekiso onokusetyenziswa njengepateni. true okanye false
upscale Ukhetho I-AI iya kubuyisela umfanekiso omkhulu owenziweyo. true okanye false
threesixty Ukhetho I-AI iya kubuyisela umfanekiso we-360ยบ. true okanye false

Hlela imifanekiso

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Isitya samantshontsho ekati",
    "is_sfw": True,
    "replacing": "iziqhamo kunye nesiqu seziqhamo",
    "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))
Hlela imifanekiso

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Isitya samantshontsho ekati' \
  -F 'is_sfw=true' \
  -F 'replacing=iziqhamo kunye nesiqu seziqhamo' \
  -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'] = 'umvundla ukuya esikolweni, ukungazi style tattoo art';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'iziqhamo kunye nesiqu seziqhamo';
    $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": "umvundla ukuya esikolweni, ukungazi style tattoo art",
        "is_sfw": true,
        "negative_terms": "impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe",
        "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);

Impendulo

/path/to/local/result.jpg

Isicelo seHTTP

POST /edit-image/

Iiparamitha zombuzo

Ipharamitha Uhlobo Inkcazo Umzekelo
is_sfw Ukhetho Cwangcisa "true" ukuba "imiqathango" yeyabantu abadala umxholo true okanye false
terms Kufuneka Xelela i-AI into oyifunayo ngokusekelwe kumfanekiso wakho. Isitya samantshontsho ekati
replacing Ukhetho Xelela i-AI ukuba ufuna ukutshintsha into ethile kumfanekiso wakho ngokusekwe kwi-prompt yakho engentla iziqhamo kunye nesiqu seziqhamo
negative_terms Ukhetho Xelela i-AI ukuba yintoni ekufanele ingabandakanywa. impinda, ubuso obuzotywe kakubi, iminwe eyotywe kakubi, imbi, buthuntu, ikhathuni, idisney, iphumile kwifreyim, inqunyulwe
fix_faces Ukhetho Vumela i-AI ukulungisa ubuso kwimifanekiso yesiphumo, Ixabiso lobuxoki aligqibekanga ukuba ayithumeli. true okanye false
outpaint Ukhetho Unikwe umfanekiso wokuqala, i-AI inokuvelisa "iindawo ezingqongileyo" true okanye false
upscale Ukhetho I-AI iya kubuyisela umfanekiso omkhulu owenziweyo. true okanye false