modelos

LiquidAI: LFM2.5-24B-A2B

Markdown · JSON

LiquidAI: LFM2.5-24B-A2B

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

LFM2.5-24B-A2B é um modelo de mistura de especialistas da LiquidAI para raciocínio baseado em texto e agentes que utilizam ferramentas. Tem 24 mil milhões de parâmetros totais, com 2,45 mil milhões ativos para um token. O raciocínio faz parte de cada resposta, pelo que a tarefa deveria definir o objetivo, as evidências a usar e o resultado de que a aplicação necessita.

Dê a um agente um objetivo delimitado

O modelo adequa-se a fluxos em que um modelo de linguagem escolhe um próximo passo, lê a observação resultante e continua depois em direção a um resultado a entregar. Indique o objetivo em termos que a aplicação possa verificar: encontrar o registo relevante, comparar duas configurações, preparar uma proposta de alteração ou produzir uma avaliação estruturada.

Forneça ferramentas com finalidades claras e conserve as observações devolvidas no contexto da tarefa. O modelo publica suporte para chamadas a ferramentas, incluindo a seleção de uma ferramenta quando a interface disponibiliza essa capacidade. A execução pertence à aplicação que controla essas ferramentas. Mantenha uma observação devolvida distinta de uma instrução escrita pelo modelo, sobretudo quando um passo posterior depende do resultado de uma pesquisa ou consulta.

Recuperação de informação para trabalho intensivo em conhecimento

O editor recomenda recuperação de informação ou pesquisa na Web para tarefas que dependem de conhecimento externo detalhado. Integre o passo de obtenção de evidências no fluxo, em vez de pedir ao modelo que invente factos que não recebeu. Identifique as passagens recuperadas e peça que a resposta ligue as suas conclusões a essas passagens.

Num fluxo de apoio, isto pode significar encontrar a política relevante e explicar como se aplica ao caso fornecido. Numa tarefa técnica, pode significar comparar a documentação e a configuração antes de propor uma alteração. Mantenha o conteúdo recuperado importante no contexto, para que a resposta final possa ser verificada sem repetir todas as consultas.

Respostas estruturadas e escolhas de amostragem

O modelo publicado suporta saídas estruturadas orientadas por esquema. Defina uma estrutura de resultado pequena em torno do que a aplicação consome, como uma categoria selecionada, uma explicação, referências às evidências e uma próxima ação. Separe o processo de raciocínio do modelo dos campos que o componente seguinte precisa de guardar ou apresentar.

A LiquidAI indica temperatura 0,1, top_k 50 e repetition_penalty 1,05 como recomendações publicadas de amostragem, e o catálogo guardado repete essas predefinições. Fornecem um ponto de partida repetível para avaliar um fluxo específico. Mantenha as definições escolhidas consistentes ao comparar tarefas representativas.

Capacidade e linguagem

O registo de serviço publicado indica uma janela de contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens. Prepare uma especificação concisa da resposta para que o resultado final caiba nesse limite de saída. Mantenha as evidências relevantes em conjunto e deixe espaço de saída suficiente para o resultado pedido.

O fabricante indica um conjunto multilingue que inclui inglês, russo, chinês, espanhol, árabe e outras línguas. Conserve a terminologia de origem e os nomes a preservar ao usar o modelo em trabalho multilingue. Uma tarefa com vocabulário fixo beneficia de um glossário explícito e das mesmas convenções de saída entre línguas.

Capacidades

  • Raciocínio de mistura de especialistas apenas em texto: 24 mil milhões de parâmetros totais, 2,45 mil milhões ativos.
  • Raciocínio obrigatório antes da resposta final.
  • Ferramentas publicadas, seleção de ferramentas e saída estruturada com esquema JSON.
  • Fluxos orientados para recuperação de informação em tarefas dependentes de conhecimento.
  • Contexto publicado de 128 000 tokens e limite de conclusão de 8 192 tokens.

Casos de utilização

  • Assistente apoiado por recuperação de informação — Uma pergunta, passagens recuperadas e uma organização exigida para a resposta. Resultado: Uma resposta ligada às evidências que pode ser verificada face às passagens.
  • Triagem orientada por ferramentas — Um caso delimitado e ferramentas de consulta controladas. Resultado: Uma avaliação estruturada e uma próxima ação proposta.
  • Comparação de configurações — Configuração, documentação e critérios de comparação relevantes. Resultado: Um conjunto de diferenças identificado com evidências de apoio.
  • Análise estruturada multilingue — Texto de origem, um glossário e campos de resultado consistentes. Resultado: Registos comparáveis que conservam a terminologia a preservar.

Limites

  • Contexto — Janela de contexto do serviço publicada: 128 000 tokens.
  • Resposta — Limite de conclusão publicado: 8 192 tokens.
  • Raciocínio — O modelo raciocina antes de responder; o raciocínio obrigatório faz parte da configuração publicada.
  • Entrada/saída — O modelo publicado aceita texto e devolve texto.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions liquid/lfm-2.5-24b-a2b

liquid/lfm-2.5-24b-a2b

LiquidAI /liquid/lfm-2.5-24b-a2b

Introdução

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

Entradas aceites
Texto
Resultados
Texto

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Entrada
text
Saída
text
Formato de saída
json ou SSE
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
liquid/lfm-2.5-24b-a2b
Predefinição—
CampomessagesTipomessage[]RequisitoObrigatórioValores e limites
Número mínimo de elementos: 1
Predefinição—
Campomessages[].roleTipostringRequisitoObrigatórioValores e limites
Depende do modelo
Predefinição—
Campomessages[].contentTipostringRequisitoOpcionalValores e limites
Aplica-se quando: Conversação textual
Predefinição—
CampostreamTipobooleanRequisitoOpcionalValores e limitesPredefiniçãofalse
Combinações de materiais de entrada

Texto · Texto UTF8

messages[].content

Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, messages
Parâmetromaterial_typesContratotext
ParâmetromessagesContratoLista de mensagens com estrutura role/content
Parâmetrofile_materialContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido
Parâmetrooptional_controlsContratostream
Parâmetrocontrol_scopeContratoConversação textual; stream é um booleano e tem false como predefinição.
Parâmetrooutput_modalitiesContratotext
Parâmetrohosted_operationsContratofalse
Parâmetromultimodal_input_bindingContratonull

Aliases do método: /chat/completions

Ciclo de vida: synchronous_or_streamed

Envie o ID exato do modelo com messages.

O comprimento do contexto não é um limite de saída.

Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.

Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido
Não especificado Quando o modo rápido está selecionado
Modo flex
Não especificado Quando o modo flex está selecionado
Esforço máximo de raciocínio
Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

Tarifas Ailoot

Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

ConfiguraçãoTabela de tarifasTokens de contexto, mais deTokens de contexto, até ao limite inclusiveCusto
ConfiguraçãoTarifas base dos tokensTabela de tarifasTarifa baseTokens de contexto, mais de—Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.0001 / 1K tokens
Saída · Tokens de saída $0.0014 / 1K tokens
Entrada · Leitura da cache $0.00005 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens
ConfiguraçãoEscalão 1 por comprimento do pedidoTabela de tarifas—Tokens de contexto, mais de0Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.0001 / 1K tokens
Saída · Tokens de saída $0.0014 / 1K tokens
Entrada · Leitura da cache $0.00005 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →

Exemplos de pedidos

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":"liquid/lfm-2.5-24b-a2b","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="liquid/lfm-2.5-24b-a2b", 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"))

Receber e guardar os resultados

Ailoot Ultra · OpenAI Chat

json ou SSE

Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.

Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta
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
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidosPasso seguinteCorrija os campos indicados antes de um novo pedido de criação.

Aliases

Aliases do modelo

Ailoot Ultra liquid/lfm-2.5-24b-a2b

Aliases dos caminhos dos métodos

/chat/completions

IDs de chamada relacionados

liquid/lfm-2.5-24b-a2b

Ailoot Ultra · Anthropic Messages POST /v1/messages liquid/lfm-2.5-24b-a2b

liquid/lfm-2.5-24b-a2b

LiquidAI /liquid/lfm-2.5-24b-a2b

Introdução

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

Entradas aceites
Texto
Resultados
json · sse

Disponível no Ailoot · entradas e métodos

Ailoot Ultra · Anthropic Messages POST /v1/messages
Entrada
text
Saída
json, sse
Formato de saída
JSON ou SSE
CampoTipoRequisitoValores e limitesPredefinição
CampomodelTipostringRequisitoObrigatórioValores e limites
liquid/lfm-2.5-24b-a2b
Predefinição—
CampomessagesTipomessage[]RequisitoObrigatórioValores e limitesPredefinição—
Campomessages[].roleTipostringRequisitoObrigatórioValores e limites
user, assistant
Predefinição—
Campomessages[].contentTipostringRequisitoObrigatórioValores e limitesPredefinição—
Campomax_tokensTipointegerRequisitoObrigatórioValores e limitesPredefinição—
CampostreamTipobooleanRequisitoOpcionalValores e limitesPredefiniçãofalse
Combinações de materiais de entrada

Texto · Texto UTF-8

Cadeia de caracteres messages[].content

Parâmetros e ciclo de vida do método
ParâmetroContrato
Parâmetrocontent_typeContratoapplication/json
ParâmetrorequiredContratomodel, messages, max_tokens
Parâmetrooptional_controlsContratostream
Parâmetromaterial_typesContratotext
Parâmetrotext_file_materialContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem.

Ciclo de vida: synchronous_or_streamed

Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido
Não especificado Quando o modo rápido está selecionado
Modo flex
Não especificado Quando o modo flex está selecionado
Esforço máximo de raciocínio
Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

Tarifas Ailoot

Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

ConfiguraçãoTabela de tarifasTokens de contexto, mais deTokens de contexto, até ao limite inclusiveCusto
ConfiguraçãoTarifas base dos tokensTabela de tarifasTarifa baseTokens de contexto, mais de—Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.0001 / 1K tokens
Saída · Tokens de saída $0.0014 / 1K tokens
Entrada · Leitura da cache $0.00005 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens
ConfiguraçãoEscalão 1 por comprimento do pedidoTabela de tarifas—Tokens de contexto, mais de0Tokens de contexto, até ao limite inclusiveSem limite superiorCusto
Entrada · Tokens de entrada $0.0001 / 1K tokens
Saída · Tokens de saída $0.0014 / 1K tokens
Entrada · Leitura da cache $0.00005 / 1K tokens
Entrada · Escrita na cache — / 1K tokens
Entrada · Escrita na cache, 1 hora — / 1K tokens

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →

Exemplos de pedidos

Ailoot Ultra · Anthropic Messages

Corpo JSON mínimo completocurl · use o seu documento UTF-8Python · guarde o resultado completo
{
  "model": "liquid/lfm-2.5-24b-a2b",
  "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': 'liquid/lfm-2.5-24b-a2b', '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': 'liquid/lfm-2.5-24b-a2b', '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))

Receber e guardar os resultados

Ailoot Ultra · Anthropic Messages

JSON ou SSE

Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.

Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta
CampoTipo
CampoidTipostring
CampomodelTipostring
Campocontent[]Tipotext|thinking|tool_use|other content block
Campostop_reasonTipostring|null
CampousageTipoobject
Erros e passos seguintes
RespostaCondiçãoPasso seguinte
Resposta400 · invalid_request_errorCondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidosPasso seguinteCorrija os campos indicados antes de um novo pedido de criação.

Aliases

Aliases do modelo

Ailoot Ultra liquid/lfm-2.5-24b-a2b

Aliases dos caminhos dos métodos

/chat/completions

IDs de chamada relacionados

liquid/lfm-2.5-24b-a2b

FAQ · LiquidAI: LFM2.5-24B-A2B
Que entradas e resultados estão disponíveis?

POST /v1/chat/completions · liquid/lfm-2.5-24b-a2b: text → text

POST /v1/messages · liquid/lfm-2.5-24b-a2b: text → json, sse

Que campos utiliza o pedido?

POST /v1/chat/completions · liquid/lfm-2.5-24b-a2b: model, messages, stream

POST /v1/messages · liquid/lfm-2.5-24b-a2b: model, messages, max_tokens, stream

Que limites se aplicam?

POST /v1/chat/completions · liquid/lfm-2.5-24b-a2b: messages.min_items: 1

Mais detalhes

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição
Escolha um plano com desconto para os pedidos regulares.
Código promocional até 50%
Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.
Custos no histórico
O modelo, os tokens e o montante são guardados para cada pedido.

Escolher subscrição · Ver preços dos modelos

Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial
Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.
Licença de revendedor
Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.
Documentos no site
A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

Pedir licença de revendedor · Oferta e contrato de licença