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

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']}")