அறிமுகம்
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);
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
client.DefaultRequestHeaders.Add("Authorization", "api_key");
// Create image
var content = new StringContent(
JsonConvert.SerializeObject(new
{
terms = "பள்ளிக்கு செல்லும் முயல், அறியாமை ஸ்டைல் டாட்டூ கலை",
is_sfw = true,
negative_terms = "நகல், மோசமாக வரையப்பட்ட முகம், நோயுற்ற, மோசமாக வரையப்பட்ட விரல்கள், அசிங்கமான, மங்கலான, கார்ட்டூன், டிஸ்னி, சட்டத்திற்கு வெளியே, செதுக்கப்பட்ட",
dimension = "landscape",
fix_faces = true,
make_tile = false,
upscale = false,
threesixty = false
}),
System.Text.Encoding.UTF8,
"application/json"
);
var response = await client.PostAsync("https://api.imageeditor.ai/v1/create-image/", content);
var result = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<dynamic>(result);
// Poll for results
bool finished = false;
while (!finished)
{
var pollContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("uuid", (string)data.uuid)
});
var pollRes = await client.PostAsync("https://api.imageeditor.ai/v1/results/", pollContent);
var pollResult = await pollRes.Content.ReadAsStringAsync();
var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);
finished = (bool)pollData.finished;
if (!finished) await Task.Delay(5000);
else Console.WriteLine(pollResult);
}
}
}
பதில்
/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);
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
class Program
{
static readonly HttpClient client = new HttpClient();
static async Task Main()
{
client.DefaultRequestHeaders.Add("Authorization", "api_key");
// Edit image with file upload
var form = new MultipartFormDataContent();
form.Add(new StringContent("பூனைக்குட்டிகளின் கிண்ணம்"), "terms");
form.Add(new StringContent("true"), "is_sfw");
form.Add(new StringContent("பழங்கள் மற்றும் பழத்தின் தண்டு"), "replacing");
form.Add(new StringContent(""), "negative_terms");
form.Add(new StringContent("true"), "fix_faces");
form.Add(new StringContent("false"), "outpaint");
form.Add(new StringContent("false"), "upscale");
form.Add(new ByteArrayContent(File.ReadAllBytes("test.jpeg")), "files", "test.jpeg");
var response = await client.PostAsync("https://api.imageeditor.ai/v1/edit-image/", form);
var result = await response.Content.ReadAsStringAsync();
var data = JsonConvert.DeserializeObject<dynamic>(result);
// Poll for results
bool finished = false;
while (!finished)
{
var pollContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("uuid", (string)data.uuid)
});
var pollRes = await client.PostAsync("https://api.imageeditor.ai/v1/results/", pollContent);
var pollResult = await pollRes.Content.ReadAsStringAsync();
var pollData = JsonConvert.DeserializeObject<dynamic>(pollResult);
finished = (bool)pollData.finished;
if (!finished) await Task.Delay(5000);
else Console.WriteLine(pollResult);
}
}
}
பதில்
/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 |