Creare un'immagine o un video con l'AI
Il costo viene scalato dai crediti del workspace, a prezzo fisso per modello. Effettua prima una chiamata con estimate_only: true (gratuita) per conoscere il prezzo esatto, poi ripeti la chiamata impostando max_credits su quell’importo. In genere un’immagine è pronta entro wait_seconds; un video richiede da uno a cinque minuti: recupera la generazione con GET usando il suo id. Se la generazione non riesce, i crediti vengono restituiti.
POST/v1/sites/{site_id}/media/generations
Richiede media:generate, un’autorizzazione specifica: una credenziale che può modificare i siti non può spendere crediti, a meno che non abbia ricevuto anche questa autorizzazione. Consuma i crediti dell’area di lavoro.
- Effettua la chiamata con
estimate_only: true. Non costa nulla e restituisceestimated_credits(il prezzo esatto) ebalance. - Ripeti la chiamata impostando
max_creditssu quel prezzo. Senzamax_credits, la chiamata viene rifiutata. Se il prezzo lo supera, la chiamata viene rifiutata senza addebiti:invalid_parametersumax_credits, condetails.reasonprice_above_max_credits,details.estimated_creditsedetails.max_credits.
I crediti vengono addebitati all’avvio della generazione. Se non va a buon fine, vengono restituiti. Di solito un’immagine è pronta entro wait_seconds (50 per impostazione predefinita) e la risposta include status: succeeded e il relativo media. Un video richiede da uno a cinque minuti: la risposta è status: running con un id; recupera la generazione finché non è terminata.
Il file viene salvato nei file multimediali del sito come un file caricato, con credit impostato sul modello che lo ha creato. Non presentare mai un’immagine generata come una fotografia dell’attività, dei suoi prodotti, delle persone che vi lavorano o dei suoi locali.
Al massimo 10 generazioni al minuto per area di lavoro (429 rate_limited oltre tale limite, con details.retry_after_seconds). Crediti insufficienti: 402 insufficient_credits con details.needed e details.balance. Se un modello è occupato, la generazione non va a buon fine e i crediti vengono restituiti: riprova tra un minuto.
Autorizzazioni
Authorizationbearerin headerrequiredParametri di percorso
site_idstringrequiredL'ID del sito o il suo slug (l'indirizzo prima di .atelier201.page).
Corpo
application/jsonrequiredmodelenum<string>requiredone of: gpt-image, nano-banana, flux, p-image, wan, minimax, seedance, p-videoGET /v1/media/models elenca tutti i modelli, indica a cosa sono più adatti e i relativi prezzi in crediti.
promptstringrequiredlength: 1–4000 charsCosa mostrare: soggetto, ambientazione, luce, inquadratura, stile.
aspect_ratioenum<string>one of: 16:9, 1:1, 9:16, 4:3, 3:4, 3:2, 2:3Rapporto tra larghezza e altezza. Ogni modello accetta i rapporti indicati da list_media_models; per impostazione predefinita usa il primo (16:9 per la maggior parte dei modelli).
qualityenum<string>one of: draft, standard, highImmagini: draft, standard (predefinito) o high.
durationintegerrange: 1–10Video: durata in secondi.
resolutionenum<string>one of: 480p, 720p, 768p, 1080p, 2kVideo: per impostazione predefinita, la risoluzione del modello (720p, oppure 768p per minimax e p-video).
audiobooleanVideo: con audio (solo seedance).
filenamestringlength: 1–100 charsUn nome senza estensione.
altstringlength: ≤ 300 charsestimate_onlybooleantrue: prezzo esatto in crediti e saldo. Gratuito, non viene avviata alcuna operazione.
max_creditsintegerrange: ≤ 9007199254740991Obbligatorio per avviare l’operazione: l’importo massimo che accetti di spendere. Se il prezzo è superiore, la richiesta viene rifiutata e non viene addebitato nulla. Usa il valore ottenuto con una chiamata estimate_only.
wait_secondsintegerrange: 0–55Per quanto tempo attendere il risultato. Valore predefinito: 50 per un’immagine, 0 per un video.
Risposta
Crea un’immagine o un video con l’AI
dataRecord<string, object>requiredrequest_idstringrequiredCodici possibili: invalid_request, unknown_field, invalid_parameter, invalid_cursor
errorobjectrequiredrequest_idstringrequiredCodici possibili: authentication_required, invalid_api_key, api_key_expired, api_key_revoked
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_credits
errorobjectrequiredrequest_idstringrequiredCodici possibili: insufficient_scope, feature_not_available, admin_required
errorobjectrequiredrequest_idstringrequiredCodici possibili: resource_not_found
errorobjectrequiredrequest_idstringrequiredCodici possibili: conflict, result_not_ready, idempotency_key_reused
errorobjectrequiredrequest_idstringrequiredCodici possibili: result_expired
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large
errorobjectrequiredrequest_idstringrequiredCodici possibili: request_too_large_for_plan
errorobjectrequiredrequest_idstringrequiredCodici possibili: rate_limited
errorobjectrequiredrequest_idstringrequiredCodici possibili: internal_error
errorobjectrequiredrequest_idstringrequiredCodici possibili: service_unavailable
errorobjectrequiredrequest_idstringrequired