NAV
ImageEditor.ai
shell python php javascript

Mawu Oyamba

Takulandilani ku API ya nsanja ya ImageEditor.ai!

Chilichonse chimapangidwa kuti chithandizire ogwiritsa ntchito kupanga kapena kusintha mosavuta zithunzi ndi AI padongosolo la ImageEditor.ai.

Kuti mupeze kiyi yanu ya API chonde pitani patsamba la akaunti .

Ulalo Wokhazikika Woyambira

Ulalo wokhazikika wa ImageEditor.ai API ndi: <b>https://api.imageeditor.ai/v1/</b>

Zindikirani: pazifukwa zachitetezo, ma API onse a ImageEditor.ai amatumizidwa pa HTTPS kokha.

Chilolezo

Kuti mugwiritse ntchito ImageEditor.ai API, mufunika kiyi ya API yomwe imalumikizidwa ku akaunti yanu.

Mtengo wovomerezeka uyenera kutumizidwa muzopempha za Headers.

Authorization: <api_key>

Pangani zithunzi

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
    "is_sfw": True,
    "negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
    "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": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
    "is_sfw": true,
    "negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
    "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'] = 'kalulu kupita kusukulu, mbuli kalembedwe mphini luso';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.';
    $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": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
        "is_sfw": true,
        "negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
        "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);

Yankho

/path/to/local/result.jpg

Pempho la HTTP

POST /create-image/

Funso magawo

Parameter Mtundu Kufotokozera Chitsanzo
is_sfw Zosankha Khazikitsani "true" ngati "migwirizano" ili yazithunzi za akulu true kapena false
terms Chofunikira Uzani AI kuti mukufuna kupanga chithunzi chanji. kalulu kupita kusukulu, mbuli kalembedwe mphini luso
negative_terms Zosankha Uzani AI zomwe ziyenera kuchotsedwa. nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.
dimension Zosankha Pezani zithunzi kapena mawonekedwe, mtengo wa "portrait" ndiwokhazikika ngati mulibe kanthu kapena mulibe. portrait kapena landscape
fix_faces Zosankha Lolani AI ikonze nkhope muzithunzi zotsatila, Phindu labodza ndilokhazikika ngati silikutumiza. true kapena false
make_tile Zosankha Khazikitsani true ngati mukufuna chithunzi chomwe chingagwiritsidwe ntchito ngati chitsanzo. true kapena false
upscale Zosankha AI ibweretsanso chithunzi chokulirapo. true kapena false
threesixty Zosankha AI ibweza chithunzi cha 360ยบ. true kapena false

Sinthani zithunzi

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Mbale wa mphaka",
    "is_sfw": True,
    "replacing": "zipatso ndi tsinde la zipatso",
    "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))
Sinthani zithunzi

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Mbale wa mphaka' \
  -F 'is_sfw=true' \
  -F 'replacing=zipatso ndi tsinde la zipatso' \
  -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'] = 'kalulu kupita kusukulu, mbuli kalembedwe mphini luso';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'zipatso ndi tsinde la zipatso';
    $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": "kalulu kupita kusukulu, mbuli kalembedwe mphini luso",
        "is_sfw": true,
        "negative_terms": "nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.",
        "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);

Yankho

/path/to/local/result.jpg

Pempho la HTTP

POST /edit-image/

Funso magawo

Parameter Mtundu Kufotokozera Chitsanzo
is_sfw Zosankha Khazikitsani "true" ngati "migwirizano" ili yazithunzi za akulu true kapena false
terms Chofunikira Uzani AI zomwe mukufuna kutengera chithunzi chanu. Mbale wa mphaka
replacing Zosankha Uzani AI ngati mukufuna kusintha china chake pachithunzi chanu kutengera zomwe mwalemba pamwambapa zipatso ndi tsinde la zipatso
negative_terms Zosankha Uzani AI zomwe ziyenera kuchotsedwa. nkhope yapawiri, yosakokedwa bwino, yosokonekera, zala zosakokedwa bwino, zonyansa, zosawoneka bwino, zojambula, Disney, zakunja, zodulidwa.
fix_faces Zosankha Lolani AI ikonze nkhope muzithunzi zotsatila, Phindu labodza ndilokhazikika ngati silikutumiza. true kapena false
outpaint Zosankha Popeza chithunzi choyambira, AI imatha kupanga "zozungulira" true kapena false
upscale Zosankha AI ibweretsanso chithunzi chokulirapo. true kapena false