modelli

inclusionAI: Ling 3.1 Flash

Markdown · JSON

inclusionAI: Ling 3.1 Flash

Ling 3.1 Flash è il modello di ragionamento ibrido di inclusionAI per lavoro d’ufficio, sviluppo software prolungato e agenti complessi. La sua architettura sparsa da 560 miliardi di parametri ne attiva circa 25 miliardi per token, supportando pianificazione in più passaggi, interazione con strumenti e revisioni basate sui risultati intermedi.

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.

Ling 3.1 Flash è il modello linguistico di ragionamento ibrido di inclusionAI per compiti che coinvolgono diverse fasi, anziché una singola risposta breve. Il produttore lo propone per il lavoro d’ufficio quotidiano, attività prolungate di ingegneria del software e flussi con agenti complessi. Usa un’architettura mixture-of-experts con circa 560 miliardi di parametri totali e circa 25 miliardi attivi per ogni token, bilanciando un’ampia capacità del modello con una quantità minore di calcolo attivo.

Il suo obiettivo progettuale centrale è mantenere lo stato del compito e correggere la direzione del lavoro più lungo. In un flusso collegato a strumenti, il modello può pianificare diversi passaggi, interpretare risultati intermedi e rivedere il passaggio successivo quando cambiano le prove. Fornisci un obiettivo preciso, i materiali disponibili e una definizione del completamento. Per esempio: «Esamina queste note sull’incidente, identifica le cause irrisolte e produci un piano di indagine in ordine di priorità. Per ogni azione, indica le prove necessarie per decidere se ha funzionato». Questo trasforma una richiesta vaga in un risultato che può essere esaminato e proseguito.

Per il lavoro d’ufficio, input utili comprendono note originali, testo estratto da documenti, tabelle con definizioni chiare delle colonne e il pubblico previsto per una relazione. Specifica il periodo, le unità e il confronto da usare. Chiedi un documento scritto come un resoconto per la direzione, la struttura di una relazione o una spiegazione dei cambiamenti importanti. Un esempio è: «Usando soltanto queste tabelle trimestrali, spiega i cambiamenti maggiori, distingui i valori osservati dalle ipotesi e prepara un resoconto con le domande senza risposta alla fine». Conserva le etichette delle fonti con l’input, così le affermazioni risultanti potranno essere ricondotte al materiale corretto.

Per lo sviluppo software, il produttore evidenzia il refactoring tra linguaggi, l’ottimizzazione delle prestazioni e l’analisi delle aree di una base di codice usate di frequente. Fornisci i file pertinenti come testo, il comportamento da conservare, le versioni delle dipendenze e qualsiasi output di errore o misurazione. Una richiesta utile chiede una modifica proposta e i controlli necessari per valutarla: «Rifattorizza questo parser conservando il formato di output documentato. Spiega il comportamento interessato, mostra il codice rivisto e identifica i casi che rivelerebbero una regressione». Per il lavoro sulle prestazioni, fornisci profili o tempi effettivi e chiedi di collegare ogni raccomandazione a un collo di bottiglia misurato.

Per l’analisi professionale, raccogli regole, definizioni e prove pertinenti prima di chiedere una raccomandazione. Ling 3.1 Flash è pensato per sintetizzare informazioni sparse, interpretare indicatori e sviluppare suggerimenti operativi. Chiedi un confronto che indichi le ipotesi e le informazioni ancora necessarie, anziché un verdetto senza supporto. Per esempio, fornisci diverse proposte di progetto e richiedi una nota decisionale che usi gli stessi criteri per ciascuna, separando le osservazioni sostenute dalle fonti dalle conseguenze dedotte. Quando le prove sono in conflitto, richiedi i passaggi contrastanti e la domanda che permetterebbe di risolverli.

Il produttore distingue un limite massimo di contesto del modello di 1M token dal contesto di 256K attualmente aperto dal suo servizio ufficiale. Queste cifre descrivono confini diversi. Organizza il materiale di lavoro attorno alla finestra applicabile e riserva spazio per la risposta; un limite a livello di modello non significa che ogni interfaccia accetti una quantità di input equivalente. Per un compito ampio, conserva insieme l’obiettivo, le decisioni completate, le domande irrisolte e i riferimenti alle fonti. Usa confini espliciti attorno a documenti e codice, così il materiale da analizzare non verrà confuso con istruzioni da seguire.

Prepara i compiti collegati a strumenti con descrizioni chiare degli strumenti, argomenti attesi e registrazioni utili dei risultati. Reinserisci i risultati effettivi nella conversazione, così la proposta successiva si baserà sulle osservazioni. Chiedi al modello di spiegare che cosa cambia con un risultato restituito e quali prove mancano ancora. Il design del modello orientato agli agenti supporta questo schema di pianificazione e riscontro; l’applicazione circostante esegue i passaggi degli strumenti e ne conserva i risultati. Un comando, una modifica di codice o una relazione proposti sono più utili quando il loro stato è chiaro: suggeriti, eseguiti con un risultato registrato oppure ancora da verificare.

Ling 3.1 Flash appartiene alla linea dei modelli linguistici; l’edizione separata Ling 3.0 Flash VL è il modello visivo del produttore. Per questo compito testuale, prepara contenuti di origine testuali e conservane struttura, etichette e provenienza. Specifica lingua e forma dell’output, per esempio una nota concisa, una tabella di conclusioni, una spiegazione della patch o un piano numerato. Chiedi al modello di segnalare le informazioni mancanti e verifica il risultato richiesto rispetto ai vincoli originali. I flussi lunghi richiedono comunque l’esame dei risultati intermedi: altrimenti un’ipotesi iniziale errata può essere trascinata nei ragionamenti successivi e rifinita fino a diventare una relazione finale convincente.

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions inclusionai/ling-3.1-flash

inclusionai/ling-3.1-flash

inclusionAI /inclusionai/ling-3.1-flash

Introduzione

Ling 3.1 Flash è il modello di ragionamento ibrido di inclusionAI per lavoro d’ufficio, sviluppo software prolungato e agenti complessi. La sua architettura sparsa da 560 miliardi di parametri ne attiva circa 25 miliardi per token, supportando pianificazione in più passaggi, interazione con strumenti e revisioni basate sui risultati intermedi.

Input accettati
Testo
Risultati
Testo

Disponibile in Ailoot · input e metodi

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Tipi di input
text
Tipi di output
text
Formato di output
json o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
inclusionai/ling-3.1-flash
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limiti
Numero minimo di elementi: 1
Predefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
Dipende dal modello
Predefinito—
Campomessages[].contentTipostringRequisitoFacoltativoValori e limiti
Si applica quando: Conversazione testuale
Predefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF8

messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages
Parametromaterial_typesContrattotext
ParametromessagesContrattoArray di messaggi con struttura role/content
Parametrofile_materialContrattoDocumento UTF-8 effettivo inserito come testo letterale; nessun ID di file dedotto
Parametrooptional_controlsContrattostream
Parametrocontrol_scopeContrattoConversazione testuale; stream è un booleano e per impostazione predefinita vale false.
Parametrooutput_modalitiesContrattotext
Parametrohosted_operationsContrattofalse
Parametromultimodal_input_bindingContrattonull

Alias del metodo: /chat/completions

Ciclo di vita: synchronous_or_streamed

Invia l’ID esatto del modello con messages.

La lunghezza del contesto non è un limite di uscita.

Un file di testo può fornire testo letterale; gli ingressi immagine/audio/oggetto file richiedono un’associazione esatta.

Tariffe

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 Ailoot

Prezzi per configurazione

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

ConfigurazioneListino delle tariffeToken di contesto, più diToken di contesto, fino al limite inclusoCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseToken di contesto, più di—Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0006 / 1K token
Output · Token in output $0.0018 / 1K token
Input · Lettura dalla cache $0.00012 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token
ConfigurazioneFascia 1 di lunghezza della richiestaListino delle tariffe—Token di contesto, più di0Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0006 / 1K token
Output · Token in output $0.0018 / 1K token
Input · Lettura dalla cache $0.00012 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

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 →

Esempi di richieste

Ailoot Ultra · OpenAI Chat

curlPython SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"inclusionai/ling-3.1-flash","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -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())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="inclusionai/ling-3.1-flash", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))

Ricevi e salva i risultati

Ailoot Ultra · OpenAI Chat

json o SSE

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva ogni scelta con contenuto, chiamate agli strumenti e ragionamento. In SSE assembla i delta per indice di scelta e strumento e conserva il motivo finale di completamento e i dati di utilizzo.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
Campochoices[].indexTipointeger
Campochoices[].message.contentTipostring|null
Campochoices[].message.tool_callsTipotool_call[]
Campochoices[].message.reasoning_contentTipostring
Campochoices[].message.reasoning_detailsTipoobject|array
Campochoices[].finish_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra inclusionai/ling-3.1-flash

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

inclusionai/ling-3.1-flash

Ailoot Ultra · Anthropic Messages POST /v1/messages inclusionai/ling-3.1-flash

inclusionai/ling-3.1-flash

inclusionAI /inclusionai/ling-3.1-flash

Introduzione

Ling 3.1 Flash è il modello di ragionamento ibrido di inclusionAI per lavoro d’ufficio, sviluppo software prolungato e agenti complessi. La sua architettura sparsa da 560 miliardi di parametri ne attiva circa 25 miliardi per token, supportando pianificazione in più passaggi, interazione con strumenti e revisioni basate sui risultati intermedi.

Input accettati
Testo
Risultati
json · sse

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Anthropic Messages POST /v1/messages
Tipi di input
text
Tipi di output
json, sse
Formato di output
JSON o SSE
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
inclusionai/ling-3.1-flash
Predefinito—
CampomessagesTipomessage[]RequisitoObbligatorioValori e limitiPredefinito—
Campomessages[].roleTipostringRequisitoObbligatorioValori e limiti
user, assistant
Predefinito—
Campomessages[].contentTipostringRequisitoObbligatorioValori e limitiPredefinito—
Campomax_tokensTipointegerRequisitoObbligatorioValori e limitiPredefinito—
CampostreamTipobooleanRequisitoFacoltativoValori e limitiPredefinitofalse
Combinazioni di materiali in input

Testo · Testo UTF-8

Stringa messages[].content

Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, messages, max_tokens
Parametrooptional_controlsContrattostream
Parametromaterial_typesContrattotext
Parametrotext_file_materialContrattoLeggi il documento UTF-8 effettivo e inserisci il testo nell’ingresso indicato o nella stringa del contenuto del messaggio.

Ciclo di vita: synchronous_or_streamed

Tariffe

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 Ailoot

Prezzi per configurazione

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

ConfigurazioneListino delle tariffeToken di contesto, più diToken di contesto, fino al limite inclusoCosto
ConfigurazioneTariffe di base dei tokenListino delle tariffeTariffa baseToken di contesto, più di—Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0006 / 1K token
Output · Token in output $0.0018 / 1K token
Input · Lettura dalla cache $0.00012 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token
ConfigurazioneFascia 1 di lunghezza della richiestaListino delle tariffe—Token di contesto, più di0Token di contesto, fino al limite inclusoNessun limite superioreCosto
Input · Token in input $0.0006 / 1K token
Output · Token in output $0.0018 / 1K token
Input · Lettura dalla cache $0.00012 / 1K token
Input · Scrittura nella cache — / 1K token
Input · Scrittura nella cache, 1 ora — / 1K token

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 →

Esempi di richieste

Ailoot Ultra · Anthropic Messages

Corpo JSON minimo completocurl · usa il tuo documento UTF-8Python · salva il risultato completo
{
  "model": "inclusionai/ling-3.1-flash",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'inclusionai/ling-3.1-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -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

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'inclusionai/ling-3.1-flash', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))

Ricevi e salva i risultati

Ailoot Ultra · Anthropic Messages

JSON o SSE

Conserva tutti i risultati completati

Conserva ogni risposta, file e parte di contenuto restituiti per intero.

Conserva tutti i blocchi di contenuto, le firme di ragionamento e gli ID effettivi di utilizzo degli strumenti. Assembla tutti i delta dei blocchi SSE; il primo blocco di testo non è l’uscita completa.

Se occorre verificare la risposta originale

Conserva gli ID e le intestazioni di richiesta/risposta. Non viene fornito alcun URL generico per recuperare un’attività testuale.

Campi della risposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneCampi obbligatori, rappresentazione del materiale o valore del parametro non validiPassaggio successivoCorreggi i campi indicati prima di una nuova richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra inclusionai/ling-3.1-flash

Alias dei percorsi dei metodi

/chat/completions

ID di chiamata correlati

inclusionai/ling-3.1-flash

FAQ · inclusionAI: Ling 3.1 Flash
Quali input e risultati sono disponibili?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: text → text

POST /v1/messages · inclusionai/ling-3.1-flash: text → json, sse

Quali campi usa la richiesta?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: model, messages, stream

POST /v1/messages · inclusionai/ling-3.1-flash: model, messages, max_tokens, stream

Quali limiti si applicano?

POST /v1/chat/completions · inclusionai/ling-3.1-flash: messages.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