FAQ
Frequently asked questions about the Apiframe API.
General
What is Apiframe?
Apiframe provides a unified API to generate images, videos, and music using best-in-class AI models. You send one request, we handle provider routing, queuing, and delivery.
How do I get started?
- Sign up at console.apiframe.ai
- Create an API key from the dashboard
- Follow the Quickstart guide
Which models are available?
See the individual model pages under Images, Videos, and Music. We regularly add new models.
Authentication
How do I authenticate?
All requests require an X-API-Key header with your API key. See Authentication for details.
Can I have multiple API keys?
Yes. You can create and revoke API keys from the Apiframe console. This is useful for separating environments (development, staging, production) or tracking usage per integration.
Credits & billing
How much does each generation cost?
See the full breakdown on the Credit Costs page.
What happens if I run out of credits?
The API returns a 402 Insufficient credits error with your current balance and the cost of the requested generation. You can top up credits from the Apiframe console.
Do I get refunded if a job fails?
Yes. If a job fails for any reason (provider error, content policy violation, etc.), the full credit cost is automatically refunded to your team balance.
Jobs & results
How long do generations take?
It depends on the model and parameters:
- Images — typically 10–60 seconds
- Videos — typically 1–5 minutes depending on duration
- Music — typically 30 seconds to 2 minutes
How do I get the result?
Two options:
- Polling — call
GET /v2/jobs/:iduntil the status isCOMPLETED - Webhooks — provide a
webhookUrlin your request and we'll notify you when the job is done. See Webhooks.
How long are results stored?
Generated files are stored on our CDN for 3 months. After that, they are automatically deleted. Download and store the files on your own infrastructure if you need them long-term.
Can I cancel a running job?
Not currently. Once a job is submitted and accepted, it will run to completion or fail.
Webhooks
What events can I subscribe to?
Three events: progress, completed, and failed. See Webhooks for payload formats.
Does Apiframe retry failed webhook deliveries?
No. If your endpoint returns a non-2xx status, the delivery is marked as failed. You can always fall back to polling GET /v2/jobs/:id.
Can I use HTTP (not HTTPS) for webhooks?
Yes, but we strongly recommend HTTPS in production. Webhook payloads are sent in plaintext over HTTP.
Rate limits & errors
Are there rate limits?
Yes. Rate limits depend on your plan. If you exceed them, the API returns 429 Too Many Requests. Check the Retry-After header for when you can retry.
What does a 503 error mean?
It means the job queue is temporarily unavailable. This is rare and usually resolves within seconds. Retry with exponential backoff.
What does idempotency do?
Including an Idempotency-Key header ensures the same request isn't processed twice. If you send the same key again, the API returns the original job instead of creating a duplicate. This is useful for retrying after network failures.