Ievads
Laipni lūdzam Wallpapers.ai platformas API!
Katra funkcija ir izstrādāta, lai palīdzētu mūsu lietotājiem vieglāk izveidot fona tapetes ar AI vietnē Wallpapers.ai.
Lai iegūtu API atslēgu, lūdzu, dodieties uz konta lapu .
Noklusējuma bāzes URL
Wallpapers.ai API noklusējuma bāzes URL ir: https://api.wallpapers.ai/v1/
Piezīme. Drošības apsvērumu dēļ visas TLDWai.com API tiek apkalpotas tikai, izmantojot HTTPS.
Autorizācija
Lai izmantotu Wallpapers.ai API, jums ir nepieciešama API atslēga, kas ir saistīta ar jūsu kontu .
Autorizācijas vērtība jānosūta galvenes pieprasījumā.
Authorization: <api_key>
Izveidojiet fonu
import requests
import time
import shutil
import json
headers = {"Authorization": "api_key"}
params = {
"terms": "zaķis iet uz skolu, nezinoša stila tetovējumu māksla",
"dimension": "desktop",
}
base_api_url = "https://api.wallpapers.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-wallpaper/",
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.wallpapers.ai/v1/create-wallpaper/ \
-H 'Authorization: api_key' \
-H 'Content-Type: application/json' \
-d '{
"terms": "zaķis iet uz skolu, nezinoša stila tetovējumu māksla",
"dimension": "desktop",
}'
Atbilde
curl -X POST \
https://api.wallpapers.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.wallpapers.ai/v1/edit-image/";
$results_url = "https://api.wallpapers.ai/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.wallpapers.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'] = 'zaķis iet uz skolu, nezinoša stila tetovējumu māksla';
$post_data['dimension'] = 'desktop';
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.wallpapers.ai/v1/create-wallpaper/'
const results_url = 'https://api.wallpapers.ai/v1/results/'
function convertFiles(file_list) {
let data = {
"terms": "zaķis iet uz skolu, nezinoša stila tetovējumu māksla",
"dimension": "desktop",
};
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);
Reponse
/path/to/local/result.jpg
HTTP pieprasījums
POST /create-wallpaper/
Vaicājuma parametri
Parametrs | Tips | Apraksts | |
---|---|---|---|
terms | Obligāti | Pastāstiet AI, kādu fona tapeti vēlaties izveidot. | zaķis iet uz skolu, nezinoša stila tetovējumu māksla |
dimension | Neobligāti | Iegūstiet fona tapeti galddatoriem vai tālruņiem; "desktop" vērtība ir noklusējuma vērtība, ja tā ir tukša vai nulle. | desktop vai phone |