NAV
ImageEditor.ai
shell python php javascript

הקדמה

ברוכים הבאים צו די ImageEditor.ai פּלאַטפאָרמע API!

יעדער שטריך איז דיזיינד צו העלפֿן אונדזער יוזערז גרינגער מאַכן אָדער רעדאַגירן בילדער מיט AI אויף ImageEditor.ai ס סיסטעם.

צו באַקומען דיין API שליסל, גיין צו די חשבון בלאַט .

פעליקייַט באַזע URL

די פעליקייַט באַזע URL פֿאַר ImageEditor.ai API איז: <b>https://api.imageeditor.ai/v1/</b>

באַמערקונג: פֿאַר זיכערהייט סיבות, אַלע ImageEditor.ai אַפּיס זענען געדינט בלויז איבער הטטפּס.

דערלויבעניש

צו נוצן די ImageEditor.ai API, איר דאַרפֿן די אַפּי שליסל וואָס איז לינגקט צו דיין חשבון .

די דערלויבעניש ווערט זאָל זיין שיקן אין העאַדערס בעטן.

Authorization: <api_key>

שאַפֿן בילדער

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט",
    "is_sfw": True,
    "negative_terms": "דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט",
    "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": "קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט",
    "is_sfw": true,
    "negative_terms": "דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט",
    "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'] = 'קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט';
    $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": "קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט",
        "is_sfw": true,
        "negative_terms": "דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט",
        "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);

ענטפער

/path/to/local/result.jpg

הטטפּ בעטן

POST /create-image/

אָנפֿרעג פּאַראַמעטערס

פּאַראַמעטער טיפּ באַשרייַבונג בייַשפּיל
is_sfw אָפּטיאָנאַל שטעלן "true" אויב די "טערמין" זענען פֿאַר דערוואַקסן בילד אינהאַלט true אָדער false
terms פארלאנגט זאָגן די אַי וואָס בילד איר ווילן צו מאַכן. קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט
negative_terms אָפּטיאָנאַל זאָגן די אַי וואָס זאָל זיין יקסקלודיד. דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט
dimension אָפּטיאָנאַל באַקומען פּאָרטרעט אָדער לאַנדשאַפט בילדער, "פּאָרטרעט" ווערט איז פעליקייַט אויב ליידיק אָדער נאַל. portrait אָדער landscape
fix_faces אָפּטיאָנאַל לאָזן די אַי צו פאַרריכטן פנימער אין די רעזולטאַט בילדער, פאַלש ווערט איז פעליקייַט אויב נישט שיקן. true אָדער false
make_tile אָפּטיאָנאַל שטעלן true אויב איר ווילן אַ בילד וואָס קענען זיין געוויינט ווי אַ מוסטער. true אָדער false
upscale אָפּטיאָנאַל די אַי וועט צוריקקומען אַ ביגער סקיילד אַרויף בילד. true אָדער false
threesixty אָפּטיאָנאַל די אַי וועט צוריקקומען אַ 360º בילד. true אָדער false

רעדאַגירן בילדער

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "שיסל פון קיטאַנז",
    "is_sfw": True,
    "replacing": "פירות און פרוכט סטעם",
    "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))
רעדאַגירן בילדער

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=שיסל פון קיטאַנז' \
  -F 'is_sfw=true' \
  -F 'replacing=פירות און פרוכט סטעם' \
  -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'] = 'קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'פירות און פרוכט סטעם';
    $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": "קיניגל געגאנגען צו שולע, ומוויסנדיק נוסח טאַטוירונג קונסט",
        "is_sfw": true,
        "negative_terms": "דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט",
        "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);

ענטפער

/path/to/local/result.jpg

הטטפּ בעטן

POST /edit-image/

אָנפֿרעג פּאַראַמעטערס

פּאַראַמעטער טיפּ באַשרייַבונג בייַשפּיל
is_sfw אָפּטיאָנאַל שטעלן "true" אויב די "טערמין" זענען פֿאַר דערוואַקסן בילד אינהאַלט true אָדער false
terms פארלאנגט זאָגן די אַי וואָס איר ווילט באזירט אויף דיין בילד. שיסל פון קיטאַנז
replacing אָפּטיאָנאַל זאָגן די אַי אויב איר ווילן צו פאַרבייַטן עפּעס אין דיין בילד באזירט אויף דיין פּינטלעך אויבן פירות און פרוכט סטעם
negative_terms אָפּטיאָנאַל זאָגן די אַי וואָס זאָל זיין יקסקלודיד. דופּליקאַט, שוואַך ציען פּנים, מאָרביד, שוואַך ציען פינגער, מיעס, בלערי, קאַרטון, דיסניי, אויס פון ראַם, קראַפּט
fix_faces אָפּטיאָנאַל לאָזן די אַי צו פאַרריכטן פנימער אין די רעזולטאַט בילדער, פאַלש ווערט איז פעליקייַט אויב נישט שיקן. true אָדער false
outpaint אָפּטיאָנאַל געגעבן אַ סטאַרטינג בילד, די אַי קענען דזשענערייט זיין "סראַונדינג" true אָדער false
upscale אָפּטיאָנאַל די אַי וועט צוריקקומען אַ ביגער סקיילד אַרויף בילד. true אָדער false