Emilia AI Studio — Riferimento API
Genera immagini AI di prodotti, food, gioielli, abbigliamento, arredamento e cosmetici in modo programmatico.
URL di base: https://ai.emilia.digital/it/wp-json/emai/v1
Autenticazione
Tutte le richieste API devono includere la tua chiave API personale come Bearer token nell'header Authorization. Genera o ruota la chiave in Il mio account → Integrazioni.
Authorization: Bearer YOUR_API_KEY
POST /ai-image-render
POST
https://ai.emilia.digital/it/wp-json/emai/v1/ai-image-render
Genera una singola immagine AI a partire da una foto prodotto sorgente.
Header
| Header | Valore |
|---|---|
Authorizationobbligatorio | Bearer YOUR_API_KEY |
Content-Typeobbligatorio | application/json |
Parametri del body
| Campo | Tipo | Descrizione |
|---|---|---|
image_data_urlobbligatorio* |
string | Immagine sorgente come data URL base64 (data:image/jpeg;base64,...) oppure URL HTTPS pubblicamente raggiungibile. *È obbligatorio fornire questo campo o image_id. |
image_idfacoltativo |
integer | ID dell'allegato nella libreria media di WordPress (utile solo se hai caricato l'immagine sorgente tramite WP). |
modeobbligatorio |
string | Categoria del prodotto. Vedi Modalità. Esempio: product, jewelry, food. |
presetobbligatorio* |
string | ID dello stile per la modalità scelta. Vedi Stili per modalità. *Obbligatorio se non usi presenter_id o custom_prompt. |
presenter_idfacoltativo |
integer | ID del presenter (modello/personaggio) da includere. Ottieni l'elenco tramite POST /get-plugin-config. |
custom_promptfacoltativo |
string | Prompt di testo libero: sovrascrive lo stile del preset. |
aspectfacoltativo |
string | Proporzioni dell'immagine di output. Predefinito: 1:1. Vedi Proporzioni. |
resolutionfacoltativo |
string | Risoluzione di output. Predefinito: 1K. Influisce sul costo in crediti: vedi Risoluzioni. |
additional_imagesfacoltativo |
string[] | Fino a ~3 immagini di riferimento aggiuntive (data URL o URL HTTPS), es. logo del brand, riferimento colore, prodotto secondario. |
replacement_imagefacoltativo |
string | Immagine di sfondo (data URL o URL HTTPS) usata dagli stili di sostituzione area. |
| campi helperfacoltativo | vari | Campi di regolazione fine per stile: vedi Helper di stile. |
Modalità (categorie)
Ogni modalità sblocca un insieme diverso di stili e campi helper.
| ID | Titolo | Caso d'uso |
|---|---|---|
product |
Generale | Rendering studio e lifestyle per la maggior parte dei prodotti. |
jewelry |
Gioielli | Scatti commerciali di lusso per alta gioielleria. |
clothing |
Abbigliamento | Fotografia e-commerce ed editoriale per l'abbigliamento. |
food |
Cibo e bevande | Fotografia food e drink da acquolina in bocca. |
furniture |
Arredamento | Scene d'ambiente professionali e scatti in studio per l'arredamento. |
cosmetics |
Beauty e cosmetici | Fotografia editoriale e da studio di alto livello per skincare, make-up e profumi. |
Stili per modalità
Passa l'ID dello stile tramite il campo preset. Gli stili derivano dalla configurazione degli helper: ogni ID di stile qui sotto è valido per la modalità indicata.
Generale (product)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
pure_white |
Packshot pulito | Sfondo pulito e minimalista per mettere a fuoco il prodotto. |
studio_gradient |
Superficie studio | Scatto premium in studio su marmo, legno, cemento e altro. |
editorial_close_up_product |
Close-up editoriale | Scatti artistici ravvicinati che mettono in risalto i dettagli del prodotto. |
scene |
Da location | Inserisci il tuo prodotto in una scena reale. |
with_presenter |
Con presenter | Mostra il tuo prodotto con un presenter (modello AI o persona reale). |
reference |
Da riferimento | Genera l'immagine del prodotto a partire da un'immagine di riferimento. |
Cibo e bevande (food)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
side_view |
Vista laterale | Angolazione laterale per evidenziare strati e altezza. |
top_view |
Vista dall'alto | Scatto dall'alto che mostra l'intero piatto. |
lifestyle |
Lifestyle | Piatto ambientato in modo naturale con props discreti sul tavolo. |
hands_touch |
Mani e tocco | Mostra l'interazione con il piatto tramite mani o posate. |
macro_texture |
Texture macro | Primo piano di texture, strati e dettagli. |
reference_food |
Da riferimento | Genera l'immagine del piatto a partire da un'immagine di riferimento. |
Gioielli (jewelry)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
studio_packshot |
Packshot da studio | Scatto e-commerce impeccabile su uno sfondo da studio pulito. |
macro_detail |
Dettaglio macro | Primo piano estremo per esaltare lavorazione e dettagli più fini. |
styled_still_life |
Still life curato | Scatto editoriale con props di lusso come tessuti, pietre o fiori. |
on_model |
Indossato | Mostra il gioiello sulla parte del corpo corrispondente per evidenziare proporzioni e vestibilità. |
lifestyle_jewelry |
Scena lifestyle | Mostra il gioiello in un contesto reale e aspirazionale. |
reference_jewelry |
Da riferimento | Genera un'immagine di gioielli a partire da uno stile o una foto di riferimento. |
Abbigliamento (clothing)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
ecommerce_packshot |
Packshot | Scatto pulito e standardizzato per i cataloghi prodotto. |
editorial_close_up |
Dettaglio macro | Primissimo piano che mette in risalto texture, logo o dettagli chiave del capo. |
artistic_flat_lay |
Flat lay artistico | Scatto creativo dall'alto per lookbook e social media. |
studio_model |
Modello in studio | Classico scatto da lookbook con un modello in studio. |
lifestyle_scene |
Scena lifestyle | Mostra il prodotto in un contesto reale e aspirazionale. |
reference_clothing |
Da riferimento | Genera un'immagine di abbigliamento a partire da una foto di riferimento. |
Arredamento (furniture)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
furniture_packshot |
Packshot da studio | Sfondo bianco pulito per cataloghi e-commerce. |
minimalist_space |
Stanza minimalista | Spazio arioso ed essenziale per mettere in risalto l'arredo. |
cozy_vignette |
Living arredato | Ambiente arredato con decorazioni e luce morbida. |
material_detail |
Dettaglio del materiale | Scatto macro che esalta texture e finiture dei materiali. |
furniture_with_model |
Con presenter | Arredo con un presenter per dimensioni e contesto. |
reference_furniture |
Da riferimento | Estetica dell'ambiente basata su una foto di ispirazione. |
Beauty e cosmetici (cosmetics)
Preset di sistema per questa modalità
| ID | Titolo | Descrizione |
|---|---|---|
cosmetics_packshot |
Packshot da studio | Sfondo bianco pulito o a tinta unita per l'e-commerce. |
earthy_minimalism |
Elementi naturali | Composizione di lusso con pietra grezza, intonaco o increspature d'acqua. |
texture_swatch |
Campione di texture | Scatto macro artistico che mostra la texture della formula accanto alla confezione. |
minimalist_vanity |
Vanity pulito | Bagno di lusso o spa con luce calda e morbida. |
cosmetics_with_model |
Con presenter | Presenter con pelle luminosa che tiene o applica il prodotto. |
reference_cosmetics |
Da riferimento | Estetica, illuminazione e atmosfera basate su una foto di ispirazione. |
Proporzioni
Da passare tramite il campo aspect. Predefinito: 1:1.
| Valore | Caso d'uso |
|---|---|
1:1 | Quadrato |
4:5 | Post social |
9:16 | Storia social |
16:9 | Widescreen |
3:4 | Tradizionale |
3:2 | Standard |
4:3 | Classico |
21:9 | Ultrawide |
Risoluzioni e costo in crediti
Da passare tramite il campo resolution. Predefinito: 1K.
| Valore | Pixel (lato lungo) | Crediti per rendering |
|---|---|---|
1K |
1024px | 3 |
2K |
2048px | 4 |
4K |
4096px | 6 |
Helper di stile (opzioni per stile)
Ogni stile accetta un insieme aggiuntivo di campi di regolazione fine. Aggiungili come chiavi di primo livello nel body della richiesta. Gli helper non presenti nell'elenco dello stile scelto vengono ignorati.
Generale (product)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
presenter_interactionInterazione |
select |
holding |
with_presenter |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
presenter_shotTipo di scatto |
select |
full_body |
with_presenter |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
bg_sceneLuogo |
select |
living_room |
scene with_presenter |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
scene_styleStile dell'ambiente |
select |
minimalist_modern |
scene with_presenter |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
shadowSuperficie |
select |
soft |
pure_white |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
product_surfaceSuperficie |
select |
gradient |
studio_gradient |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
bg_colorSfondo |
color |
#ffffff |
color_backdrop pure_white studio_gradient |
Colore esadecimale, es. #FFFFFF
|
||||||||||||||||||||||||||||||||||||||||||||||||||
product_width_cmLarghezza (cm) |
number |
— | scene with_presenter | testo libero | ||||||||||||||||||||||||||||||||||||||||||||||||||
product_height_cmAltezza (cm) |
number |
— | scene with_presenter | testo libero | ||||||||||||||||||||||||||||||||||||||||||||||||||
product_depth_cmProfondità (cm) |
number |
— | scene with_presenter | testo libero |
Cibo e bevande (food)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
food_backgroundSfondo |
select |
marble |
top_view side_view action_image lifestyle hands_touch macro_texture |
|
||||||||||||||||||
food_styleStile |
select |
realistic |
top_view side_view action_image lifestyle hands_touch macro_texture |
|
||||||||||||||||||
food_surfaceContenitore |
select |
keep_original_vessel |
top_view side_view action_image lifestyle hands_touch macro_texture |
|
||||||||||||||||||
food_colorColore |
color |
#000000 |
top_view side_view action_image lifestyle hands_touch macro_texture |
Colore esadecimale, es. #FFFFFF
|
Gioielli (jewelry)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
jewelry_bg_colorSfondo |
color |
#ffffff |
studio_packshot |
Colore esadecimale, es. #FFFFFF
|
||||||||||||||||||||||||||||||||||||
jewelry_composition_styleComposizione |
select |
standing |
studio_packshot |
|
||||||||||||||||||||||||||||||||||||
jewelry_shadow_styleOmbra |
select |
soft |
studio_packshot |
|
||||||||||||||||||||||||||||||||||||
jewelry_focus_pointPunto di messa a fuoco |
select |
center_gemstone |
macro_detail |
|
||||||||||||||||||||||||||||||||||||
jewelry_macro_backgroundSfondo |
select |
out_of_focus_gradient |
macro_detail |
|
||||||||||||||||||||||||||||||||||||
jewelry_scene_elementsElementi della scena |
select |
luxe_fabric |
styled_still_life |
|
||||||||||||||||||||||||||||||||||||
jewelry_moodMood |
select |
light_and_airy |
styled_still_life |
|
||||||||||||||||||||||||||||||||||||
jewelry_genderGenere |
select |
female |
on_model |
|
||||||||||||||||||||||||||||||||||||
jewelry_skin_toneCarnagione |
select |
light |
on_model |
|
||||||||||||||||||||||||||||||||||||
jewelry_body_partParte del corpo |
select |
auto |
on_model |
|
||||||||||||||||||||||||||||||||||||
jewelry_model_backgroundSfondo |
select |
studio_background |
on_model |
|
||||||||||||||||||||||||||||||||||||
jewelry_layout_styleStile del layout |
select |
dynamic_cascade |
collection_showcase |
|
||||||||||||||||||||||||||||||||||||
jewelry_background_surfaceSuperficie di sfondo |
select |
reflective_mirror |
collection_showcase |
|
||||||||||||||||||||||||||||||||||||
jewelry_theme_colorColore |
color |
#ffffff |
collection_showcase styled_still_life on_model |
Colore esadecimale, es. #FFFFFF
|
||||||||||||||||||||||||||||||||||||
jewelry_creative_directionDirezione creativa |
select |
clean_editorial_portrait |
lifestyle_jewelry |
|
||||||||||||||||||||||||||||||||||||
jewelry_expressionEspressione |
select |
confident_direct |
lifestyle_jewelry |
|
||||||||||||||||||||||||||||||||||||
jewelry_shot_typeTipo di scatto |
select |
focus_on_jewelry |
lifestyle_jewelry |
|
Abbigliamento (clothing)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fabric_typeTipo di tessuto |
select |
auto |
editorial_close_up |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
garment_viewVista del capo |
select |
front |
ecommerce_packshot artistic_flat_lay studio_model lifestyle_scene reference_clothing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
garment_fitVestibilità del capo |
select |
true_to_size |
ecommerce_packshot artistic_flat_lay studio_model lifestyle_scene reference_clothing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
display_styleStile di presentazione |
select |
flat_lay |
ecommerce_packshot |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
surface_typeSuperficie |
select |
wood |
artistic_flat_lay |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
background_typeSfondo |
select |
seamless_paper |
studio_model |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bg_colorSfondo |
color |
#ffffff |
ecommerce_packshot studio_model artistic_flat_lay |
Colore esadecimale, es. #FFFFFF
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
model_shotScatto con modello |
select |
full_body |
studio_model lifestyle_scene |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
flatlay_viewAngolazione |
select |
top_down |
artistic_flat_lay |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lighting_styleIlluminazione |
select |
soft_studio |
artistic_flat_lay |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
scene_locationLocation della scena |
select |
urban_city_street |
lifestyle_scene |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
time_of_dayMomento della giornata |
select |
auto |
lifestyle_scene |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
weather_conditionMeteo |
select |
clear |
lifestyle_scene |
|
Arredamento (furniture)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
furniture_angleAngolazione |
select |
auto |
furniture_packshot |
|
||||||||||||||||||||||||||||||||||||||||
furniture_shadowSuperficie |
select |
soft |
furniture_packshot |
|
||||||||||||||||||||||||||||||||||||||||
furniture_bg_colorSfondo |
color |
#ffffff |
furniture_packshot |
Colore esadecimale, es. #FFFFFF
|
||||||||||||||||||||||||||||||||||||||||
furniture_room_typeTipo di ambiente |
select |
clean_studio |
minimalist_space cozy_vignette furniture_with_model |
|
||||||||||||||||||||||||||||||||||||||||
furniture_design_styleStile di interior design |
select |
auto |
minimalist_space cozy_vignette furniture_with_model |
|
||||||||||||||||||||||||||||||||||||||||
furniture_materialMateriale in evidenza |
select |
auto |
material_detail |
|
||||||||||||||||||||||||||||||||||||||||
furniture_interactionInterazione del modello |
select |
auto |
furniture_with_model |
|
||||||||||||||||||||||||||||||||||||||||
furniture_width_cmLarghezza (cm) |
number |
— | minimalist_space cozy_vignette furniture_with_model | testo libero | ||||||||||||||||||||||||||||||||||||||||
furniture_height_cmAltezza (cm) |
number |
— | minimalist_space cozy_vignette furniture_with_model | testo libero | ||||||||||||||||||||||||||||||||||||||||
furniture_depth_cmProfondità (cm) |
number |
— | minimalist_space cozy_vignette furniture_with_model | testo libero |
Beauty e cosmetici (cosmetics)
| Campo | Tipo | Predefinito | Si applica agli stili | Opzioni | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cosmetics_angleAngolazione |
select |
auto |
cosmetics_packshot |
|
||||||||||||
cosmetics_shadowSuperficie |
select |
soft |
cosmetics_packshot |
|
||||||||||||
cosmetics_bg_colorSfondo |
color |
#F5F5F0 |
cosmetics_packshot |
Colore esadecimale, es. #FFFFFF
|
||||||||||||
cosmetics_elementElemento principale |
select |
travertine_stone |
earthy_minimalism |
|
||||||||||||
cosmetics_env_colorAtmosfera / Colore della superficie |
color |
#E8DCC4 |
earthy_minimalism |
Colore esadecimale, es. #FFFFFF
|
||||||||||||
cosmetics_formulaTexture della formula |
select |
thick_cream |
texture_swatch |
|
||||||||||||
cosmetics_swatch_colorColore di sfondo / superficie |
color |
#F2EBE5 |
texture_swatch |
Colore esadecimale, es. #FFFFFF
|
||||||||||||
cosmetics_vanityComposizione vanity |
select |
marble_sink |
minimalist_vanity |
|
||||||||||||
cosmetics_interactionPosa della modella |
select |
holding_near_face |
cosmetics_with_model |
|
||||||||||||
cosmetics_model_sceneScena di sfondo |
select |
clean_studio |
cosmetics_with_model |
|
||||||||||||
cosmetics_width_cmLarghezza (cm) |
number |
— | earthy_minimalism minimalist_vanity cosmetics_with_model texture_swatch | testo libero | ||||||||||||
cosmetics_height_cmAltezza (cm) |
number |
— | earthy_minimalism minimalist_vanity cosmetics_with_model texture_swatch | testo libero | ||||||||||||
cosmetics_depth_cmProfondità (cm) |
number |
— | earthy_minimalism minimalist_vanity cosmetics_with_model texture_swatch | testo libero |
Formato della risposta
Fatto! — 200 OK
{
"ok": true,
"data_url": "https://cdn.emilia.digital/.../generated.jpg",
"s3": {
"item": {
"public_id": "abc123",
"display_url": "https://cdn.emilia.digital/.../generated.jpg"
}
},
"firstTry": false,
"credits_available": null
}
data_url è l'URL CDN canonico dell'immagine generata: salvalo dal tuo lato.
Errore
{
"code": "no_credits",
"message": "no_credits",
"data": { "status": 402 }
}
Errori
| Stato | Codice | Significato |
|---|---|---|
400 |
no_image |
Nessuna immagine fornita nella richiesta. |
400 |
bad_data_url |
image_data_url non è un'immagine base64 valida. |
401 |
invalid_key |
Chiave Authorization Bearer mancante o non valida. |
402 |
no_credits |
L'utente non ha crediti sufficienti per questa risoluzione. |
429 |
rate_limited |
Troppe richieste: rallenta e riprova. |
429 |
busy |
Limite di concorrenza raggiunto: riprova tra poco. |
500 |
generation_failed |
Il provider AI non ha restituito alcun risultato. |
503 |
encode_failed |
Il provider ha bloccato il risultato o non è riuscito a codificarlo. |
Esempi completi
cURL — richiesta minima
curl -X POST 'https://ai.emilia.digital/it/wp-json/emai/v1/ai-image-render' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"mode": "product",
"preset": "pure_white",
"aspect": "1:1",
"resolution": "1K",
"image_data_url": "https://example.com/my-product.jpg"
}'
cURL — con helper (gioiello su modella)
curl -X POST 'https://ai.emilia.digital/it/wp-json/emai/v1/ai-image-render' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"mode": "jewelry",
"preset": "on_model",
"aspect": "4:5",
"resolution": "2K",
"model": "gemini",
"image_data_url": "https://example.com/ring.jpg",
"jewelry_gender": "female",
"jewelry_skin_tone": "medium",
"jewelry_body_part": "finger",
"jewelry_model_background": "soft_focus_environment"
}'
Node.js (fetch)
const res = await fetch('https://ai.emilia.digital/it/wp-json/emai/v1/ai-image-render', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.EMILIA_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
mode: 'food',
preset: 'top_view',
aspect: '1:1',
resolution: '1K',
image_data_url: 'https://example.com/dish.jpg',
food_background: 'marble',
food_style: 'realistic'
})
});
const json = await res.json();
console.log(json.data_url);
PHP
$response = wp_remote_post('https://ai.emilia.digital/it/wp-json/emai/v1/ai-image-render', [
'timeout' => 120,
'headers' => [
'Authorization' => 'Bearer ' . EMILIA_API_KEY,
'Content-Type' => 'application/json',
],
'body' => wp_json_encode([
'mode' => 'clothing',
'preset' => 'studio_model',
'aspect' => '4:5',
'resolution' => '2K',
'image_data_url' => 'https://example.com/shirt.jpg',
'garment_view' => 'front',
'garment_fit' => 'true_to_size',
'background_type'=> 'seamless_paper',
'bg_color' => '#FFFFFF',
]),
]);
$body = json_decode(wp_remote_retrieve_body($response), true);
echo $body['data_url'];