Gerador de Imagem AI
Crie visuais deslumbrantes a partir de descrições de texto usando o poder da IA.
Suas imagens geradas aparecerão aqui.
Snippets de Integração para Desenvolvedores
Documentação de Integração:
- Endpoint Correto:
./proxy.php(endpoint testado) - Timeout: 15 segundos por requisição
- Método: POST com Content-Type: application/x-www-form-urlencoded
- Parâmetros:
promptoutexto+tudo=achado(opcional) - Resposta: JSON com
urlouurls(array) - Erros: Objeto JSON com propriedade
error
Exemplo de Fetch com JavaScript
// DOCUMENTAÇÃO DE USO - Código testado e funcional
// Endpoint: ./proxy.php (endpoint que funciona)
// Função principal para buscar imagens
function buscarPorPrompt(prompt, retornarTudo) {
const endpoint = './proxy.php';
const body = 'prompt=' + encodeURIComponent(prompt) +
'&texto=' + encodeURIComponent(prompt) +
'&tudo=' + (retornarTudo ? 'achado' : '');
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 15000);
return fetch(endpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: body,
signal: controller.signal
}).then(async r => {
if (!r.ok) throw new Error('HTTP ' + r.status);
const text = await r.text();
try {
return JSON.parse(text);
} catch (_) {
return { url: text.trim() };
}
}).finally(() => clearTimeout(timeout));
}
// EXEMPLO DE USO COMPLETO:
// Buscar uma única imagem - retorna apenas a URL
buscarPorPrompt('praia tropical ao pôr do sol', false)
.then(res => {
if (res.error) {
console.error('Erro:', res.error);
} else if (res.url) {
// A função retorna apenas a URL pura
console.log('URL da imagem:', res.url);
// Você pode usar a URL como quiser
// Exemplo: window.open(res.url, '_blank');
// Exemplo: document.getElementById('minha-imagem').src = res.url;
// Exemplo: input.value = res.url;
}
})
.catch(err => console.error('Erro:', err));
// EXEMPLO: Buscar múltiplas imagens - retorna array de URLs
buscarPorPrompt('natureza', true)
.then(res => {
if (res.urls && res.urls.length) {
// Retorna array de URLs puras
console.log('URLs das imagens:', res.urls);
// Você pode processar as URLs como quiser
res.urls.forEach(url => {
console.log('Imagem URL:', url);
});
}
});
// Exemplo de uso - Buscando uma única imagem
buscarPorPrompt('home office 2025', false).then(res => {
console.log('URL da imagem:', res.url);
// Retorna apenas a URL, sem tags HTML
// O desenvolvedor decide como usar a URL
}).catch(err => {
console.error('Erro:', err.message);
});
// Exemplo de uso - Buscando múltiplas imagens
buscarPorPrompt('home office 2025', true).then(res => {
console.log('URLs das imagens:', res.urls);
// Retorna array com URLs, sem tags HTML
// O desenvolvedor decide como processar as URLs
});
Exemplo de Comando cURL
# Exemplo cURL usando o proxy (recomendado)
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
-d "prompt=praia tropical areia&texto=praia tropical areia&tudo=achado" \
./proxy.php
# Exemplo cURL direto (pode ter problemas de CORS)
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" \
-d "prompt=praia tropical areia&texto=praia tropical areia&tudo=achado" \
./buscar_imagem.php
Proxy Local (Necessário para evitar CORS)
Importante: O proxy.php deve ser executado na sua máquina local para evitar problemas de CORS. Baixe o arquivo abaixo e coloque no mesmo diretório do seu código JavaScript.
Retorno: Os códigos retornam apenas o endereço da imagem (URL pura) da fonte de dados JSON. A inserção em inputs ou elementos HTML fica a cargo do desenvolvedor.
Ou copie o código abaixo e salve como
proxy.php
Uso:
fetch('./proxy.php', ...)
Código do proxy.php (Copie e salve localmente)
<?php
// proxy.php - Proxy local para evitar CORS
// Salve este arquivo na sua máquina local
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
// Endpoint remoto (API principal)
$endpoint = 'https://irdigital.com.br/gera-imagem/buscar_imagem.php';
// Processa dados POST
if (empty($_POST)) {
$input = file_get_contents('php://input');
if (!empty($input)) { parse_str($input, $_POST); }
}
$prompt = isset($_POST['prompt']) ? $_POST['prompt'] : (isset($_POST['texto']) ? $_POST['texto'] : '');
$tudo = isset($_POST['tudo']) ? $_POST['tudo'] : '';
$dados = [
'prompt' => $prompt,
'texto' => $prompt,
'tudo' => (in_array(strtolower($tudo), ['achado','1','true'], true) ? 'achado' : '')
];
// Faz requisição para o servidor remoto
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($dados));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/x-www-form-urlencoded']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
$resposta = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curlError = curl_error($ch);
curl_close($ch);
if ($curlError) {
http_response_code(502);
echo json_encode(['error' => 'Erro de conexão: ' . $curlError]);
exit;
}
if ($httpCode >= 400) {
http_response_code($httpCode);
echo json_encode(['error' => 'Erro HTTP ' . $httpCode, 'body' => $resposta]);
exit;
}
// Retorna resposta do servidor
echo $resposta;
?>
Exemplo PHP
<?php
// Exemplo PHP com cURL
function gerar_imagem($prompt, $retornarTudo = false) {
$url = './proxy.php';
$dados = [
'prompt' => $prompt,
'texto' => $prompt,
'tudo' => $retornarTudo ? 'achado' : ''
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($dados));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$resposta = curl_exec($ch);
curl_close($ch);
return json_decode($resposta, true);
}
// Função para sortear uma imagem aleatória
function sortear_imagem($urls) {
if (!is_array($urls) || empty($urls)) return null;
return $urls[array_rand($urls)];
}
// Uso - retorna apenas as URLs
$resultado = gerarImagem('praia tropical', true);
if (isset($resultado['urls'])) {
// Sorteia uma imagem aleatória entre as disponíveis
$imagemSorteada = sortear_imagem($resultado['urls']);
if ($imagemSorteada) {
echo "Imagem sorteada: {$imagemSorteada}\n";
}
// Ou mostra todas as URLs disponíveis
// foreach ($resultado['urls'] as $url) {
// echo "URL da imagem: {$url}\n";
// }
} elseif (isset($resultado['url'])) {
// Retorna URL única
echo "URL da imagem: {$resultado['url']}\n";
}
?>
Exemplo Python
import requests
import requests
def gerar_imagem(prompt, retornar_tudo=False):
url = './proxy.php'
dados = {
'prompt': prompt,
'texto': prompt,
'tudo': 'achado' if retornar_tudo else ''
}
try:
resposta = requests.post(url, data=dados, timeout=15)
resposta.raise_for_status()
return resposta.json()
except requests.exceptions.RequestException as e:
return {'error': str(e)}
# Função para sortear uma imagem aleatória
import random
def sortear_imagem(urls):
if not isinstance(urls, list) or len(urls) == 0:
return None
return random.choice(urls)
# Uso - retorna apenas as URLs
resultado = gerarImagem('natureza', True)
if 'urls' in resultado:
# Sorteia uma imagem aleatória entre as disponíveis
imagem_sorteada = sortear_imagem(resultado['urls'])
if imagem_sorteada:
print(f"Imagem sorteada: {imagem_sorteada}")
# Ou mostra todas as URLs disponíveis
# for url in resultado['urls']:
# print(f"URL da imagem: {url}")
elif 'url' in resultado:
# Retorna URL única
print(f"URL da imagem: {resultado['url']}")
elif 'error' in resultado:
print(f"Erro: {resultado['error']}")