modelli

MiniMax: H3 Max

Markdown · JSON

MiniMax: H3 Max

MiniMax H3 Max è una variante rapida di H3 perfezionata tramite post-addestramento per brevi video con audio sincronizzato. Il flusso documentato di MiniMax supporta testo, immagini di fotogrammi e riferimenti multimodali, con output 480P o 768P, durata di 5–15 secondi e proprie scelte di espansione del prompt.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

Una variante rapida di H3 perfezionata tramite post-addestramento

MiniMax H3 Max è una variante del modello base MiniMax H3 perfezionata tramite post-addestramento, ottimizzata per generazione più veloce, aderenza al prompt e qualità audiovisiva. La variante è stata sviluppata tramite post-addestramento da fal Research. Mantiene un contesto multimodale unificato e immagini e suono sincronizzati nativamente. La velocità è una priorità di progettazione, non un tempo fisso di completamento per ogni prompt, durata o applicazione.

Mantieni Max distinto dal sistema H3 originale e dalla variante separata Max Turbo. L’interfaccia attuale di MiniMax elenca Max a 480P o 768P, con 768P come valore predefinito, 24 fotogrammi al secondo e durata espressa in secondi interi, da 5 a 15 secondi. Il flusso Max documentato non offre l’impostazione 2K del sistema H3 originale né un output di quattro secondi.

Dal prompt all’inquadratura

Ogni generazione comprende un brief testuale non vuoto, fino a 7.000 caratteri per elemento di testo. Descrivi soggetto, composizione iniziale, azione e risultato, poi rendi chiare le indicazioni di camera e suono. Per una breve rivelazione di un oggetto, identifica che cosa deve vedere prima lo spettatore, come l’oggetto entra nel campo e come deve finire l’inquadratura.

Un brief utile di cinque secondi può descrivere una tazza di ceramica su un tavolo di legno, una mano che le posa accanto un piattino, un piccolo avanzamento della camera e il suono della ceramica che incontra il legno. Mantieni l’azione abbastanza contenuta per la durata selezionata e controlla che movimento e suono restituiti seguano lo stesso evento.

Creazione guidata da fotogrammi

Il produttore documenta un fotogramma iniziale, uno finale o entrambi. Una prima immagine definisce dove inizia la clip; un’ultima immagine definisce lo stato visivo finale. Spiega il movimento che le collega, compresi cambiamenti di posa, posizione degli oggetti, camera o illuminazione. Per una transizione tra due fotogrammi, evita un brief che introduca una scena incompatibile tra i suoi estremi.

L’output guidato da fotogrammi ricava il rapporto d’aspetto dall’immagine di ingresso. Per lavori con solo testo, scegli un rapporto concreto tra 21:9, 16:9, 4:3, 1:1, 3:4 o 9:16. Il lavoro guidato da riferimenti può usare un rapporto adattivo o una delle scelte esplicite documentate. Componi il riferimento o la scena scritta per il fotogramma di destinazione invece di presumere che la stessa disposizione funzioni altrettanto bene in verticale e in orizzontale.

Riferimenti multimodali

Lo schema attuale di generazione Max di MiniMax documenta anche immagini, video e audio di riferimento. Specifica ciò che ciascuno deve influenzare: identità di un personaggio, ambiente, schema di movimento, traiettoria della camera, timbro vocale o caratteristica sonora. I ruoli di primo/ultimo fotogramma e quelli dei media di riferimento si escludono a vicenda in quell’interfaccia.

Per un’inquadratura di personaggio, identifica separatamente il riferimento dell’aspetto e quello del movimento, poi fornisci l’azione desiderata e la battuta. Un riferimento vocale che definisce l’interpretazione è diverso dalla copia del suo intero segnale audio. Rendi esplicite nel brief le caratteristiche da preservare e i cambiamenti da apportare, e confronta la clip audiovisiva effettiva con ogni ruolo di riferimento.

Espansione del prompt

L’impostazione di espansione specifica di Max offre le scelte disabled, balanced e quality, con balanced come valore predefinito. Scegli disabled quando il brief fornito deve essere trasmesso senza espansione; usa una modalità di espansione documentata quando desideri un’interpretazione aggiuntiva. Conserva il brief originale, così un cambiamento introdotto durante l’espansione può essere distinto dal contenuto richiesto.

Descrivi il suono come parte della scena. Identifica suoni fisici, ambiente sonoro ed eventuali parole pronunciate e distinguili dalla musica di sottofondo udibile soltanto dal pubblico. Fornisci la battuta esatta e il parlante previsto invece di chiedere dialoghi non specificati. Ascolta il risultato oltre a guardarlo; un’immagine convincente non dimostra che le parole pronunciate o i tempi siano corretti.

Preparazione degli input e limiti

Lo schema attuale del produttore accetta immagini JPG, JPEG, PNG, WebP, HEIC o HEIF, fino a 30 MB ciascuna, con lati da 256 a 5.760 pixel e rapporti da 0.4 a 2.5. I ruoli iniziale e finale consentono un’immagine ciascuno; la modalità riferimenti consente fino a nove immagini. Mantieni una vista chiara del soggetto e dei dettagli che devono restare identificabili.

Il video di riferimento consente fino a tre clip MP4 o MOV, ciascuna di 2–15 secondi e complessivamente di non più di 15 secondi, con un limite di 50 MB per file. Sono documentati video H.264 o H.265, audio AAC o MP3, lati da 256 a 5.760 pixel, rapporti da 0.4 a 2.5 e frame rate da 23.976 a 60. L’audio di riferimento consente fino a tre clip WAV o MP3, ciascuna fino a 15 MB e di 2–15 secondi, complessivamente di non più di 15 secondi. Il corpo della richiesta ha un limite separato di 64 MB.

Usa soltanto riferimenti che contribuiscono all’inquadratura e identifica ogni contributo nel testo. Una clip di movimento breve e pertinente è più facile da usare come indicazione di una lunga raccolta di eventi non collegati. Mantieni esplicite la durata prevista e la risoluzione di output, così il risultato può essere confrontato con lo stesso brief.

Il risultato finito

Il flusso asincrono del produttore restituisce un identificatore di attività prima che il video completato sia disponibile. L’interfaccia di interrogazione recupera le attività dei sette giorni precedenti. Salva la clip effettivamente restituita e la sua specifica per il montaggio o un ulteriore controllo; un identificatore di attività non è il risultato audiovisivo. Gli indirizzi di download sono limitati nel tempo, quindi conserva il file stesso quando mantieni un risultato selezionato.

Controlla continuità del soggetto, movimento, testo visibile, dialogo e tempi del suono alle dimensioni in cui verrà usata la clip. Usa riscontri concreti per un altro brief creativo: il gesto cambiato, la battuta omessa o l’inquadratura da adattare. Il risultato utile è una breve ripresa audiovisiva collegata al contenuto fornito e ai suoi rapporti espliciti tra riferimenti.

Ailoot Ultra · Video POST /v1/videos minimax/hailuo-3-max

minimax/hailuo-3-max

MiniMax /minimax/hailuo-3-max

Introduzione

MiniMax H3 Max è una variante rapida di H3 perfezionata tramite post-addestramento per brevi video con audio sincronizzato. Il flusso documentato di MiniMax supporta testo, immagini di fotogrammi e riferimenti multimodali, con output 480P o 768P, durata di 5–15 secondi e proprie scelte di espansione del prompt.

Input accettati
Testo · Immagini
Risultati
Video

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Video POST /v1/videos
Tipi di input
text, image
Tipi di output
video
Formato di output
byte MP4 originali; nessuna normalizzazione o transcodifica
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
minimax/hailuo-3-max
Predefinito—
CampopromptTipostringRequisitoObbligatorioValori e limitiPredefinito—
CampodurationTipointegerRequisitoObbligatorioValori e limiti
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Minimo: 1
Massimo: 600
Predefinito—
CamporesolutionTipostringRequisitoFacoltativoValori e limiti
768p, 480p
Predefinito—
Campoaspect_ratioTipostringRequisitoFacoltativoValori e limiti
21:9, 16:9, 4:3, 1:1, 3:4, 9:16
Predefinito—
Campogenerate_audioTipobooleanRequisitoFacoltativoValori e limiti
false
Predefinito—
Campoframe_imagesTipoarrayRequisitoFacoltativoValori e limiti
Numero minimo di elementi: 1
Numero massimo di elementi: 2
Contenuto in input: Array di oggetti fotogramma. Ogni oggetto contiene type=image_url, image_url con url e frame_type. Usa un URL HTTPS dell'immagine e imposta frame_type su first_frame o last_frame. Ogni ruolo del fotogramma compare al massimo una volta.
Chiavi esatte: type, image_url, frame_type
Condizioni: Queste chiavi descrivono ogni oggetto fotogramma; image_url contiene solo url. Ometti frame_images per una richiesta di solo testo.
Predefinito—
Campoinput_referencesTipoarrayRequisitoFacoltativoValori e limitiPredefinito—
Campocallback_urlTipostringRequisitoFacoltativoValori e limiti
Schema: ^https://
Predefinito—
Camposession_idTipostringRequisitoFacoltativoValori e limitiPredefinito—
CampotraceTipoobjectRequisitoFacoltativoValori e limitiPredefinito—
CampouserTipostringRequisitoFacoltativoValori e limitiPredefinito—
Combinazioni di materiali in input

Da testo a video · Un prompt scritto. · Obbligatorio: model, prompt, duration

Fornisci il prompt come testo e la durata in secondi interi. Scegli una risoluzione supportata e, se necessario, un rapporto d'aspetto.

model: Tipo: string · minimax/hailuo-3-max

prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì

Da immagine a video · Un prompt scritto e un'immagine del primo fotogramma. · Obbligatorio: model, prompt, duration, frame_images

frame_images è un array. Ogni oggetto fotogramma contiene type, image_url e frame_type; image_url contiene url. Imposta type su image_url. Usa first_frame con last_frame facoltativo. Ogni ruolo del fotogramma può comparire al massimo una volta. Fornisci un URL HTTPS pubblico dell'immagine per ogni fotogramma. Scegli una risoluzione supportata e, se necessario, un rapporto d'aspetto.

Chiavi esatte: type, image_url, frame_type

model: Tipo: string · minimax/hailuo-3-max

prompt: Tipo: string · Numero massimo di byte UTF-8: 10.000 · Sono richiesti caratteri diversi dagli spazi: Sì

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, prompt, duration
Parametromaterial_typesContrattotext, image
Parametroadditional_propertiesContrattofalse
Parametrooptional_controlsContrattoresolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user

Ciclo di vita: submit_once_poll_original

GET /v1/videos/{public_id}

GET /v1/videos/{public_id}/content

Tariffe

Calcolo del costo finale

Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe stimate per il confronto

Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

ConfigurazioneListino delle tariffeQuantità previstaComponente del costoUnità di fatturazioneCondizioni di fatturazioneCosto
ConfigurazioneTariffe base dei tokenListino delle tariffeTariffa baseQuantità prevista—Componente del costo—Unità di fatturazione—Condizioni di fatturazione—Costo
Input · Token in input · Stima solo a fini di confronto — / 1K token
Output · Token in output · Stima solo a fini di confronto — / 1K token
Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token
Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token
Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token
ConfigurazioneVideo in uscita · tariffa di riferimentoListino delle tariffe—Quantità prevista—Componente del costoreference_output_rateUnità di fatturazioneper secondo in outputCondizioni di fatturazione—Costo
Output · Tariffa di riferimento per secondo di video in uscita · Stima solo a fini di confronto $0.16 per secondo in output
ConfigurazionePrezzo del videoListino delle tariffe—Quantità prevista—Componente del costo—Unità di fatturazioneper secondo di videoCondizioni di fatturazioneresolution: 480pCosto
Output · Prezzo del video · Stima solo a fini di confronto $0.1 per secondo di video
ConfigurazionePrezzo del videoListino delle tariffe—Quantità prevista—Componente del costo—Unità di fatturazioneper secondo di videoCondizioni di fatturazioneresolution: 768pCosto
Output · Prezzo del video · Stima solo a fini di confronto $0.16 per secondo di video
ConfigurazioneCosto stimato della generazioneListino delle tariffe—Quantità previstastima per una generazioneComponente del costo—Unità di fatturazione—Condizioni di fatturazione—Costo
Output · Costo di generazione stimato · Stima solo a fini di confronto $0.5 stima prima della generazione

Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata.

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Dettagli della tariffa di riferimento

I listini di riferimento del modello non modificano la selezione del metodo, i preventivi o gli addebiti. Gli addebiti attivi usano le tariffe del metodo Ailoot selezionato.

Riferimenti tariffari delle configurazioni video

Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

ConfigurazioneCondizioni di fatturazioneCosto
ConfigurazionePrezzo del videoCondizioni di fatturazioneIn questa chiave tariffaria non è dichiarata alcuna condizione aggiuntiva.Costo
Output · Prezzo del video $0.16 per secondo di video

Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.

ConfigurazionePrezzo del videoCondizioni di fatturazioneresolution: 480pCosto
Output · Prezzo del video $0.1 per secondo di video

Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.

ConfigurazionePrezzo del videoCondizioni di fatturazioneresolution: 768pCosto
Output · Prezzo del video $0.16 per secondo di video

Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata.

Esempi di richieste

Ailoot Ultra · Video

curl · crea un video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":8,"model":"minimax/hailuo-3-max","prompt":"A serene mountain landscape at sunset","resolution":"480p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT

Ricevi e salva i risultati

Ailoot Ultra · Video

URL firmati di contenuti di tua proprietà

  • GET /v1/videos/{public_id}
  • GET /v1/videos/{public_id}/content
Verifica lo stato dell’attività
GET stato dell’operazione originale
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Altre letture di contenuto
Salva ogni output completato di tua proprietà
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
    urls.append((str(i),u))
for label,path in urls:
    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
    target=Path('owned-'+label+'.bin')
    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva tutti i risultati completati

Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.

Conserva ogni risultato effettivo di tua proprietà e i metadati misurati restituiti.

Se occorre verificare la risposta originale

503 result_pending_check + id originale + X-Should-Retry:false; non ripetere mai l'operazione originale

Campi della risposta
CampoTipoSignificato
CampoindexTipointegerSignificatoPosizione di questo video nell'elenco dei risultati, con indice a partire da zero.
Campocontent_urlTipostringSignificatoURL HTTPS firmato per il download di questo video completato.
Camposha256Tipostring | nullSignificatoDigest SHA-256 dei byte video originali; null se non disponibile.
Camposize_bytesTipointeger | nullSignificatoDimensione del file video originale in byte; null se non disponibile.
Campoduration_msTipointeger | nullSignificatoDurata misurata del video in millisecondi; null se non disponibile.
CampowidthTipointeger | nullSignificatoLarghezza del video in pixel; null se non disponibile.
CampoheightTipointeger | nullSignificatoAltezza del video in pixel; null se non disponibile.
Campovideo_codecTipostring | nullSignificatoIdentificatore del codec video; null se non registrato.
Campohas_audioTipoboolean | nullSignificatoIndica se il video contiene una traccia audio; null se non misurato.
Campoaudio_codecTipostring | nullSignificatoIdentificatore del codec audio; null quando non è registrato alcun identificatore.
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta404 · not_found_errorCondizioneL'accesso al video non è disponibile oppure questo ID video non è stato trovato.Passaggio successivoVerifica l'accesso al video. Per un video esistente, usa l'ID pubblico originale e la stessa chiave API.
Risposta401 · authentication_errorCondizioneLa chiave API non corrisponde all'account autenticato.Passaggio successivoVerifica la chiave API e l'accesso all'account prima dell'invio.
Risposta400 · invalid_request_errorCondizioneNon è stato possibile leggere la richiesta oppure l'indice di download non è valido.Passaggio successivoCorreggi il corpo della richiesta. Per un download, scegli un indice di uscita restituito dall'attività originale.
Risposta422 · price_unavailableCondizioneNon è possibile determinare il prezzo della configurazione video selezionata.Passaggio successivoScegli una configurazione video supportata e completa le opzioni obbligatorie prima di inviare una richiesta corretta.
Risposta422 · invalid_request_errorCondizioneUn input video o l'attività originale di continuazione non è valido.Passaggio successivoUsa input HTTPS validi. Per la continuazione, usa l'ID video pubblico del tuo originale completato con la stessa chiave API.
Risposta402 · billing_errorCondizioneIl saldo disponibile o i limiti non consentono di riservare l'importo.Passaggio successivoControlla il saldo disponibile e i limiti prima di inviare una nuova richiesta.
Risposta503 · server_errorCondizioneLa verifica video, l’archiviazione o l’accesso al servizio sono temporaneamente indisponibili.Passaggio successivoAttendi che il servizio sia disponibile. Se hai già un ID video, verifica quell'attività originale invece di creare un'altra generazione.
Risposta503 · result_pending_checkCondizioneIl risultato video originale e l'addebito devono essere verificati.Passaggio successivoConserva l'ID video restituito e verifica quell'attività. Non inviare una richiesta di generazione sostitutiva mentre la verifica è in corso.
Risposta503 · owned_result_unavailableCondizioneIl download del video esistente è temporaneamente indisponibile.Passaggio successivoVerifica in seguito la stessa attività video e scarica il risultato esistente. Una nuova generazione crea un'operazione separata.
Risposta409 · video_not_readyCondizioneIl contenuto video non è stato pubblicato.Passaggio successivoVerifica lo stato dell'attività originale. Scarica dopo che segnala completed; se segnala failed, segui l'avviso di verifica dell'addebito.

Alias

Alias del modello

Ailoot Ultra minimax/hailuo-3-max

Alias dei percorsi dei metodi

Usa i percorsi dei metodi indicati sopra.

ID di chiamata correlati

minimax/hailuo-3-max

FAQ · MiniMax: H3 Max
Quali input e risultati sono disponibili?

POST /v1/videos · minimax/hailuo-3-max: text, image → video

Quali campi usa la richiesta?

POST /v1/videos · minimax/hailuo-3-max: model, prompt, duration, resolution, aspect_ratio, generate_audio, frame_images, input_references, callback_url, session_id, trace, user

Quali limiti si applicano?

POST /v1/videos · minimax/hailuo-3-max: duration.minimum: 1; duration.maximum: 600; frame_images.max_items: 2; frame_images.min_items: 1

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza