NAV
ImageEditor.ai
shell python php javascript

تعارف

ImageEditor.ai پليٽ فارم API تي ڀليڪار!

هر خصوصيت اسان جي استعمال ڪندڙن جي مدد ڪرڻ لاءِ ٺاهي وئي آهي وڌيڪ آساني سان تصويرون ٺاهڻ يا ايڊٽ ڪرڻ AI سان ImageEditor.ai جي سسٽم تي.

پنھنجي API ڪي حاصل ڪرڻ لاءِ مھرباني ڪري وڃو اڪائونٽ صفحي .

ڊفالٽ بيس URL

ImageEditor.ai API لاءِ ڊفالٽ بنيادي URL آهي: <b>https://api.imageeditor.ai/v1/</b>

نوٽ: حفاظتي سببن لاء، سڀ ImageEditor.ai APIs صرف HTTPS تي خدمت ڪري رهيا آهن.

اختيار ڏيڻ

ImageEditor.ai API استعمال ڪرڻ لاءِ، توهان کي API جي ضرورت پوندي جيڪا توهان جي اڪائونٽ سان ڳنڍيل هجي.

اختيار جي قيمت کي هيڊر جي درخواست ۾ موڪليو وڃي.

Authorization: <api_key>

تصويرون ٺاهيو

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "rabbit going to school، جاهل انداز ٽتوٽ آرٽ",
    "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": "rabbit going to school، جاهل انداز ٽتوٽ آرٽ",
    "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'] = 'rabbit going to school، جاهل انداز ٽتوٽ آرٽ';
    $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": "rabbit going to school، جاهل انداز ٽتوٽ آرٽ",
        "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 کي ٻڌايو ته توهان ڪهڙي تصوير ٺاهڻ چاهيو ٿا. rabbit going to school، جاهل انداز ٽتوٽ آرٽ
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'] = 'rabbit going to school، جاهل انداز ٽتوٽ آرٽ';
    $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": "rabbit going to school، جاهل انداز ٽتوٽ آرٽ",
        "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