require('dotenv').config();

async function testMusic() {
  const apiKey = process.env.MINIMAX_API_KEY;
  const apiBase = (process.env.MINIMAX_API_BASE || 'https://api.minimax.io/v1').replace(/\/v1\/?$/, '');
  
  console.log('API Base:', apiBase);
  console.log('API Key (início):', apiKey ? apiKey.substring(0, 15) + '...' : 'não definida');

  const payload = {
    model: 'music-2.0',
    prompt: 'happy acoustic children song, simple melody, cute',
    lyrics: 'Vamos brincar e cantar, na escola vamos estudar!',
    audio_setting: { sample_rate: 32000, bitrate: 128000, format: 'mp3' }
  };

  try {
    console.log('Enviando requisição de geração de música...');
    const response = await fetch(`${apiBase}/v1/music_generation`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(payload)
    });

    console.log('Status da resposta:', response.status);
    
    if (!response.ok) {
      const errText = await response.text();
      console.error('Erro retornado pela API da MiniMax:', errText);
      return;
    }

    const data = await response.json();
    console.log('Sucesso! Resposta da API:', JSON.stringify(data, null, 2).substring(0, 1000));
    
    if (data.data && data.data.audio) {
      console.log('Áudio retornado em formato hexadecimal. Tamanho:', data.data.audio.length);
    } else {
      console.log('Nenhum dado de áudio encontrado no JSON de resposta.');
    }
  } catch (error) {
    console.error('Erro ao conectar ou processar requisição:', error);
  }
}

testMusic();
