Tutorial
Integração da API de texto para imagem do Seedream 5.0 Pro: curl, Python e técnicas para escrever texto
1K $0,05, 2K $0,10, todos os parâmetros, erros comuns, maneiras de fazer o texto sair correto na imagem e a diferença em relação ao Lite.
O texto para imagem do Seedream 5.0 Pro (seedream-5.0-pro/text-to-image) é a opção mais cara da família Seedream 5.0, e seu ponto forte é o texto na imagem: letreiros, embalagens e títulos de pôsteres escritos literalmente conforme o prompt. Este artigo traz exemplos de curl e Python prontos para rodar, todos os parâmetros, erros comuns e algumas técnicas para fazer o texto sair correto.
Preços primeiro
| Resolução | Por imagem | 100 imagens |
|---|---|---|
| 1K | $0,05 | $5 |
| 2K (padrão) | $0,10 | $10 |
Preço atual da HiAPI, verificado em 18 de outubro de 2026.
A proporção não afeta o preço, e falhas não são cobradas. O Pro não tem 4K; para 4K, use o Seedream 5.0 Lite (2K/4K com o mesmo preço de $0,035). Veja a comparação das três opções em Preços da API Seedream 5.0.
Uma imagem real gerada
16:9, 1K, com o texto do letreiro neon escrito literalmente:
A neon-lit night market street in a rainy cyberpunk city, a glowing storefront sign reads "SEEDREAM 5 PRO" in crisp lettering, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish, subtle film grain, shallow depth of field, high dynamic range

seedream-5.0-pro/text-to-image, 16:9, 1K, $0,05.
Gerando a primeira imagem
Preparação: crie uma API Key no console e defina-a como variável de ambiente:
export HIAPI_KEY="sua Key"
curl: enviar a tarefa
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedream-5.0-pro/text-to-image",
"input": {
"prompt": "A cozy coffee shop storefront at dusk, warm window light, a hand-painted wooden sign that reads \"THE DAILY GRIND\" in serif letters",
"aspect_ratio": "16:9",
"resolution": "2K"
}
}'
Retorna o taskId:
{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}
curl: consultar o resultado
curl "https://api.hiapi.ai/v1/tasks/tk-hiapi-..." \
-H "Authorization: Bearer $HIAPI_KEY"
Quando data.status for success, o endereço da imagem estará em data.output[0].url. É um link temporário com expiração; baixe assim que receber:
curl -o result.png "<url em output>"
Em 2K, a imagem costuma sair em cerca de um minuto.
Python (somente biblioteca padrão)
import json, os, time, urllib.request
API = "https://api.hiapi.ai/v1/tasks"
KEY = os.environ["HIAPI_KEY"]
def api(url, payload=None):
req = urllib.request.Request(
url,
data=json.dumps(payload).encode() if payload else None,
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
method="POST" if payload else "GET",
)
with urllib.request.urlopen(req) as resp:
return json.loads(resp.read())
task_id = api(API, {
"model": "seedream-5.0-pro/text-to-image",
"input": {
"prompt": 'A minimalist product poster on matte black, bold white headline that reads "SHIP FASTER", small caption "batch v2.1" bottom right',
"aspect_ratio": "3:4",
"resolution": "2K",
},
})["data"]["taskId"]
while True:
task = api(f"{API}/{task_id}")["data"]
if task["status"] == "success":
break
if task["status"] == "fail":
raise RuntimeError(task)
time.sleep(5)
urllib.request.urlretrieve(task["output"][0]["url"], "result.png")
Todos os parâmetros
| Campo | Obrigatório | Valores |
|---|---|---|
prompt |
Sim | 3–4000 caracteres, recomenda-se manter em cerca de 600 palavras em inglês ou menos |
aspect_ratio |
Sim | 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9 |
resolution |
Sim | 1K ($0,05) ou 2K ($0,10) |
output_format |
Não | png (padrão) ou jpeg |
Os campos são rigorosos: seed, n, size, image_urls não são aceitos, e enviar campos extras retorna HTTP 400. Cada requisição gera uma imagem; para várias imagens, envie várias tarefas em paralelo.
As resoluções variam entre as opções da mesma família: o Pro é 1K/2K, o Lite é 2K/4K. Ao mudar de opção, lembre-se de alterar o resolution.
Fazendo o texto sair correto
- Coloque o texto entre aspas:
a sign that reads "OPEN 24 HOURS"é muito mais confiável do que parafrasear. - Especifique posição e estilo: sensação da fonte (serifada, manuscrita, neon), posição (canto inferior direito, centralizado), suporte (placa de madeira, porta de vidro).
- Não exagere no texto: alguns trechos curtos por imagem funcionam bem; blocos longos de texto são instáveis.
- Se o texto for o foco, use 2K: letras pequenas ficam mais nítidas em alta resolução.
Erros comuns
| Sintoma | Retorno | Como corrigir |
|---|---|---|
| Campo obrigatório ausente | 400, missing required field "aspect_ratio" |
Envie os três campos obrigatórios |
| Valor de enum inválido | 400, resolution: value must be one of '1K', '2K' |
Preencha conforme a tabela acima |
Envio de seed, n etc. |
400, additional properties ... not allowed |
Remova os campos extras |
| Key inválida | 401, permission_denied |
Verifique a Key no console |
Se a tarefa falhar após ser criada, o resultado da consulta terá status: "fail" e não haverá cobrança.
Antes de ir para produção
- Use callback em vez de polling: no nível superior do corpo da requisição (no mesmo nível de
modeleinput), adicione"callback": {"url": "https://seu-dominio/hooks/hiapi", "when": "final"}. Ao receber a notificação, faça umGETda tarefa para confirmar o resultado. - Evite cobrança duplicada: a cobrança ocorre assim que a tarefa é aceita. Antes de tentar novamente, verifique se você registrou o
taskIddessa tarefa; se sim, continue consultando, não reenvie; você também pode enviar o cabeçalhoIdempotency-Keyna requisição. - Salve o arquivo a tempo: o link de saída expira, não o use diretamente como link externo.
Perguntas frequentes
É possível fixar o seed para reproduzir?
Não, esta interface não aceita seed. Para gerar versões semelhantes a partir de uma imagem existente, use seedream-5.0-pro/image-to-image, com até 10 imagens de referência.
Qual a diferença em relação ao Lite?
O Lite custa $0,035 por imagem e tem resolução 2K/4K; o Pro é 1K/2K, com 2K a $0,10 por imagem. A forma de chamada é a mesma. Veja a comparação do mesmo prompt entre Flash e Lite em Seedream 5.0 Flash vs Lite.
É obrigatório usar callback?
Não. Scripts e tarefas em lote podem simplesmente usar polling, consultando a cada 5 segundos.
Você também pode copiar diretamente o prompt do letreiro neon acima e gerar uma imagem por $0,05.
Artigos relacionados
Ver todos os artigos →-
Tutorial
Como chamar hailuo-2.3-fast/image-to-video pela API HiAPI: curl e Python na prática
A primeira requisição executável do nível rápido e econômico de geração de vídeo a partir de imagem — do ID do modelo ao download do MP4
-
Tutorial
Como chamar hailuo-2.3/text-to-video pela API HiAPI: curl, Python e exemplos de requisição executáveis
-
Tutorial
Usar Kandinsky 6.0 Pro text-to-video na HiAPI: tutorial de curl e Python
Demonstração prática com foco na requisição: montar a chamada de prompt para clipe de vídeo, enviar a requisição, consultar o status de conclusão e baixar o resultado