Source: https://ailoot.ai/models/pt-pt/recraft-recraft-v3/
Canonical: https://ailoot.ai/models/pt-pt/recraft-recraft-v3/
Language: pt-pt

# Recraft: Recraft V3

[Markdown](https://ailoot.ai/models/pt-pt/recraft-recraft-v3/index.md) · [JSON](https://ailoot.ai/models/pt-pt/recraft-recraft-v3/facts.json)

## [Recraft: Recraft V3](https://ailoot.ai/models/pt-pt/recraft-recraft-v3/)

O Recraft V3 cria fotografias, ilustrações e composições gráficas com composição sensível ao texto e controlos de estilo. As suas variantes raster e SVG distintas adequam-se a cartazes, conjuntos de imagens de marca, ícones e designs em que o texto e a estrutura visual têm de funcionar em conjunto.

- [**Ailoot Ultra · Imagens** `POST /v1/images/generations` `recraft/recraft-v3`](https://ailoot.ai/models/pt-pt/recraft-recraft-v3/#method-0)

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.

O Recraft V3 é um modelo de geração de imagens concebido para design gráfico, bem como para cenas fotográficas e ilustradas. Um briefing escrito descreve o tema, o cenário e a composição; o resultado é uma imagem. O V3 desenvolve a renderização de texto e o fotorrealismo da Recraft, mantendo a consistência de estilo a partir de imagens de exemplo sem novo treino.

#### Texto como parte da composição

O V3 trabalha com texto dentro da imagem, incluindo textos mais longos e letras de tamanho médio. A Recraft descreve uma etapa de composição que estabelece as palavras e as suas posições antes da geração da imagem. A composição pode ser produzida automaticamente a partir do briefing ou organizada manualmente no ambiente de design da Recraft. Isto ajuda a ligar um título, uma ilustração e texto de apoio numa única composição. O fabricante também documenta coordenadas explícitas de disposição de texto, expressas relativamente à imagem, em vez de numa grelha fixa de píxeis. Cada elemento de texto contém uma única palavra e quatro pontos de canto em coordenadas normalizadas: (0, 0) é o canto superior esquerdo e (1, 1) o canto inferior direito. As coordenadas podem ultrapassar esse intervalo e, nesse caso, a forma é recortada. As palavras da disposição explícita de texto têm de cumprir as restrições de caracteres documentadas.

Para um cartaz ou uma capa, forneça o texto exato e descreva a sua hierarquia: qual a linha principal, onde fica e como a imagem a apoia. Verifique a ortografia e o espaçamento renderizados ao selecionar um resultado.

#### Estilo, paleta e direção artística

O V3 inclui estilos predefinidos de fotografia, ilustração e emblemas, além de uma biblioteca separada de estilos vetoriais. Recraft V3 Raw é o estilo predefinido do modelo raster; Vector art é a predefinição da variante vetorial. O fotorrealismo visa uma aparência fotográfica, enquanto a ilustração abrange texturas estilizadas, sombreamento e transições de cor mais complexas. Os estilos vetoriais privilegiam formas, paletas limitadas e preenchimentos planos ou gradientes simples.

Os estilos personalizados podem ser criados a partir de imagens de referência, estilos compatíveis existentes ou uma combinação. Proporcionam uma direção visual reutilizável numa série de imagens. Os controlos de mistura documentados permitem atribuir pesos separados às referências e aos estilos de origem; o número de pesos corresponde ao de fontes. PaletteMatch e MaxWeight são as duas políticas de mistura indicadas. O fabricante permite até 10 imagens de referência de estilo e utiliza o modo regular de correspondência de estilo para o V3. Um estilo personalizado guardado e referências de estilo diretas são entradas alternativas e um estilo personalizado tem de corresponder ao modelo utilizado na geração.

As cores preferidas e uma cor de fundo orientam a paleta. Estão documentadas até 10 cores RGB, com cada componente entre 0 e 255. Os pesos relativos opcionais variam entre 0 e 1; têm de ser fornecidos para todas as cores ou para nenhuma e o seu total não pode exceder 1. O nível artístico varia entre 0, para um tratamento estático e limpo, e 5, para composições mais dinâmicas e excêntricas. Uma instrução negativa descreve elementos indesejados; um controlo separado de ausência de texto desativa as disposições de texto incorporadas. Está disponível uma semente aleatória para reprodutibilidade. Estes controlos oferecem diferentes formas de orientar a cena, o estilo e a disposição visual.

#### Imagens raster e uma variante SVG separada

A Recraft documenta duas variantes V3. O modelo raster produz WebP sem perdas ou PNG e adequa-se a pormenores fotográficos, sombreamento e ilustração com textura. O Recraft V3 Vector produz SVG: caminhos e formas que podem ser redimensionados sem uma resolução fixa em píxeis. Adequa-se a pictogramas, conceitos de logótipos, distintivos e trabalhos vetoriais detalhados. A conversão de raster para vetor é uma operação separada da geração direta de trabalhos vetoriais.

As duas variantes têm identidade própria. Uma imagem com aparência vetorial e uma saída SVG real são escolhas diferentes. Selecione a saída pretendida ao preparar um fluxo de design, em vez de tratar o nome V3 partilhado como prova de que todas as operações devolvem o mesmo tipo de ficheiro.

#### Edição e acabamento de trabalhos existentes

A documentação V3 da Recraft indica geração de imagem para imagem, inpainting, outpainting e substituição ou geração de fundo. O trabalho de imagem para imagem combina uma imagem existente com um novo briefing. O inpainting regenera a região selecionada utilizando uma imagem e uma máscara correspondente; o outpainting acrescenta conteúdo para além do enquadramento original. As operações de fundo tratam a envolvente de um tema.

O conjunto de ferramentas associado também inclui apagar, remoção de fundo, vetorização e duas abordagens de ampliação. A ampliação criativa pode introduzir novos pormenores; a ampliação nítida visa uma versão maior e mais definida do conteúdo existente. São operações distintas com as suas próprias entradas e resultados, e não significados adicionais do nome do modelo raster ou vetorial.

#### Limites de instrução, tamanho e imagem de origem

A especificação de geração V3 do fabricante aceita uma instrução com até 1000 caracteres e 1–6 imagens por pedido. Suporta 14 proporções: 1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 6:10, 14:10, 10:14, 16:9 e 9:16. Os exemplos raster documentados incluem 1024x1024, 1820x1024 e 1024x1820. As dimensões raster exatas têm de pertencer à lista suportada; o SVG utiliza proporções sem tamanho fixo em píxeis. Quando o tamanho é omitido, o sistema do fabricante seleciona-o a partir da instrução.

Para operações com entrada de imagem, o fabricante indica PNG, JPG e WebP, com SVG quando a operação específica o permite. Os ficheiros devem ter menos de 20 MB, no máximo 16 MP e um lado mais longo de até 4096 píxeis. O lado mais curto deve ter pelo menos 256 píxeis, com uma exceção de 32 píxeis para ampliação nítida. As máscaras correspondem ao tamanho da imagem e utilizam preto e branco puros; as referências de estilo têm um limite combinado de 64 MB.

Para um projeto com a API Ailoot, transforme a tarefa num briefing de imagem focado: o texto exato, a disposição dos objetos, o estilo visual e a composição desejada. Um cartaz, uma cena de produto e uma série de ícones exigem briefings diferentes; preserve as distinções relevantes entre variantes e operações V3 ao decidir como utilizar cada resultado.

**Ailoot Ultra · Imagens** `POST /v1/images/generations` `recraft/recraft-v3`

[`recraft/recraft-v3`](https://ailoot.ai/models/pt-pt/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

Recraft /`recraft/recraft-v3`

### Introdução

O Recraft V3 cria fotografias, ilustrações e composições gráficas com composição sensível ao texto e controlos de estilo. As suas variantes raster e SVG distintas adequam-se a cartazes, conjuntos de imagens de marca, ícones e designs em que o texto e a estrutura visual têm de funcionar em conjunto.

Entradas aceites

Texto · Imagens

Resultados

Imagens

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Imagens** `POST /v1/images/generations`

Entrada

`text`, `image`

Saída

`image`

Formato de saída

Ficheiro de imagem

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites recraft/recraft-v3 | Predefinição— |
| Campo`prompt` | Tipo`string` | RequisitoObrigatório | Valores e limites Comprimento mínimo: 1 | Predefinição— |
| Campo`n` | Tipo`integer` | RequisitoOpcional | Valores e limites Mínimo: 1 Máximo: 6 | Predefinição— |
| Campo`aspect_ratio` | Tipo`string` | RequisitoOpcional | Valores e limites 1:1, 4:3, 3:4, 16:9, 9:16, auto | Predefinição— |
| Campo`input_references` | Tipo`array` | RequisitoOpcional | Valores e limites Número mínimo de elementos: 0 Número máximo de elementos: 1 | Predefinição— |

Combinações de materiais de entrada

**Texto para imagem** · Obrigatório: prompt

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, prompt |
| Parâmetro`material_types` | Contratotext, image |
| Parâmetro`optional_controls` | Contratoaspect\_ratio, n, input\_references |
| Parâmetro`exact_supported_parameters` | Contrato{"aspect\_ratio":{"type":"enum","values":\["1:1","4:3","3:4","16:9","9:16","auto"\]},"n":{"type":"range","min":1,"max":6},"input\_references":{"type":"range","min":0,"max":1}} |
| Parâmetro`reference_material_rule` | ContratoApenas referências reais de imagens do cliente; aplicam-se as condições do endpoint do fornecedor. |

Aliases do método: `/v1/images`

Ciclo de vida: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · task\_id efetivamente devolvido ou registo na biblioteca de multimédia

`GET /v1/media/assets/{asset_id}/content`

`GET /v1/media/assets`

`GET /v1/media/assets/{asset_id}`

Utilize o modelo exato e os campos de entrada documentados.

Conserve a resposta completa, todos os resultados reais e os IDs originais devolvidos.

### Tarifários

##### Cálculo do custo final

As tarifas apresentadas permitem estimar o custo antes da geração. O montante final cobrado é calculado a partir do custo registado para a geração original. A duração medida do resultado e as quantidades previstas não correspondem à quantidade final faturável.

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 estimadas para comparação

#### Preços por configuração

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

| Configuração | Tabela de tarifas | Quantidade prevista | Unidade de faturação | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base por token | Tabela de tarifasTarifa base | Quantidade prevista— | Unidade de faturação— | Custo Entrada · Tokens de entrada · Estimativa apenas para comparação **—** / 1K tokens Saída · Tokens de saída · Estimativa apenas para comparação **—** / 1K tokens Entrada · Leitura da cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache · Estimativa apenas para comparação **—** / 1K tokens Entrada · Escrita na cache, 1 hora · Estimativa apenas para comparação **—** / 1K tokens |
| ConfiguraçãoUltra | Tabela de tarifas— | Quantidade prevista— | Unidade de faturaçãopor imagem de saída | Custo Saída · imagem de saída · Estimativa apenas para comparação **$0.08** por imagem de saída |
| ConfiguraçãoCusto estimado de geração | Tabela de tarifas— | Quantidade previstaestimativa para uma geração | Unidade de faturação— | Custo Saída · Custo estimado de geração · Estimativa apenas para comparação **$0.08** estimativa antes da geração Esta estimativa não é um encargo adicional nem uma tarifa fixa para a geração concluída. |

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 →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

#### Detalhes da tarifa de referência

As tabelas de referência do modelo não alteram a seleção do método, as cotações ou os custos. Os custos ativos usam as tarifas do método Ailoot selecionado.

Configurações de preços de imagens

#### Preços por configuração

| Configuração | Condições de faturação | Custo |
| --- | --- | --- |
| ConfiguraçãoImagem de saída | Condições de faturaçãoNão está declarada qualquer variante de preços. | Custo Saída · Imagem de saída **$0.08** por imagem As entradas equivalentes descrevem a mesma cobrança; não acrescentam uma segunda taxa. |

### Exemplos de pedidos

#### Ailoot Ultra · Imagens

curlPython SDKNode.js SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}

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/images/generations \
  -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 base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
```

```python
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

request={'model': 'recraft/recraft-v3', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
```

```js
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "recraft/recraft-v3", "prompt": "a red panda astronaut floating in space, studio lighting"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");
```

### Receber e guardar os resultados

#### Ailoot Ultra · Imagens

Descarregue cada imagem devolvida ou guarde o respetivo conteúdo Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Guardar todos os resultados concluídos

Guarde cada imagem concluída; obtenha cada URL devolvido ou descodifique o respetivo conteúdo Base64.

Conserve todos os elementos de dados e a utilização completa; assegure a propriedade e guarde todas as imagens efetivamente devolvidas. Sem URLs ou IDs inventados.

##### Se for necessário verificar a resposta original

Se o resultado de uma geração ou edição de imagem requerer verificação, guarde o operation\_id/X-Client-Request-ID original e as informações do resultado devolvidas. Recupere os resultados existentes que lhe pertencem através da biblioteca de multimédia, usando valores task\_id ou asset\_id reais. Não volte a enviar o pedido de geração/edição nem construa um URL de consulta periódica a partir de operation\_id.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`created` | Tipointeger |
| Campo`data[].url` | Tipostring |
| Campo`data[].b64_json` | Tipobase64 string |
| Campo`usage` | Tipoobject |

### Aliases

#### Aliases do modelo

**Ailoot Ultra** [`recraft/recraft-v3`](https://ailoot.ai/models/pt-pt/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

#### Aliases dos caminhos dos métodos

`/v1/images`

#### IDs de chamada relacionados

[`recraft/recraft-v3`](https://ailoot.ai/models/pt-pt/#m=recraft%2Frecraft-v3&route=Ultra&caller=recraft%2Frecraft-v3&fmt=images)

FAQ · Recraft: Recraft V3

Que entradas e resultados estão disponíveis?

`POST /v1/images/generations` · `recraft/recraft-v3`: `text`, `image` → `image`

Que campos utiliza o pedido?

`POST /v1/images/generations` · `recraft/recraft-v3`: `model`, `prompt`, `n`, `aspect_ratio`, `input_references`

Que limites se aplicam?

`POST /v1/images/generations` · `recraft/recraft-v3`: `n.minimum`: `1`; `n.maximum`: `6`

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](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## 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](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





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





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
