Significant-Gravitas/AutoGPT · error · RuntimeError

Image generation failed: {str(e)}

Error message

Image generation failed: {str(e)}

What it means

Outer catch-all RuntimeError in generate_agent_image_v1(): every exception that is not the specifically-handled ReplicateError branch — network failures to replicate.com, timeouts fetching the output URL, the inner ValueErrors/RuntimesErrors about output shape — is logged ('Failed to generate agent image') and re-raised as 'Image generation failed: {str(e)}'. The original cause is in the logged traceback and the appended message.

Source

Thrown at autogpt_platform/backend/backend/api/features/store/image_gen.py:178

            elif isinstance(output, FileOutput):
                image_bytes = output.read()
            elif isinstance(output, str):
                # Output is a URL
                response = await Requests().get(output)
                image_bytes = response.content
            else:
                raise RuntimeError("Unexpected output format from the model.")

            return io.BytesIO(image_bytes)

        except ReplicateError as e:
            if e.status == 401:
                raise RuntimeError("Invalid Replicate API token") from e
            raise RuntimeError(f"Replicate API error: {str(e)}") from e

    except Exception as e:
        logger.exception("Failed to generate agent image")
        raise RuntimeError(f"Image generation failed: {str(e)}")

View on GitHub (pinned to 9c8bb5550f)

Solutions

  1. Read the appended {str(e)} — it usually names the real problem (missing key, 401, unexpected format) which each have their own fix.
  2. Check the server traceback logged via logger.exception for the failing call site.
  3. If network-related, allow-list api.replicate.com and the output host (replicate.delivery/CDN) in egress rules.
  4. Retry once for transient network errors before surfacing failure to the user.
Defensive patterns

Strategy: retry

Try / catch

for attempt in range(2):
    try:
        image = await generate_agent_image_v1(agent)
        break
    except RuntimeError as e:
        msg = str(e)
        if attempt == 0 and not any(
            k in msg for k in ("API key", "token", "output format")
        ):
            continue  # transient network only
        raise

Prevention

When it happens

Trigger: Any agent-image request where an unexpected failure occurs: DNS/proxy blocking api.replicate.com, the Requests().get(output_url) download failing, client library exceptions, or one of the inner errors (missing key, unexpected output, 401) bubbling into this handler.

Common situations: Egress-restricted deployments without allow-listed replicate.com and its output CDN; transient network blips; the inner error strings ('Missing Replicate API key...', 'Unexpected output format...') appearing wrapped in this message.

Related errors


AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14). Data as JSON: /api/errors/a2f831f132021b1d. Report an issue: GitHub.