NAV
ImageEditor.ai
shell python php javascript

પરિચય

ImageEditor.ai પ્લેટફોર્મ API પર આપનું સ્વાગત છે!

દરેક સુવિધા અમારા વપરાશકર્તાઓને ImageEditor.ai's સિસ્ટમ પર 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 જરૂરી છે 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