NAV
ImageEditor.ai
shell python php javascript

Pêşkêş

Hûn bi xêr hatin API-a platforma ImageEditor.ai!

Her taybetmendî hatiye sêwirandin ku ji bikarhênerên me re bibe alîkar ku hêsantir bi AI-ê li ser pergala ImageEditor.ai wêneyan biafirînin an biguherînin.

Ji bo ku mifteya API-ya xwe bistînin, ji kerema xwe biçin rûpela hesabê .

URL-ya Bingeha Bingehîn

URL-ya bingehîn a xwerû ji bo ImageEditor.ai API ev e: <b>https://api.imageeditor.ai/v1/</b>

Nîşe: ji ber sedemên ewlehiyê, hemî ImageEditor.ai API tenê li ser HTTPS têne xizmet kirin.

Wekîlkirinî

Ji bo ku hûn API-a ImageEditor.ai bikar bînin, hûn ê hewceyê mifteya API-ê ya ku bi hesabê we ve girêdayî ye.

Divê nirxa destûrnameyê di daxwaznameya Sernivîsan de were şandin.

Authorization: <api_key>

Wêneyan çêbikin

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "rabbit diçe dibistanê, hunera tattoo style cahil",
    "is_sfw": True,
    "negative_terms": "ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî",
    "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": "rabbit diçe dibistanê, hunera tattoo style cahil",
    "is_sfw": true,
    "negative_terms": "ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî",
    "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'] = 'rabbit diçe dibistanê, hunera tattoo style cahil';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî';
    $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": "rabbit diçe dibistanê, hunera tattoo style cahil",
        "is_sfw": true,
        "negative_terms": "ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî",
        "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);

Bersiv

/path/to/local/result.jpg

Daxwaza HTTP

POST /create-image/

Parametreyên pirsê

Parametre Awa Terîf Mînak
is_sfw Bixwe Heke "true" ji bo naveroka wêneya mezinan in "rast" bicîh bikin true an false
terms Required Ji AI-ê re bêje ka hûn dixwazin kîjan wêneyê biafirînin. rabbit diçe dibistanê, hunera tattoo style cahil
negative_terms Bixwe Ji AI-ê re bêje ka çi divê were derxistin. ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî
dimension Bixwe Wêneyên portreyê an perestgehê bistînin, nirxa "portreya" xwerû ye heke vala an betal be. portrait an landscape
fix_faces Bixwe Bila AI-ê di dîmenên encamê de rûyan rast bike, heke neyê şandin nirxa derewîn xwerû ye. true an false
make_tile Bixwe Ger hûn wêneyek ku wekî nimûne were bikar anîn dixwazin rast true bikin. true an false
upscale Bixwe AI dê wêneyek pîvazek mezintir vegerîne. true an false
threesixty Bixwe AI dê wêneyek 360º vegerîne. true an false

Wêne biguherînin

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Bowl of kittens",
    "is_sfw": True,
    "replacing": "fêkî û koka fêkî",
    "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))
Wêne biguherînin

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=fêkî û koka fêkî' \
  -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'] = 'rabbit diçe dibistanê, hunera tattoo style cahil';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'fêkî û koka fêkî';
    $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": "rabbit diçe dibistanê, hunera tattoo style cahil",
        "is_sfw": true,
        "negative_terms": "ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî",
        "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);

Bersiv

/path/to/local/result.jpg

Daxwaza HTTP

POST /edit-image/

Parametreyên pirsê

Parametre Awa Terîf Mînak
is_sfw Bixwe Heke "true" ji bo naveroka wêneya mezinan in "rast" bicîh bikin true an false
terms Required Ji AI-ê re bêjin ku hûn li gorî wêneya xwe çi dixwazin. Bowl of kittens
replacing Bixwe Ji AI-ê re bêjin ka hûn dixwazin li gorî daxwaznameya xweya jorîn tiştek di wêneya xwe de biguhezînin fêkî û koka fêkî
negative_terms Bixwe Ji AI-ê re bêje ka çi divê were derxistin. ducarî, rûyê kêm xêzkirî, nexweş, tiliyên kêm xêzkirî, gemar, nezelal, karîkatur, dîsney, ji çarçovê, jêkirî
fix_faces Bixwe Bila AI-ê di dîmenên encamê de rûyan rast bike, heke neyê şandin nirxa derewîn xwerû ye. true an false
outpaint Bixwe Wêneyek destpêkê tê dayîn, AI dikare "dordorên" wê çêbike. true an false
upscale Bixwe AI dê wêneyek pîvazek mezintir vegerîne. true an false