NAV
ImageEditor.ai
shell python php javascript

Ro-ràdh

Fàilte don API àrd-ùrlar ImageEditor.ai!

Tha gach feart air a dhealbhadh gus ar luchd-cleachdaidh a chuideachadh gus ìomhaighean a chruthachadh no a dheasachadh le AI air siostam ImageEditor.ai".

Gus an iuchair API agad fhaighinn, rachaibh gu duilleag a’ chunntais .

URL bunaiteach bunaiteach

Is e an URL bunaiteach bunaiteach airson ImageEditor.ai API: <b>https://api.imageeditor.ai/v1/</b>

Thoir an aire: airson adhbharan tèarainteachd, thathas a’ frithealadh a h-uile API ImageEditor.ai thairis air HTTPS a-mhàin.

Ùghdarrachadh

Gus an API ImageEditor.ai a chleachdadh, bidh feum agad air an iuchair API a tha ceangailte ris a’ chunntas agad.

Bu chòir luach an ùghdarrais a chuir a-steach iarrtas Headers.

Authorization: <api_key>

Cruthaich dealbhan

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach",
    "is_sfw": True,
    "negative_terms": "aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr",
    "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": "coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach",
    "is_sfw": true,
    "negative_terms": "aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr",
    "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'] = 'coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr';
    $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": "coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach",
        "is_sfw": true,
        "negative_terms": "aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr",
        "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);

Freagairt

/path/to/local/result.jpg

Iarrtas HTTP

POST /create-image/

Paramadairean ceist

Paramadair Seòrsa Tuairisgeul eisimpleir
is_sfw Roghainneil Suidhich "true" ma tha na “cumhachan” airson susbaint ìomhaigh inbheach true neo false
terms A dhìth Innis don AI dè an ìomhaigh a tha thu airson a chruthachadh. coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach
negative_terms Roghainneil Innis don AI dè a bu chòir a chuir a-mach. aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr
dimension Roghainneil Faigh dealbh no dealbh-tìre, tha luach “dealbh” àbhaisteach ma tha e falamh no null. portrait neo landscape
fix_faces Roghainneil Leig leis an AI aghaidhean a chàradh anns na h-ìomhaighean toraidh, tha luach meallta bunaiteach mura tèid a chuir. true neo false
make_tile Roghainneil Suidhich true ma tha thu ag iarraidh ìomhaigh a ghabhas cleachdadh mar phàtran. true neo false
upscale Roghainneil Tillidh an AI ìomhaigh nas motha. true neo false
threesixty Roghainneil Tillidh an AI dealbh 360º. true neo false

Deasaich dealbhan

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Bobhla piseagan",
    "is_sfw": True,
    "replacing": "measan agus gas mheasan",
    "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))
Deasaich dealbhan

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Bobhla piseagan' \
  -F 'is_sfw=true' \
  -F 'replacing=measan agus gas mheasan' \
  -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'] = 'coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'measan agus gas mheasan';
    $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": "coineanach a 'dol don sgoil, ealain tattoo stoidhle aineolach",
        "is_sfw": true,
        "negative_terms": "aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr",
        "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);

Freagairt

/path/to/local/result.jpg

Iarrtas HTTP

POST /edit-image/

Paramadairean ceist

Paramadair Seòrsa Tuairisgeul eisimpleir
is_sfw Roghainneil Suidhich "true" ma tha na “cumhachan” airson susbaint ìomhaigh inbheach true neo false
terms A dhìth Innis don AI dè a tha thu ag iarraidh stèidhichte air an ìomhaigh agad. Bobhla piseagan
replacing Roghainneil Innis don AI ma tha thu airson rudeigin a chuir na àite san ìomhaigh agad stèidhichte air do bhrosnachadh gu h-àrd measan agus gas mheasan
negative_terms Roghainneil Innis don AI dè a bu chòir a chuir a-mach. aodann dùblaichte, air a dhroch tharraing, mì-mhodhail, corragan air an tarraing gu dona, grànda, doilleir, cartùn, disney, a-mach à frèam, air a bhàrr
fix_faces Roghainneil Leig leis an AI aghaidhean a chàradh anns na h-ìomhaighean toraidh, tha luach meallta bunaiteach mura tèid a chuir. true neo false
outpaint Roghainneil Le ìomhaigh tòiseachaidh, faodaidh an AI na "cuairtean" aige a ghineadh true neo false
upscale Roghainneil Tillidh an AI ìomhaigh nas motha. true neo false