Skip to main content

Generation API Jobs AI Generator

Generation API Jobs — generated on PixelDojo
AI Generated

Generated on PixelDojo. Produced by PixelDojo's generation pipeline.

Cancel anytimeCommercial-use license50+ AI models

Every generation request on the API is a job. You POST to /api/v1/models/{apiId}/run, get a 202 back carrying a jobId and a statusUrl, then poll that URL until the status reads completed or failed. There is no requests per minute ceiling on these endpoints. What limits you is your credit balance, which is checked and deducted before the job is submitted, and a request you cannot afford comes back as a 402 that tells you exactly how many credits were needed and how many you had. Outputs stay available for 24 hours. Everything below was read out of the API route and job store files on August 26, 2026.

How a generation job behaves from submit to expiry

Submitting a job

POST /api/v1/models/{apiId}/run with an Authorization: Bearer header and a JSON body. The response is a 202 carrying jobId, status, statusUrl, creditCost, creditsRemaining and expiresAt. It is always async, even for models that finish in a second.

What actually limits you

There is no per minute or per hour request cap on the generation endpoints. Credits are the limit. The route checks the balance, returns 402 with the required and available amounts if it is short, and only then deducts and submits.

No subscription required

The public API authenticates with an API key and charges credits. It does not check for an active plan, which is why an API key with a credit balance works on its own.

The fast path returns completed straight away

Some models hand back their output at submit time instead of queueing. When that happens the job is marked completed before the response is written and status comes back as completed rather than pending, so your first poll already has the file.

Polling a job

GET /api/v1/jobs/{jobId} returns status, output, an assets array and the webhook state. Each asset carries an assetId, a kind of image, video or audio, a URL and its own expiresAt. Statuses are pending, processing, completed and failed.

Listing recent jobs

GET /api/v1/jobs lists jobs for the key owner. The limit parameter defaults to 20 and is clamped between 1 and 100. An optional status filter accepts pending, processing, completed or failed and anything else is ignored.

How long a job lives

Job records expire 24 hours after they are created. Poll and download inside that window. Ask for a job past its expiry and the poll route answers 410.

Webhooks instead of polling

Pass webhook_url in the submit body and the terminal result is delivered to it. Up to three attempts with exponential backoff and a 10 second timeout each. The payload is signed with HMAC SHA256 in an X-PixelDojo-Signature header, with the job id in X-PixelDojo-Job-Id.

Replaying and inspecting a webhook

GET /api/v1/jobs/{jobId}/webhook shows whether a webhook is configured, whether it was delivered and how many attempts it took. POST to the same path replays a terminal webhook, which is the recovery path when your endpoint was down.

When credits come back

If submission fails before a provider job exists, the credits are returned on the spot and the response says so. Once a provider job is live the refund is deliberately left to the poll route and the reconciler, so you are never refunded for work that may still be delivered.

The give up rule

A job that is still not terminal after 6 hours is settled as failed and refunded, well inside the 24 hour record lifetime. That exists so a job whose provider can never be verified cannot quietly expire while still charged.

Jobs settle even when nobody is watching

A finished job still settles if you stop polling. Server side settlement waits until a record is at least 3 minutes old before touching it, so it never races a client that is already polling its own job.

The error codes you will actually hit

401 for a missing or invalid key. 400 for invalid JSON, a schema validation error or an unknown preset. 402 for insufficient credits. 404 for an unknown model id. 410 for a retired model or an expired job. 451 when a safety check rejects the request. 500 for a submission failure or an internal error.

Presets as request shorthand

Send a preset slug in the body and its parameters seed the request. Anything you set explicitly overrides the preset, and validation runs on the merged result, so a preset can never smuggle through a parameter the model would otherwise reject.

Read from the route handlers themselves rather than a docs page: the submit route, the poll route, the job store and the webhook deliverer. Where a number is a hard constant in the code, it is quoted as one.

Why Choose Pixel Dojo for Generation API Jobs

Professional-quality results with cutting-edge AI technology

Credits are the throttle, not a request counter

Nothing in these endpoints counts your requests per minute. The balance check runs before submission, so an oversized batch fails on the request it cannot afford rather than being throttled part way through.

One request shape for every model

The same key, the same POST and the same job lifecycle cover every model in the catalog. Switching from an image model to a video model is a change of one string in the path.

A 24 hour window to collect

Every job record and every asset carries an expiresAt. Copy what you want into your own storage inside that day rather than treating the returned URL as permanent.

Failures are answerable

Refunds are tracked per job rather than assumed. Submit time failures pay back immediately, live provider jobs settle through the poll route, and anything unresolved after 6 hours is failed and refunded automatically.

How It Works

The whole loop, in three calls:

1

Submit and keep the job id

POST your inputs to /api/v1/models/{apiId}/run with a Bearer key. The 202 response carries jobId, statusUrl, what you were charged and what is left. Store the jobId before you do anything else.

2

Poll the status URL, or register a webhook

GET the statusUrl until status is completed or failed. For long video jobs, pass webhook_url at submit time instead and let the delivery find you. Check the signature header before trusting the payload.

3

Collect the output inside 24 hours

The completed response carries the output URLs and an assets array with an expiresAt on each one. Download or copy them into your own storage before that timestamp passes.

Get an API key and run the first job

Loved by creators on PixelDojo

Real feedback from people using PixelDojo, pulled from our in-product surveys.

A well resourced sunscription with attention to updates.
Verified PixelDojo creator
Easy to use and there's lots of options.
Verified PixelDojo creator
super lora download
Verified PixelDojo creator
Great variety of tools to create and modify images and video.
Verified PixelDojo creator
Lots of Tools, and the one time I needed support I got help right away
Verified PixelDojo creator
Easy to use once you get the hang of it
Verified PixelDojo creator

Common Questions

Everything you need to know about Generation API Jobs

Does the PixelDojo generation API have rate limits?

There is no requests per minute ceiling on the generation endpoints. Your credit balance is the real limit. Every call checks the balance before it submits, and a call you cannot afford returns 402 with the required and available amounts in the body.

How do I know when a job is finished?

Poll GET /api/v1/jobs/{jobId} until status reads completed or failed, or pass webhook_url when you submit and let the result be delivered. Some models finish at submit time and come back as completed in the very first response.

How long do generated files stay available?

24 hours from job creation. The submit response and every asset in the poll response carry an expiresAt timestamp that says exactly when. Copy anything you want to keep into your own storage inside that window.

What happens to my credits if a job fails?

On refundable models they come back. A failure before the provider job exists refunds immediately and the response says so. Once the provider job is live the refund is handled by the poll route and the reconciler instead, and a job still unresolved after 6 hours is settled as failed and refunded.

Do I need a subscription to use the API?

No. The API authenticates with an API key and charges credits per generation. There is no plan check on the generation endpoints.

Are webhook deliveries verified?

Yes. Each delivery is signed with HMAC SHA256 in an X-PixelDojo-Signature header and carries the job id in X-PixelDojo-Job-Id. Delivery is retried up to three times with exponential backoff and a 10 second timeout per attempt, and a terminal webhook can be replayed by POSTing to /api/v1/jobs/{jobId}/webhook.

Work out what a month of credits covers

Ready to Create Amazing Generation API Jobs Images?

Join thousands of creators using AI to bring their ideas to life