NAV
ImageEditor.ai
shell python php javascript

Réamhrá

Fáilte chuig an API ardán ImageEditor.ai!

Tá gach gné deartha chun cabhrú lenár n-úsáideoirí íomhánna a chruthú nó a chur in eagar ar bhealach níos éasca le AI ar chóras ImageEditor.ai.

Chun d'eochair API a fháil téigh chuig leathanach an chuntais le do thoil.

URL Bonn Réamhshocraithe

Is é an bun-URL réamhshocraithe le haghaidh ImageEditor.ai API ná: <b>https://api.imageeditor.ai/v1/</b>

Tabhair faoi deara: ar chúiseanna slándála, déantar gach API ImageEditor.ai a sheirbheáil thar HTTPS amháin.

Údarú

Chun an API ImageEditor.ai a úsáid, beidh an eochair API atá nasctha le do chuntas uait .

Ba cheart an luach údaraithe a sheoladh isteach iarratas Ceanntásca.

Authorization: <api_key>

Cruthaigh íomhánna

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "coinín ag dul ar scoil, ealaín tattoo stíl aineolach",
    "is_sfw": True,
    "negative_terms": "aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped",
    "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": "coinín ag dul ar scoil, ealaín tattoo stíl aineolach",
    "is_sfw": true,
    "negative_terms": "aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped",
    "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'] = 'coinín ag dul ar scoil, ealaín tattoo stíl aineolach';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped';
    $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": "coinín ag dul ar scoil, ealaín tattoo stíl aineolach",
        "is_sfw": true,
        "negative_terms": "aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped",
        "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);

Freagra

/path/to/local/result.jpg

Iarratas HTTP

POST /create-image/

Paraiméadair cheist

Paraiméadar Cineál Cur síos Sampla
is_sfw Roghnach Socraigh "true" má tá na "téarmaí" d'ábhar íomhá do dhaoine fásta truefalse
terms Ag teastáil Inis don AI cén íomhá ar mhaith leat a chruthú. coinín ag dul ar scoil, ealaín tattoo stíl aineolach
negative_terms Roghnach Inis don AI cad ba cheart a eisiamh. aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped
dimension Roghnach Faigh íomhánna portráid nó tírdhreacha, tá luach "portráid" réamhshocraithe má tá sé folamh nó neamhní. portraitlandscape
fix_faces Roghnach Lig don AI aghaidheanna a shocrú sna híomhánna toraidh, tá luach bréagach réamhshocraithe mura seolfar é. truefalse
make_tile Roghnach Socraigh true más mian leat íomhá is féidir a úsáid mar phatrún. truefalse
upscale Roghnach Tabharfaidh an AI íomhá níos scálaithe ar ais. truefalse
threesixty Roghnach Tabharfaidh an AI íomhá 360º ar ais. truefalse

Cuir íomhánna in eagar

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Babhla de kittens",
    "is_sfw": True,
    "replacing": "torthaí agus gas torthaí",
    "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))
Cuir íomhánna in eagar

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Babhla de kittens' \
  -F 'is_sfw=true' \
  -F 'replacing=torthaí agus gas torthaí' \
  -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'] = 'coinín ag dul ar scoil, ealaín tattoo stíl aineolach';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'torthaí agus gas torthaí';
    $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": "coinín ag dul ar scoil, ealaín tattoo stíl aineolach",
        "is_sfw": true,
        "negative_terms": "aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped",
        "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);

Freagra

/path/to/local/result.jpg

Iarratas HTTP

POST /edit-image/

Paraiméadair cheist

Paraiméadar Cineál Cur síos Sampla
is_sfw Roghnach Socraigh "true" má tá na "téarmaí" d'ábhar íomhá do dhaoine fásta truefalse
terms Ag teastáil Inis don AI cad atá uait bunaithe ar d'íomhá. Babhla de kittens
replacing Roghnach Inis don AI más mian leat rud éigin a athsholáthar i do íomhá bunaithe ar do leid thuas torthaí agus gas torthaí
negative_terms Roghnach Inis don AI cad ba cheart a eisiamh. aghaidh dúblach, droch-tharraingthe, galrach, méara droch-tharraingthe, gránna, doiléir, cartún, disney, as fráma, cropped
fix_faces Roghnach Lig don AI aghaidheanna a shocrú sna híomhánna toraidh, tá luach bréagach réamhshocraithe mura seolfar é. truefalse
outpaint Roghnach I bhfianaise íomhá tosaigh, is féidir leis an AI a "thimpeallacht" a ghiniúint truefalse
upscale Roghnach Tabharfaidh an AI íomhá níos scálaithe ar ais. truefalse