jackwener/OpenCLI · error · CommandExecutionError

MiniMax music returned status 1 (in progress) without a resu

Error message

MiniMax music returned status 1 (in progress) without a resumable task id${traceId ? ` (trace_id: ${traceId})` : ''}

What it means

When MiniMax reports data.status === 1 (generation still in progress) the caller is expected to poll/resume using a task id. This error fires when the in-progress response carries no resumable task id, so the client cannot poll and would lose the job. The optional trace_id is echoed (sanitized) to help support lookups.

Source

Thrown at clis/minimax/utils.js:107

    }
    if (base.status_code !== 0) {
        const message = typeof base.status_msg === 'string' && base.status_msg.trim()
            ? `: ${base.status_msg.trim()}`
            : '';
        if (AUTH_CODES.has(base.status_code)) {
            throw new AuthRequiredError(region.host, `MiniMax ${region.host} rejected ${MINIMAX_API_KEY_VAR} (service ${base.status_code}${message}).`);
        }
        throw new CommandExecutionError(`MiniMax music failed (service ${base.status_code}${message})`);
    }
    const data = payload.data;
    if (!data || typeof data !== 'object' || Array.isArray(data) || !Number.isInteger(data.status)) {
        throw new CommandExecutionError('MiniMax music response is missing integer data.status');
    }
    if (data.status === 1) {
        const traceId = typeof payload.trace_id === 'string' && /^[A-Za-z0-9_-]{1,128}$/.test(payload.trace_id.trim())
            ? payload.trace_id.trim()
            : '';
        throw new CommandExecutionError(
            `MiniMax music returned status 1 (in progress) without a resumable task id${traceId ? ` (trace_id: ${traceId})` : ''}`,
            'Do not resubmit blindly: this endpoint exposes no query command, so check MiniMax account history first.',
        );
    }
    if (data.status !== 2) {
        throw new CommandExecutionError(`MiniMax music returned unknown data.status ${data.status}`);
    }
    if (typeof data.audio !== 'string' || !data.audio.trim()) {
        throw new CommandExecutionError('MiniMax music reported completion without data.audio');
    }
    return {
        audio: data.audio.trim(),
        expectedBytes: payload.extra_info == null ? null : parseExpectedSize(payload.extra_info),
    };
}

function parseExpectedSize(extraInfo) {
    if (!extraInfo || typeof extraInfo !== 'object' || Array.isArray(extraInfo)) {

View on GitHub (pinned to 49907e53dc)

Solutions

  1. Check MiniMax account history/console for the task using the printed trace_id before doing anything
  2. Wait and query your MiniMax account history rather than resubmitting immediately (the library explicitly warns against blind resubmission)
  3. If resubmitting, do it once with a new request id and keep the old trace_id for dedup/support
  4. Report the trace_id to MiniMax support if the account history shows the job vanished
Defensive patterns

Strategy: fallback

Validate before calling

// Before resubmitting after this error, check account history via your MiniMax dashboard
// using the trace_id embedded in the error message.

Type guard

function hasResumableTaskId(data) {
  return typeof data === 'object' && data !== null &&
    (typeof data.task_id === 'string' || typeof data.id === 'string');
}

Try / catch

try {
  const result = parseCompletedMusic(payload);
} catch (e) {
  const trace = e.message.match(/trace_id: ([A-Za-z0-9_-]+)/)?.[1];
  if (trace) console.warn(`Check MiniMax account history for trace ${trace} before resubmitting`);
  // do NOT auto-resubmit; require manual confirmation
}

Prevention

When it happens

Trigger: MiniMax returns data.status 1 but no task id field in data (or wherever the client reads it), e.g. the API degraded, the job was already reaped server-side, or the response shape changed so the id field is no longer where expected.

Common situations: Long-running music generation whose task expired; querying too late after job completion/cleanup; MiniMax incident where status flips to 1 without id; misreading a changed field name after an API update.

Related errors


AI-assisted analysis of jackwener/OpenCLI@49907e53dc (2026-08-29). Data as JSON: /api/errors/26d52e10e7d39401. Report an issue: GitHub.