NAV
ImageEditor.ai
shell python php javascript

Оршил

ImageEditor.ai платформ API-д тавтай морил!

Онцлог бүр нь манай хэрэглэгчдэд ImageEditor.ai систем дээр хиймэл оюун ухаан ашиглан зураг үүсгэх, засахад туслах зорилготой юм.

API түлхүүрээ авахын тулд бүртгэлийн хуудас руу очно уу.

Өгөгдмөл үндсэн URL

ImageEditor.ai API-н үндсэн URL нь: <b>https://api.imageeditor.ai/v1/</b>

Анхаарна уу: Аюулгүй байдлын үүднээс ImageEditor.ai бүх API-г зөвхөн HTTPS-ээр ашигладаг.

Зөвшөөрөл

ImageEditor.ai API ашиглахын тулд танд өөрийн бүртгэлтэй холбогдсон 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

HTTP хүсэлт

POST /create-image/

Асуулгын параметрүүд

Параметр Төрөл Тодорхойлолт Жишээ
is_sfw Сонголттой "Нөхцөл "true" гэж тохируулна уу true эсвэл false
terms Шаардлагатай Та ямар дүрс бүтээхийг хүсч байгаагаа хиймэл оюун ухаанд хэлээрэй. туулай сургуульд явах, мунхаг маягийн шивээсний урлаг
negative_terms Сонголттой AI-д юуг хасах ёстойг хэл. давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан
dimension Сонголттой Хөрөг эсвэл ландшафтын зураг авах, хоосон эсвэл хоосон байвал "хөрөг" утга нь анхдагч байна. portrait эсвэл landscape
fix_faces Сонголттой AI-д үр дүнгийн зураг дээрх нүүр царайг засахыг зөвшөөрнө үү. Хэрэв илгээхгүй бол худал утга нь анхдагч байна. true эсвэл false
make_tile Сонголттой Хэрэв та загвар болгон ашиглаж болох зураг авахыг хүсвэл true тохируулна уу. true эсвэл false
upscale Сонголттой AI нь томруулсан дүрсийг буцаана. true эсвэл false
threesixty Сонголттой AI нь 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

HTTP хүсэлт

POST /edit-image/

Асуулгын параметрүүд

Параметр Төрөл Тодорхойлолт Жишээ
is_sfw Сонголттой "Нөхцөл "true" гэж тохируулна уу true эсвэл false
terms Шаардлагатай Өөрийн зураг дээр үндэслэн хиймэл оюун ухаанд юу хүсч байгаагаа хэлээрэй. Муурын зулзагатай аяга
replacing Сонголттой Хэрэв та дээрх зааварт үндэслэн өөрийн зурган дээрх ямар нэг зүйлийг солихыг хүсвэл хиймэл оюун ухаанд хэлээрэй жимс, жимсгэний иш
negative_terms Сонголттой AI-д юуг хасах ёстойг хэл. давхардсан, муу зурсан царай, өвчтэй, муу зурсан хуруу, муухай, бүдэг, хүүхэлдэйн кино, дисней, хүрээнээс гарсан, тайрсан
fix_faces Сонголттой AI-д үр дүнгийн зураг дээрх нүүр царайг засахыг зөвшөөрнө үү. Хэрэв илгээхгүй бол худал утга нь анхдагч байна. true эсвэл false
outpaint Сонголттой Анхны дүрсийг өгвөл хиймэл оюун ухаан нь түүний "орчноо" үүсгэж чадна. true эсвэл false
upscale Сонголттой AI нь томруулсан дүрсийг буцаана. true эсвэл false