NAV
ImageEditor.ai
shell python php javascript

Hordhac

Ku soo dhawoow ImageEditor.ai platform API!

Sifo kasta waxaa loogu talagalay inay ka caawiso isticmaaleyaasheenna si fudud inay u abuuraan ama wax uga beddelaan sawirada AI ee nidaamka ImageEditor.ai.

Si aad u hesho furaha API-ga fadlan tag bogga xisaabta

Asal ahaan URL

URL-ka aasaasiga ah ee ImageEditor.ai API waa: <b>https://api.imageeditor.ai/v1/</b>

Xusuusin: sababo ammaan dartood, dhammaan ImageEditor.ai APIs waxaa loo adeegaa HTTPS kaliya.

Oggolaanshaha

Si aad u isticmaasho ImageEditor.ai API, waxaad u baahan doontaa furaha API ee ku xidhan akoonkaaga .

Qiimaha oggolaanshaha waa in lagu soo diraa codsiga Headers.

Authorization: <api_key>

Samee sawirro

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin",
    "is_sfw": True,
    "negative_terms": "nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay",
    "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": "bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin",
    "is_sfw": true,
    "negative_terms": "nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay",
    "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'] = 'bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay';
    $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": "bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin",
        "is_sfw": true,
        "negative_terms": "nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay",
        "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);

Jawaabta

/path/to/local/result.jpg

Codsiga HTTP

POST /create-image/

Halbeegyada weydiinta

Halbeegga Nooca Sharaxaada Tusaale
is_sfw Ikhtiyaar ah Deji "true" haddii "shuruudaha" loogu talagalay nuxurka sawirka dadka waaweyn true ama false
terms Loo baahan yahay U sheeg AI sawirka aad rabto inaad abuurto. bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin
negative_terms Ikhtiyaar ah U sheeg AI waxa ay tahay in laga reebo. nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay
dimension Ikhtiyaar ah Hel sawir ama muuqaal muuqaal ah, "sawir" qiimihiisu waa default haddii ay madhan tahay ama waxba. portrait ama landscape
fix_faces Ikhtiyaar ah U oggolow AI inay hagaajiso wejiyada sawirada natiijada, Qiimaha beenta ah waa mid aan la soo dirin haddii aan la dirin. true ama false
make_tile Ikhtiyaar ah Run u true haddii aad rabto sawir loo isticmaali karo qaab ahaan. true ama false
upscale Ikhtiyaar ah AI waxay soo celin doontaa sawir weyn oo la miisaamay. true ama false
threesixty Ikhtiyaar ah AI waxay soo celin doontaa sawir 360ยบ ah. true ama false

Wax ka beddel sawirada

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Makiinada kittens",
    "is_sfw": True,
    "replacing": "miraha iyo jirridka",
    "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))
Wax ka beddel sawirada

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Makiinada kittens' \
  -F 'is_sfw=true' \
  -F 'replacing=miraha iyo jirridka' \
  -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'] = 'bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'miraha iyo jirridka';
    $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": "bakayle aadayo dugsiga, farshaxanka tattoo style jaahiliin",
        "is_sfw": true,
        "negative_terms": "nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay",
        "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);

Jawaabta

/path/to/local/result.jpg

Codsiga HTTP

POST /edit-image/

Halbeegyada weydiinta

Halbeegga Nooca Sharaxaada Tusaale
is_sfw Ikhtiyaar ah Deji "true" haddii "shuruudaha" loogu talagalay nuxurka sawirka dadka waaweyn true ama false
terms Loo baahan yahay U sheeg AI waxa aad rabto iyada oo ku saleysan sawirkaaga. Makiinada kittens
replacing Ikhtiyaar ah U sheeg AI haddii aad rabto inaad wax ku beddesho sawirkaaga iyadoo lagu saleynayo degdeggaaga sare miraha iyo jirridka
negative_terms Ikhtiyaar ah U sheeg AI waxa ay tahay in laga reebo. nuqul, weji si liidata loo sawiray, jirran, faraha si liidata loo sawiray, fool xun, blur, kartoon, Disney, qaab ka baxsan, gooyay
fix_faces Ikhtiyaar ah U oggolow AI inay hagaajiso wejiyada sawirada natiijada, Qiimaha beenta ah waa mid aan la soo dirin haddii aan la dirin. true ama false
outpaint Ikhtiyaar ah Marka la eego muuqaal bilow ah, AI waxay soo saari kartaa "xareeraheeda" true ama false
upscale Ikhtiyaar ah AI waxay soo celin doontaa sawir weyn oo la miisaamay. true ama false