NAV
ImageEditor.ai
shell python php javascript

Rhagymadrodd

Croeso i API platfform ImageEditor.ai!

Mae pob nodwedd wedi'i chynllunio i helpu ein defnyddwyr i greu neu olygu delweddau yn haws gydag AI ar system ImageEditor.ai".

I gael eich allwedd API ewch i dudalen cyfrif .

URL Sylfaen Diofyn

Yr URL sylfaen rhagosodedig ar gyfer API ImageEditor.ai yw: <b>https://api.imageeditor.ai/v1/</b>

Sylwch: am resymau diogelwch, gwasanaethir pob API ImageEditor.ai dros HTTPS yn unig.

Awdurdodiad

I ddefnyddio'r API ImageEditor.ai, bydd angen yr allwedd API arnoch sy'n gysylltiedig â'ch cyfrif .

Dylid anfon y cais Penawdau i mewn i'r gwerth awdurdodi.

Authorization: <api_key>

Creu delweddau

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus",
    "is_sfw": True,
    "negative_terms": "wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio",
    "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": "cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus",
    "is_sfw": true,
    "negative_terms": "wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio",
    "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'] = 'cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus';
    $post_data['is_sfw'] = true;
    $post_data['negative_terms'] = 'wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio';
    $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": "cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus",
        "is_sfw": true,
        "negative_terms": "wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio",
        "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);

Ymateb

/path/to/local/result.jpg

Cais HTTP

POST /create-image/

Paramedrau ymholiad

Paramedr Math Disgrifiad Enghraifft
is_sfw Dewisol Gosodwch "true" os yw'r "termau" ar gyfer cynnwys delwedd oedolion true neu false
terms Angenrheidiol Dywedwch wrth yr AI pa ddelwedd ydych chi am ei chreu. cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus
negative_terms Dewisol Dywedwch wrth yr AI beth ddylai gael ei eithrio. wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio
dimension Dewisol Cael delweddau portread neu dirwedd, "portread" gwerth yn ddiofyn os yn wag neu null. portrait neu landscape
fix_faces Dewisol Gadewch i'r AI drwsio wynebau yn y delweddau canlyniad, mae gwerth ffug yn ddiofyn os na chaiff ei anfon. true neu false
make_tile Dewisol Gosodwch true os ydych chi eisiau delwedd y gellir ei defnyddio fel patrwm. true neu false
upscale Dewisol Bydd yr AI yn dychwelyd delwedd fwy graddedig. true neu false
threesixty Dewisol Bydd yr AI yn dychwelyd delwedd 360º. true neu false

Golygu delweddau

 import requests
import time
import shutil
import json

headers = {"Authorization": "api_key"}
params = {
    "terms": "Powlen o gathod bach",
    "is_sfw": True,
    "replacing": "ffrwythau a choesyn ffrwythau",
    "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))
Golygu delweddau

curl -X POST \
  https://api.imageeditor.ai/v1/edit-image/ \
  -H 'Authorization: api_key' \
  -F 'files=@test_files/test.jpeg' \
  -F 'terms=Powlen o gathod bach' \
  -F 'is_sfw=true' \
  -F 'replacing=ffrwythau a choesyn ffrwythau' \
  -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'] = 'cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus';
    $post_data['is_sfw'] = true;
    $post_data['replacing'] = 'ffrwythau a choesyn ffrwythau';
    $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": "cwningen yn mynd i'r ysgol, celf tatŵ arddull anwybodus",
        "is_sfw": true,
        "negative_terms": "wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio",
        "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);

Ymateb

/path/to/local/result.jpg

Cais HTTP

POST /edit-image/

Paramedrau ymholiad

Paramedr Math Disgrifiad Enghraifft
is_sfw Dewisol Gosodwch "true" os yw'r "termau" ar gyfer cynnwys delwedd oedolion true neu false
terms Angenrheidiol Dywedwch wrth yr AI beth ydych chi ei eisiau yn seiliedig ar eich delwedd. Powlen o gathod bach
replacing Dewisol Dywedwch wrth yr AI os ydych chi am ddisodli rhywbeth yn eich delwedd yn seiliedig ar eich anogwr uchod ffrwythau a choesyn ffrwythau
negative_terms Dewisol Dywedwch wrth yr AI beth ddylai gael ei eithrio. wyneb dyblyg, wedi'i dynnu'n wael, morbid, bysedd wedi'u tynnu'n wael, hyll, aneglur, cartŵn, disney, allan o ffrâm, wedi'i docio
fix_faces Dewisol Gadewch i'r AI drwsio wynebau yn y delweddau canlyniad, mae gwerth ffug yn ddiofyn os na chaiff ei anfon. true neu false
outpaint Dewisol O gael delwedd gychwynnol, gall yr AI gynhyrchu ei "amgylchiadau" true neu false
upscale Dewisol Bydd yr AI yn dychwelyd delwedd fwy graddedig. true neu false