NAV
ImageEditor.ai
shell python php javascript

መግቢያ

እንኳን ወደ ImageEditor.ai መድረክ ኤፒአይ በደህና መጡ!

እያንዳንዱ ባህሪ ተጠቃሚዎቻችን በImageEditor.ai's ስርዓት ላይ ምስሎችን በቀላሉ እንዲፈጥሩ ወይም እንዲያርትዑ ለመርዳት ታስቦ ነው።

የእርስዎን API ቁልፍ ለማግኘት እባክዎ ወደ መለያ ገጽ ይሂዱ።

ነባሪ ቤዝ ዩአርኤል

የImageEditor.ai API ነባሪ መነሻ ዩአርኤል <b>፡ https://api.imageeditor.ai/v1/</b> ነው

ማስታወሻ፡ ለደህንነት ሲባል ሁሉም ImageEditor.ai APIs በ HTTPS ብቻ ነው የሚቀርቡት።

ፍቃድ

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

HTTP ጥያቄ

POST /create-image/

የጥያቄ መለኪያዎች

መለኪያ ዓይነት መግለጫ ለምሳሌ
is_sfw አማራጭ "true" " ያዘጋጁ true ወይም false
terms ያስፈልጋል ምን ምስል መፍጠር እንደሚፈልጉ ለ AI ይንገሩ። ጥንቸል ወደ ትምህርት ቤት መሄድ, አላዋቂ ቅጥ ንቅሳት ጥበብ
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 ያስፈልጋል በምስልዎ ላይ በመመስረት ምን እንደሚፈልጉ ለ AI ይንገሩ። ድመቶች ጎድጓዳ ሳህን
replacing አማራጭ ከላይ ባቀረቡት ጥያቄ መሰረት በምስልዎ ላይ የሆነ ነገር መተካት ከፈለጉ AIን ይንገሩ የፍራፍሬ እና የፍራፍሬ ግንድ
negative_terms አማራጭ ምን መገለል እንዳለበት ለ AI ይንገሩ። የተባዛ፣ በደንብ ያልተሳለ ፊት፣ የታመመ፣ በደንብ ያልተሳሉ ጣቶች፣ አስቀያሚ፣ ደብዛዛ፣ ካርቱን፣ ዲስኒ፣ ፍሬም የወጣ፣ የተከረከመ
fix_faces አማራጭ በውጤቱ ምስሎች ውስጥ ፊቶችን እንዲያስተካክል AI ይፍቀዱ ፣ ካልተላኩ የውሸት ዋጋ ነባሪ ነው። true ወይም false
outpaint አማራጭ የመነሻ ምስል ከተሰጠው፣ AI “ዙሪያውን” ሊያመነጭ ይችላል። true ወይም false
upscale አማራጭ AI ትልቅ መጠን ያለው ምስል ይመልሳል። true ወይም false