A Flixy API permite ao seu software utilizar as funcionalidades do Flixy Studio: criar sites completos a partir de uma descrição, editá-los e traduzi-los, redigir conteúdos para sites, ler menus, catálogos e PDF, e criar imagens e logótipos. Paga apenas as chamadas bem-sucedidas, a partir de um saldo pré-pago.
As tarefas longas (criar, editar ou traduzir um site) são executadas como jobs: a API responde de imediato e o utilizador acompanha o job ou recebe um webhook. Os conteúdos, a leitura de documentos e as imagens respondem diretamente, normalmente em poucos segundos.
Comece no seu espaço de programador: é criada uma chave de teste gratuita assim que o abrir.
Consola de programador
As chaves, o saldo, os carregamentos, os webhooks e o registo de chamadas são geridos na consola de programador em dev.flixy.studio.
Uma conta de programador separada. Tal como noutras plataformas de IA, a sua conta de programador é distinta da sua conta Flixy Studio: tem registo, início de sessão e sessão próprios. Terminar sessão numa nunca termina a sessão na outra. Pode utilizar o mesmo endereço de e-mail para ambas.
Organização associada. Se também utiliza o Flixy Studio, pode associar a sua organização à sua conta de programador, para que a API possa trabalhar nos respetivos sites. Consulte Organização associada.
Segurança da conta. A verificação em dois passos, as sessões ativas e a exportação de dados estão disponíveis na consola, em Conta.
Autenticação
Envie a sua chave no cabeçalho Authorization de cada pedido. As chaves começam por fx_live_ ou fx_test_.
A sua chave é secreta. Chame a API apenas a partir do seu servidor: os pedidos enviados a partir de um navegador web são recusados, para que uma chave nunca acabe numa página web ou numa app móvel.
Cada chave tem direitos (scopes). Uma chamada sem o scope adequado devolve 403 missing_scope.
Parâmetro
Tipo
Descrição
sites:read
scope
Ler sites e o respetivo HTML.
sites:write
scope
Criar, editar e traduzir sites.
content:write
scope
Redigir conteúdos para sites.
extract:write
scope
Ler imagens e documentos PDF.
images:write
scope
Criar imagens e logótipos.
account:read
scope
Ler o saldo e a utilização.
Chaves de teste e live
As chaves de teste (fx_test_…) são gratuitas. Devolvem respostas de exemplo realistas sem utilizar IA, para que possa criar e testar toda a sua integração. Os jobs de sites terminam após alguns segundos com um site de exemplo.
As chaves live (fx_live_…) devolvem resultados reais e são cobradas no seu saldo.
Cada resposta contém o cabeçalho Flixy-Mode: test ou Flixy-Mode: live.
Pedidos e respostas
Envie corpos JSON com Content-Type: application/json (16 MB no máximo). As respostas são em JSON. As datas utilizam ISO 8601 em UTC. Cada resposta tem um cabeçalho X-Request-Id: indique-o ao nosso suporte se precisar de ajuda com uma chamada.
Defina Accept-Language para receber as mensagens de erro na sua língua (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja; inglês por predefinição).
Erros
Os erros utilizam os códigos de estado HTTP padrão e têm sempre a mesma forma:
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Estado
Tipo
Significado
400
invalid_request_error
JSON ou cabeçalho inválido.
401
authentication_error
Chave em falta, inválida ou eliminada.
402
billing_error
Saldo insuficiente, limite mensal ou limite diário da chave atingido.
403
permission_error
Scope em falta, endereço IP não autorizado, conta suspensa ou chamada a partir de um navegador.
404
not_found_error
Site, job ou endpoint desconhecido.
409
conflict_error
Já está um job em execução neste site.
422
invalid_request_error
Parâmetro inválido ou pedido recusado pela política de utilização (off_topic, content_policy). Não é cobrado.
429
rate_limit_error
Demasiados pedidos ou jobs em simultâneo. Aguarde o tempo indicado em Retry-After.
5xx
api_error
Problema temporário do nosso lado. Tente novamente com a mesma chave de idempotência. Não é cobrado.
Limites de pedidos
60 pedidos por minuto por chave (cabeçalho X-RateLimit-Limit).
3 jobs de sites em simultâneo por conta. As chamadas de conteúdos, documentos e imagens não estão sujeitas a este limite.
Quando um limite é atingido, a API responde 429 com um cabeçalho Retry-After em segundos.
Precisa de mais? Escreva para contact@flixy.studio com o seu caso de utilização.
Idempotência
Os erros de rede acontecem. Adicione um cabeçalho Idempotency-Key (8 a 100 caracteres, por exemplo o seu próprio ID de encomenda) a qualquer POST: se enviar novamente o mesmo pedido no prazo de 24 horas, a API devolve a primeira resposta — com o cabeçalho Idempotent-Replayed: true — e nunca executa nem cobra o trabalho duas vezes.
Jobs
Criar, editar e traduzir um site demora entre cerca de 30 segundos e 3 minutos. Estes endpoints respondem 202 Accepted com um job. Acompanhe-o a cada 5 segundos ou aguarde o evento job.succeeded / job.failed por webhook.
Factos conhecidos: name, slogan, phone, email, address, city, hours. Nunca inventados pela IA.
destination
string
developer (predefinição): o site pertence à sua conta de programador. organization: o site é criado diretamente na sua organização Flixy Studio associada.
Devolve o site, o respetivo estado e as suas páginas. Adicione include=html para receber o HTML completo de cada página (as imagens são alojadas pela Flixy). Scope: sites:read.
Adicione owner=developer ou owner=organization à listagem para filtrar por proprietário. Os sites de uma organização associada devolvem também dashboard_url e editor_url, para os abrir no Flixy Studio.
Editar um site
POST/v1/sites/{id}/edits
Aplica uma alteração descrita em linguagem simples, como no editor da Flixy. Cada alteração cria uma nova versão. Scope: sites:write.
Parâmetro
Tipo
Descrição
instructionobrigatório
string
A alteração a fazer (4 a 3000 caracteres), por ex. “Adiciona uma página de preços com três ofertas” ou “Usa um tema verde-escuro”.
curl https://flixy.studio/v1/sites/691589621/edits \
-H "Authorization: Bearer $FLIXY_API_KEY" -H "Content-Type: application/json" \
-d '{"instruction": "Add an opening hours section: Tuesday to Saturday, 7am to 7pm"}'
Traduzir um site
POST/v1/sites/{id}/translations
Traduz todas as páginas do site — navegação, botões, formulários, descrições das imagens, título e descrição para os motores de pesquisa — mantendo o design, as imagens, as ligações, os preços e os contactos. Scope: sites:write.
Parâmetro
Tipo
Descrição
languageobrigatório
string
Língua de destino: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Redigir conteúdos web
POST/v1/content
Redige conteúdos destinados a ser publicados num site ou enviados por um negócio aos seus clientes. Responde diretamente. Scope: content:write.
O campo html contém apenas etiquetas de texto seguras (títulos, parágrafos, listas, ligações), nunca scripts nem estilos.
Ler um documento
POST/v1/extract
Lê um menu, um catálogo, uma tabela de preços, um cartão de visita, um folheto ou uma brochura e devolve conteúdos estruturados prontos para um site. Só é devolvido o que está realmente escrito. Scope: extract:write.
Parâmetro
Tipo
Descrição
file
string
O ficheiro codificado em base64 (JPEG, PNG, WebP, GIF ou PDF, 10 MB no máximo).
url
string
Ou um endereço https público do ficheiro.
kind
string
auto (predefinição), menu, catalog, business_card, brochure, price_list, flyer.
Os PDF digitalizados sem texto não podem ser lidos: envie antes uma imagem de cada página.
Criar uma imagem
POST/v1/images
Cria uma fotografia, uma ilustração ou um logótipo para um site. A imagem é alojada pela Flixy e contém, dentro do ficheiro, a marcação IPTC padrão para conteúdos multimédia gerados por IA. Scope: images:write.
Parâmetro
Tipo
Descrição
promptobrigatório
string
Descrição da imagem (4 a 800 caracteres).
kind
string
photo (predefinição), illustration ou logo.
aspect
string
16:9 (predefinição), 1:1, 4:3, 3:4, 9:16.
business
string
Contexto do negócio, para adequar o estilo.
brand
string
Nome da marca para um logótipo.
Saldo e conta
GET/v1/account
Devolve o seu saldo, o montante reservado para os jobs em curso, o montante disponível, a sua despesa mensal e a chave em utilização. Scope: account:read.
/v1/usage devolve as suas chamadas e os montantes por operação num período. /v1/pricing devolve os preços típicos e mínimos atuais na sua moeda.
Cada chamada bem-sucedida custa o custo real do trabalho de IA de que precisou, multiplicado pela margem da Flixy, com um mínimo por operação. Antes de um job de site começar, é reservado no seu saldo um montante estimado; o preço exato é cobrado no fim e o restante é libertado. As chamadas falhadas e recusadas nunca são cobradas.
Webhooks
Adicione um endereço https do seu servidor no seu espaço de programador e escolha os eventos: job.succeeded, job.failed, balance.low, topup.succeeded. A Flixy envia um POST com um evento JSON; responda com um estado 2xx no prazo de 10 segundos. As entregas falhadas são repetidas; um endereço que continue a falhar é colocado em pausa.
O cabeçalho Flixy-Signature contém um carimbo temporal t e v1, o HMAC-SHA256 de t + "." + raw body com o seu segredo de webhook. Rejeite mensagens com mais de 5 minutos.
import crypto from 'node:crypto';
export function verifyFlixy(rawBody, header, secret) {
const p = Object.fromEntries(header.split(',').map((x) => x.split('=')));
const sig = crypto.createHmac('sha256', secret).update(`${p.t}.${rawBody}`).digest('hex');
return Math.abs(Date.now() / 1000 - Number(p.t)) < 300
&& crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(p.v1));
}
import hmac, hashlib, time
def verify_flixy(raw_body: bytes, header: str, secret: str) -> bool:
p = dict(x.split('=', 1) for x in header.split(','))
sig = hmac.new(secret.encode(), f"{p['t']}.".encode() + raw_body, hashlib.sha256).hexdigest()
return abs(time.time() - int(p['t'])) < 300 and hmac.compare_digest(sig, p['v1'])
Carregue o seu saldo a partir de 10 € no seu espaço de programador, com cartão. O IVA é acrescido consoante o seu país; é enviada uma fatura por cada carregamento.
Ative o carregamento automático para carregar um montante escolhido quando o seu saldo descer abaixo de um limiar.
Defina um limite de despesa mensal para a conta e um limite diário por chave.
Recebe um email e um webhook balance.low quando o seu saldo está a ficar baixo.
Guarde as chaves no seu servidor, em variáveis de ambiente ou num gestor de segredos — nunca numa página web, numa app móvel ou num repositório de código.
Crie uma chave por aplicação e atribua-lhe apenas os scopes de que necessita.
Restrinja as chaves live aos endereços IP dos seus servidores e defina um limite diário.
Verifique a assinatura e o carimbo temporal de cada webhook.
Utilize uma chave de idempotência em cada POST.
Elimine imediatamente uma chave se puder ter sido exposta e, em seguida, crie uma nova.
Reveja os conteúdos gerados por IA antes de os publicar e informe os seus utilizadores de que um conteúdo foi gerado por IA quando a lei o exigir.
Política de utilização
A Flixy API foi concebida para sites e os respetivos conteúdos. Recusa, sem cobrar, perguntas genéricas não relacionadas com sites, código para outro software, tentativas de alterar as instruções da Flixy e conteúdos que violem a nossa política (ilegais, de ódio, sexuais envolvendo menores, páginas de phishing ou de usurpação de identidade, spam, avaliações falsas). Leia as Condições e Política de Utilização da API completas.
Organização associada
POST/v1/sites/{id}/transfer
Associe a sua organização Flixy Studio a partir da consola (Organização). O titular da conta Flixy Studio aprova a associação com sessão iniciada no Flixy Studio, e qualquer uma das partes pode removê-la a qualquer momento. Depois de associada:
a API pode listar, ler, editar e traduzir os sites da organização (sites:read, sites:write);
pode criar um site diretamente na organização com "destination": "organization", ou transferir um site criado pela API com POST /v1/sites/{id}/transfer (gratuito), para o publicar num domínio a partir do Flixy Studio;
todo o trabalho da API é cobrado no seu saldo da API: os créditos da organização nunca são utilizados.
Sem uma organização associada, estas chamadas devolvem 409 organization_not_linked.
Registo de alterações
v1 — novembro de 2026. Primeira versão: sites, edições, traduções, conteúdos, leitura de documentos, imagens, jobs, webhooks, saldo pré-pago.
As alterações que possam afetar a sua integração são anunciadas por email com, pelo menos, 90 dias de antecedência.
Respeitamos a sua privacidade. A Flixy Studio utiliza apenas cookies estritamente necessários (início de sessão, segurança, idioma). As nossas estatísticas de audiência são anónimas e não utilizam nenhum cookie. Política de Cookies