Troubleshooting
Fixes for common problems, from images that won't load and text that is cut off to expired links, credits that ran out, view-only access and closed forms.
Find the problem below. Each one says what you see and what to do. Failed renders never use credits, so you can always try again.
A render failed because of an image
What you see
- The API answers
400 VALIDATION_ERRORwith “Image URL not allowed: …”. JamFrame refused the URL before it started: the address isn’thttporhttps, or it points to a private or local address, such aslocalhostor a company network. - The API answers
422 VALIDATION_ERRORwith “Image failed to load: … Check that the URL is public and points to an image. No credits were charged.” JamFrame tried, but couldn’t download the picture. - On the Renders page, the render shows Failed. Click it to read Why it failed.
- A dynamic URL answers
422 MEDIA_UNAVAILABLE. A form says “An image could not be loaded. Check the link, or upload the image instead.”
What to do
- Open the image URL in a private browser window. It must show the picture itself, without signing in.
- A share page from a cloud drive or a social network is a web page, not an image. Use a direct link to the image file.
- Or upload the image to the brand library and use its Copy URL.
Text is cut off
What you see: a long text in a render is cut off, or runs out of its box.
What to do: in the editor, select the text, then in its properties:
- Turn on Shrink text to fit box. Text that doesn’t fit gets smaller, down to the Min size. If you leave Min size empty, it is 40% of the font size, and at least 8 px.
- Or turn on Auto height (grow with text). The box grows with the text instead. (Shrink text to fit box is off while Auto height is on.)
Then click Save. Renders always use the last saved version. With the API, you can also send
headline.shrinkToFit: true and headline.minFontSize. See Text and fonts.
A font looks wrong or is missing
What you see: the render shows a plain font instead of yours, or some letters look different from the editor.
What to do
- Choose fonts in the editor: select the text, open the Fonts tab, click a font, then Save. An uploaded font from Your fonts is added to the template when you click it.
- Upload fonts as TTF, OTF, WOFF or WOFF2 files, up to 2 MB. For bold or italic text, upload those files of the font too.
- A font added with + Add from URL must stay online at a public address.
- With the API (
headline.fontFamily), use the exact name of a font from the editor’s Fonts tab, or of a font the template already uses. Other names fall back to a default font. - Letters the font doesn’t have, such as emoji or some alphabets, are drawn with a fallback font. Pick a font made for your language.
A file link stopped working
What you see: the link to a rendered file (data.content in the API answer) worked before, but now answers
403 (access denied).
Why: links to rendered files work until expiresAt: 5 minutes by default, or up to 7 days if you ask for
more. The files themselves are deleted after a while: 8 days after an API render. See
How long files last.
What to do
- Download the file, or copy it to your own storage, soon after the render.
- Ask for a longer link: add
"expiresIn": 604800(7 days, the most) to the request body, next totemplateId. It doesn’t go insideresponse. - Get a fresh link with
GET /v1/renders/{id}, for as long as the render’s files exist. See Templates and renders. - For an image link that never expires, for example in emails and on websites, use a dynamic URL.
- On the Renders page, links are fresh each time you open the page. Once a render’s files are deleted, they are gone.
A signed URL answers 410 URL_EXPIRED (“This link has expired.”) after its expiry time, and
403 INVALID_SIGNATURE (“This link is not valid.”) if the link was changed or the workspace’s signing key was
rotated. Make a new one. See Signed URLs.
You ran out of render credits
What you see
- A test render says “Out of render credits.”
- The API answers
402 QUOTA_EXCEEDED.detail.periodEndsays when your credits reset. - Dynamic URLs and forms answer
402 CREDITS_EXHAUSTED. Visitors see “This image can’t be rendered right now.” or “This form can’t create images right now.” - Workflow runs stop, and the rows that are left are skipped.
What to do: wait until your credits reset. The Resets date is at the top of the Renders page. If you need more credits sooner, contact us. See Credits.
A workspace reached its credit cap
What you see: the same messages as above, but only in one workspace. The API answers
402 WORKSPACE_QUOTA_EXCEEDED, and the sidebar shows the cap as full, for example “Cap 500 / 500”. Other
workspaces keep rendering.
What to do: an owner or admin can raise or remove the cap: Organization, then Settings in the workspace’s row, then Render credit cap and Save cap. Otherwise, the count starts again in the next billing period. See Cap a workspace’s render credits.
“View only”, or you can’t render
What you see: “View only” in the editor or in Integrations, API & Forms, a note that says “You have
view-only access to this workspace”, or a test render that says “Test renders need editor access to this
workspace: they use its credits.” An API key you made stops working when you lose editor access: it is
revoked and answers 401 INVALID_API_KEY. Once you are an editor again, make a new key.
What to do: you are a viewer in this workspace. Ask an owner or admin to make you an Editor. They do it on the Organization page with Edit in your row. See Team and roles.
If you see No workspace yet, you don’t have access to any workspace. Ask an owner or admin to give you access.
Your organization is on hold or suspended
On hold: a banner at the top of the app says the organization is on hold while we review recent activity.
You can still see everything, but you can’t make changes or render. The API answers 403 ORG_ON_HOLD to changes
and renders. Dynamic URLs, signed URLs and forms answer 403 UNAVAILABLE (“This link is not available.” or
“This form is not available.”).
Suspended: members can’t sign in. The sign-in page says “This account has been suspended. Contact
[email protected] if you think this is a mistake.” The API answers 403 ORG_SUSPENDED, and links and forms
stop working.
What to do: email [email protected] from the address you sign in with. See Contact support.
A dynamic URL shows an error
A dynamic URL answers errors as a short JSON message, not as an image. To check it, open the template, click Integrations, API & Forms and go to the Dynamic URL tab. The badge next to Enable dynamic URL shows Live, Off, Expired or Credit cap reached.
| The link answers | Badge | What to do |
|---|---|---|
410 URL_DISABLED: “This link has been turned off.” |
Off | Tick Enable dynamic URL. |
410 URL_EXPIRED: “This link has expired.” |
Expired | Choose a new date under Expires and click Save settings. |
402 CREDIT_CAP_REACHED: “This link has used its credit allowance.” |
Credit cap reached | Raise or clear Credit cap and click Save settings, or click Reset credit count. |
402 CREDITS_EXHAUSTED: “This image can’t be rendered right now.” |
Live | Your organization or workspace is out of credits. See above. |
404 NOT_FOUND: “Not found.” |
Any | Someone clicked New link, or the template was deleted. Copy the current link from the tab. |
403 UNAVAILABLE: “This link is not available.” |
Any | The organization is on hold or suspended. See above. |
422 MEDIA_UNAVAILABLE |
Any | An image in the template or in the link’s values couldn’t load. See the first problem on this page. |
Images the link made before keep showing from its cache, even when the cap is reached. After you turn a link off, browsers that already saved its image can show it for up to an hour. See Dynamic URLs.
A form says it’s unavailable
Open the template, click Integrations, API & Forms and go to the Forms tab. Each form shows a badge: Live, Off, Expired or Credit cap reached.
| Visitors see | Why | What to do |
|---|---|---|
| This form is closed: “This form has been turned off.” | The form is off. | Tick the box next to the form’s title. |
| This form is closed: “This form has expired.” | Its expiry date passed. | Click Edit form and change Expires. |
| “This form has reached its limit.” | The form used its credit cap. | Click Edit form and raise or clear Credit cap, or click Reset credit count. |
| “This form can’t create images right now.” | The organization or workspace is out of credits. | See You ran out of render credits. |
| Form unavailable: “This form is not available.” | The organization is on hold or suspended. | Contact support. |
| Form unavailable: “This form does not exist.” | Someone clicked New link, or the template was deleted. | Share the current link with Copy link. |
See Forms.
Still stuck?
Email us. See Contact support for what to include so we can help quickly.
Last updated
Still stuck?
Email [email protected] and a real person will reply. Tell us the template you were using and what you expected to happen.