መግቢያ
እንኳን ወደ 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 |