NAV
ImageEditor.ai
shell python php javascript

تعارف

ImageEditor.ai پلیٹ فارم API میں خوش آمدید!

ہر خصوصیت کو ہمارے صارفین کو ImageEditor.ai کے سسٹم پر AI کے ساتھ زیادہ آسانی سے تصاویر بنانے یا ترمیم کرنے میں مدد کرنے کے لیے ڈیزائن کیا گیا ہے۔

اپنی API کلید حاصل کرنے کے لیے برائے مہربانی اکاؤنٹ کے صفحہ پر جائیں۔

ڈیفالٹ بیس یو آر ایل

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": "اسکول جانے والا خرگوش، جاہلانہ انداز کا ٹیٹو آرٹ",
    "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 درکار ہے۔ AI کو بتائیں کہ آپ اپنی تصویر کی بنیاد پر کیا چاہتے ہیں۔ بلی کے بچوں کا پیالہ
replacing اختیاری AI کو بتائیں کہ اگر آپ اوپر دیئے گئے اشارے کی بنیاد پر اپنی تصویر میں کچھ تبدیل کرنا چاہتے ہیں۔ پھل اور پھل کا تنا
negative_terms اختیاری AI کو بتائیں کہ کیا خارج ہونا چاہیے۔ ڈپلیکیٹ، خراب طور پر کھینچا ہوا چہرہ، خراب، خراب طور پر کھینچی ہوئی انگلیاں، بدصورت، دھندلا، کارٹون، ڈزنی، فریم سے باہر، کٹا ہوا
fix_faces اختیاری AI کو نتائج کی تصاویر میں چہرے ٹھیک کرنے دیں، اگر نہیں بھیجی گئی تو غلط ویلیو ڈیفالٹ ہے۔ true یا false
outpaint اختیاری ایک ابتدائی تصویر کو دیکھتے ہوئے، AI اپنے "ماحول" کو پیدا کر سکتا ہے true یا false
upscale اختیاری AI ایک بڑی اسکیل اپ امیج واپس کرے گا۔ true یا false