Use this guide only from your server. Keep your API key in your backend, then have your backend call DesignGen. Do not put a key in a browser, mobile app, support ticket, or analytics event.
Read the Developer API documentation and OpenAPI contract. Access is checked for every request. Operator also needs invite-only beta access, so confirm access before you route customer work to it.
Send an HTTPS image URL to POST /v1/design-analysis. The response keeps decoded image facts and print measurements separate from visual suggestions. Use facts and rules-based printAssessment for observations. Treat assessment fields such as titles, tags, detected text, mockup suggestions, and risk summaries as review hints—not a rights, spelling, compliance, or print-quality decision.
The response includes typed data plus an additive analysis compatibility object. The current profile is standard; provenance records the response's schema, prompt, and measurement versions.
For an invited account, upload account-owned artwork and create print_file_fix, legacy dtf_file_fix, or screenshot_to_design work. Store the returned run ID and idempotency key before you wait. Read the run and artifact list, then save the durable event cursor. If SSE disconnects, reconnect with Last-Event-ID or after and drain the cursor endpoint until it is caught up.
The lifecycle can pause at awaiting_input or awaiting_approval. Use the runtime-supplied decision ID only after your reviewer has inspected its current artifact/version or revision context. Run reads include an ETag. Send If-Match for attachments, cancel, resume, or retry, and refresh the run after 412 RUN_VERSION_STALE.
Use GET /v1/operator/runs/{runId}/report as the read-only run record. POST /v1/operator/runs/{runId}/retry creates fresh work from an eligible failed run; it does not repeat completed work or permissions. Download a specific artifact through its exact artifact route. A production package with ready:true shows deterministic file checks passed; it still needs human artwork review before production.
Reuse the same idempotency key and unchanged body after a lost create response. Respect Retry-After for rate limiting, use capped exponential backoff with jitter for retryable server errors, and do not retry validation, authorization, or changed-body conflict errors automatically.