{ "error": "This template has no configured cost — contact support" }
{ "error": "Failed to start batch" }
{ "error": "Billing service unavailable" }
Starts rendering one video per row in rows, all from the same template. Returns immediately with a bulk_job_id — track progress via Get bulk job status or a webhook.
This is the only generation endpoint — for a single video, call it with one row in rows.
string
required
string
required
Bearer {api_key}
Body
object[]
required
A non-empty list of {variable_name: value} objects, one per video, up to 20,000 per request. Keys should match Get template schema’s variable names — a row missing a key just leaves that variable blank in that row’s video.external_id is a reserved key you can include in any row — your own identifier for that row, echoed back unchanged in the CSV export and usable with Get single video status to check a row before the batch finishes. Not treated as a template variable.
string
Optional label for the batch, shown back in status responses.
rows — not a CSV file or URL — is the only way to submit a batch through this API. Serialize your data directly into the request body.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TrueFan API","colors":{"primary":"#6D28D9","light":"#A78BFA","dark":"#4C1D95"},"favicon":"https://mintcdn.com/truefan-1f32b0fc/9_f4GqRRBe-4mqBr/favicon.svg?fit=max\u0026auto=format\u0026n=9_f4GqRRBe-4mqBr\u0026q=85\u0026s=1bedaf58672363d2348f8ce281a98106","api":{"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"https://studio.truefan.ai/dashboard/api-keys","label":"Dashboard"}],"primary":{"type":"button","label":"Get API Key","href":"https://studio.truefan.ai/dashboard/api-keys"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"truefan-1f32b0fc","hasAudioNarration":false,"actualSubdomain":"truefan-1f32b0fc","customDomains":["tfstudio.truefan.ai"],"gitSource":{"type":"github","owner":"true-fan","repo":"truefan-ai-be","deployBranch":"release/production","contentDirectory":"docs/mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6abe284c52b44300d17888b8","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":14},{"language":"default","tag":"Documentation","count":9},{"language":"default","tag":"Image Generation","count":4},{"language":"default","tag":"Video Generation","count":4},{"language":"default","tag":"Webhooks","count":4},{"language":"default","tag":"Get Started","count":3},{"language":"default","tag":"Core Concepts","count":3},{"language":"default","tag":"Guides","count":3},{"language":"default","tag":"Templates","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/generation/bulk-generate-videos","slug":"/api-reference/generation/bulk-generate-videos","pageMetadata":{"title":"Generate videos","api":"POST https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/","description":"Render one video, or many, from a template in a single call","href":"/api-reference/generation/bulk-generate-videos"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Render one video, or many, from a template in a single call\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Info,ParamField,ResponseField,Table,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Starts rendering one video per row in `,_jsx(_components.code,{children:`rows`}),`, all from the same template. Returns immediately with a `,_jsx(_components.code,{children:`bulk_job_id`}),` — track progress via `,_jsx(_components.a,{href:`/api-reference/status/get-bulk-job-status`,children:`Get bulk job status`}),` or a `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`This is the only generation endpoint — for a single video, call it with one row in `,_jsx(_components.code,{children:`rows`}),`.`]})}),`\n`,_jsx(ParamField,{path:`template_id`,type:`string`,required:true,id:`param-template-id`}),`\n`,_jsx(ParamField,{header:`Authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`Bearer {api_key}`})})}),`\n`,_jsx(Heading,{level:`2`,id:`body`,children:`Body`}),`\n`,_jsxs(ParamField,{body:`rows`,type:`object[]`,required:true,id:`param-rows`,children:[_jsxs(_components.p,{children:[`A non-empty list of `,_jsx(_components.code,{children:`{variable_name: value}`}),` objects, one per video, up to 20,000 per request. Keys should match `,_jsx(_components.a,{href:`/api-reference/templates/get-template-schema`,children:`Get template schema`}),`’s variable names — a row missing a key just leaves that variable blank in that row’s video.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`external_id`}),` is a reserved key you can include in any row — your own identifier for that row, echoed back unchanged in the `,_jsx(_components.a,{href:`/api-reference/status/export-bulk-job-csv`,children:`CSV export`}),` and usable with `,_jsx(_components.a,{href:`/api-reference/status/get-generation-status-by-external-id`,children:`Get single video status`}),` to check a row before the batch finishes. Not treated as a template variable.`]})]}),`\n`,_jsx(ParamField,{body:`batch_name`,type:`string`,id:`param-batch-name`,children:_jsx(_components.p,{children:`Optional label for the batch, shown back in status responses.`})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`rows`}),` — not a CSV file or URL — is the only way to submit a batch through this API. Serialize your data directly into the request body.`]})}),`\n`,`\n`,`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`rows`}),` missing, empty, not a list of objects, or over 20,000 rows`]}),_jsx(_components.td,{children:`Fix the request body, or split into multiple batches`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key`}),_jsxs(_components.td,{children:[`Check the `,_jsx(_components.code,{children:`Authorization`}),` header`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`402`})}),_jsx(_components.td,{children:`Insufficient credits`}),_jsx(_components.td,{children:`Top up the workspace’s account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`Template not found in this workspace`}),_jsxs(_components.td,{children:[`Confirm the `,_jsx(_components.code,{children:`template_id`}),` and that the key belongs to the right workspace`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Template has no scenes, or no configured cost`}),_jsx(_components.td,{children:`Fix the template in the editor`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Failed to prepare or dispatch the batch after credits were reserved`}),_jsx(_components.td,{children:`Credits are reversed on a best-effort basis — verify your balance before retrying`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:`Billing service temporarily unavailable`}),_jsx(_components.td,{children:`Safe to retry`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response-fields`,children:`Response fields`}),`\n`,_jsx(ResponseField,{name:`bulk_job_id`,type:`string`,id:`param-bulk-job-id`,children:_jsxs(_components.p,{children:[`Use with `,_jsx(_components.a,{href:`/api-reference/status/get-bulk-job-status`,children:`Get bulk job status`}),` to track the whole batch.`]})}),`\n`,_jsx(ResponseField,{name:`row_count`,type:`integer`,id:`param-row-count`,children:_jsxs(_components.p,{children:[`Number of videos this batch will render — equal to `,_jsx(_components.code,{children:`rows.length`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`estimated_credits`,type:`string`,id:`param-estimated-credits`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`template.estimated_credits × row_count`}),`, deducted upfront.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate videos","api":"POST https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/","description":"Render one video, or many, from a template in a single call","href":"/api-reference/generation/bulk-generate-videos"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,ParamField,RequestExample,ResponseExample,ResponseField,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Starts rendering one video per row in `,_jsx(_components.code,{children:`rows`}),`, all from the same template. Returns immediately with a `,_jsx(_components.code,{children:`bulk_job_id`}),` — track progress via `,_jsx(_components.a,{href:`/api-reference/status/get-bulk-job-status`,children:`Get bulk job status`}),` or a `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),`.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`This is the only generation endpoint — for a single video, call it with one row in `,_jsx(_components.code,{children:`rows`}),`.`]})}),`\n`,_jsx(ParamField,{path:`template_id`,type:`string`,required:true,id:`param-template-id`}),`\n`,_jsx(ParamField,{header:`Authorization`,type:`string`,required:true,id:`param-authorization`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`Bearer {api_key}`})})}),`\n`,_jsx(Heading,{level:`2`,id:`body`,children:`Body`}),`\n`,_jsxs(ParamField,{body:`rows`,type:`object[]`,required:true,id:`param-rows`,children:[_jsxs(_components.p,{children:[`A non-empty list of `,_jsx(_components.code,{children:`{variable_name: value}`}),` objects, one per video, up to 20,000 per request. Keys should match `,_jsx(_components.a,{href:`/api-reference/templates/get-template-schema`,children:`Get template schema`}),`’s variable names — a row missing a key just leaves that variable blank in that row’s video.`]}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`external_id`}),` is a reserved key you can include in any row — your own identifier for that row, echoed back unchanged in the `,_jsx(_components.a,{href:`/api-reference/status/export-bulk-job-csv`,children:`CSV export`}),` and usable with `,_jsx(_components.a,{href:`/api-reference/status/get-generation-status-by-external-id`,children:`Get single video status`}),` to check a row before the batch finishes. Not treated as a template variable.`]})]}),`\n`,_jsx(ParamField,{body:`batch_name`,type:`string`,id:`param-batch-name`,children:_jsx(_components.p,{children:`Optional label for the batch, shown back in status responses.`})}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`rows`}),` — not a CSV file or URL — is the only way to submit a batch through this API. Serialize your data directly into the request body.`]})}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$TRUEFAN_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"rows\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {\"customer_name\": \"Anmol\", \"score\": \"95\", \"external_id\": \"usr_9182\"},`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` {\"customer_name\": \"Rahul\", \"score\": \"88\", \"external_id\": \"usr_4471\"}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"batch_name\": \"August campaign\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`202 Accepted`,numberOfLines:`6`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"bulk_job_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8c1f2e3a-...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"row_count\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"estimated_credits\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.36\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400 Bad Request`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rows is required and must be a non-empty list of objects\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`400 Bad Request — too many rows`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rows exceeds the maximum of 20000 per batch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"max_rows\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`20000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`401 Unauthorized`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"API key required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`402 Payment Required`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"insufficient_credits\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"required\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.36\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"available\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0.50\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`404 Not Found`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Template not found\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`422 Unprocessable Entity`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This template has no configured cost — contact support\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`500 Internal Server Error`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Failed to start batch\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`503 Service Unavailable`,numberOfLines:`1`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{ `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Billing service unavailable\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`rows`}),` missing, empty, not a list of objects, or over 20,000 rows`]}),_jsx(_components.td,{children:`Fix the request body, or split into multiple batches`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`Missing or invalid API key`}),_jsxs(_components.td,{children:[`Check the `,_jsx(_components.code,{children:`Authorization`}),` header`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`402`})}),_jsx(_components.td,{children:`Insufficient credits`}),_jsx(_components.td,{children:`Top up the workspace’s account`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`Template not found in this workspace`}),_jsxs(_components.td,{children:[`Confirm the `,_jsx(_components.code,{children:`template_id`}),` and that the key belongs to the right workspace`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`422`})}),_jsx(_components.td,{children:`Template has no scenes, or no configured cost`}),_jsx(_components.td,{children:`Fix the template in the editor`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`500`})}),_jsx(_components.td,{children:`Failed to prepare or dispatch the batch after credits were reserved`}),_jsx(_components.td,{children:`Credits are reversed on a best-effort basis — verify your balance before retrying`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`503`})}),_jsx(_components.td,{children:`Billing service temporarily unavailable`}),_jsx(_components.td,{children:`Safe to retry`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response-fields`,children:`Response fields`}),`\n`,_jsx(ResponseField,{name:`bulk_job_id`,type:`string`,id:`param-bulk-job-id`,children:_jsxs(_components.p,{children:[`Use with `,_jsx(_components.a,{href:`/api-reference/status/get-bulk-job-status`,children:`Get bulk job status`}),` to track the whole batch.`]})}),`\n`,_jsx(ResponseField,{name:`row_count`,type:`integer`,id:`param-row-count`,children:_jsxs(_components.p,{children:[`Number of videos this batch will render — equal to `,_jsx(_components.code,{children:`rows.length`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`estimated_credits`,type:`string`,id:`param-estimated-credits`,children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`template.estimated_credits × row_count`}),`, deducted upfront.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate videos","api":"POST https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/","description":"Render one video, or many, from a template in a single call","href":"/api-reference/generation/bulk-generate-videos"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Body","slug":"body","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]},{"title":"Response fields","slug":"response-fields","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"10\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer \u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#9CDCFE\">$TRUEFAN_API_KEY\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"rows\": [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\"customer_name\": \"Anmol\", \"score\": \"95\", \"external_id\": \"usr_9182\"},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> {\"customer_name\": \"Rahul\", \"score\": \"88\", \"external_id\": \"usr_4471\"}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"batch_name\": \"August campaign\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"202 Accepted","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"6\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"bulk_job_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"8c1f2e3a-...\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"pending\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"row_count\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">2\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"estimated_credits\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"1.36\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400 Bad Request","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"rows is required and must be a non-empty list of objects\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400 Bad Request — too many rows","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"rows exceeds the maximum of 20000 per batch\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"max_rows\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">20000\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"401 Unauthorized","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"API key required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"402 Payment Required","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"insufficient_credits\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"required\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"1.36\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"available\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"0.50\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"404 Not Found","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Template not found\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"422 Unprocessable Entity","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"This template has no configured cost — contact support\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"500 Internal Server Error","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Failed to start batch\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"503 Service Unavailable","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"1\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{ \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"error\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Billing service unavailable\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Generate videos","path":"/api/external/v1/templates/{template_id}/bulk-generate/","servers":[{"url":"https://backend-ai.truefans.in"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"Authorization":{"schema":[{"type":"string","description":"`Bearer {api_key}`","required":true}]}},"cookie":{},"path":{"template_id":{"schema":[{"type":"string","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"rows":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"A non-empty list of `{variable_name: value}` objects, one per video, up to 20,000 per request. Keys should match Get template schema ’s variable names — a row missing a key just leaves that variable blank in that row’s video. `external_id` is a reserved key you can include in any row — your own identifier for that row, echoed back unchanged in the CSV export and usable with Get single video status to check a row before the batch finishes. Not treated as a template variable.","required":true}],"batch_name":[{"type":"string","description":"Optional label for the batch, shown back in status responses."}]}}],"examples":{"example":{"value":{"rows":[{}],"batch_name":"\u003cstring>"}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"bulk_job_id":[{"type":"string","description":"Use with Get bulk job status to track the whole batch."}],"row_count":[{"type":"integer","description":"Number of videos this batch will render — equal to `rows.length` ."}],"estimated_credits":[{"type":"string","description":"`template.estimated_credits × row_count` , deducted upfront."}]}}],"examples":{"example":{"value":{"bulk_job_id":"\u003cstring>","row_count":123,"estimated_credits":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"truefan-1f32b0fc","siteName":"TrueFan API","title":"Generate videos - TrueFan API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T07:16:34.350Z","originalFileLocation":"api-reference/generation/bulk-generate-videos.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Render one video, or many, from a template in a single call\">\u003cmeta data-mint-head name=\"application-name\" content=\"TrueFan API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate videos - TrueFan API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Render one video, or many, from a template in a single call\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TrueFan API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://truefan-1f32b0fc.mintlify.site/docs/_mintlify/api/og/v2?division=Video+Generation\u0026amp;title=Generate+videos\u0026amp;description=Render+one+video%2C+or+many%2C+from+a+template+in+a+single+call\u0026amp;theme=ba75ead9a3bbfe7bc871991c\u0026amp;signature=c076472c6bc2f8c06221c6bab8258bb4f881b10fce623b4297e6e7c115425118\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate videos - TrueFan API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Render one video, or many, from a template in a single call\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://truefan-1f32b0fc.mintlify.site/docs/_mintlify/api/og/v2?division=Video+Generation\u0026amp;title=Generate+videos\u0026amp;description=Render+one+video%2C+or+many%2C+from+a+template+in+a+single+call\u0026amp;theme=ba75ead9a3bbfe7bc871991c\u0026amp;signature=c076472c6bc2f8c06221c6bab8258bb4f881b10fce623b4297e6e7c115425118\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/truefan-1f32b0fc/8a50Y1jZ_GW-ctk7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TrueFan API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6D28D9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/generation/bulk-generate-videos.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tfstudio.truefan.ai/#organization\",\"name\":\"TrueFan API\",\"url\":\"https://tfstudio.truefan.ai\"},{\"@type\":\"WebSite\",\"@id\":\"https://tfstudio.truefan.ai/docs#website\",\"name\":\"TrueFan API\",\"url\":\"https://tfstudio.truefan.ai/docs\",\"publisher\":{\"@id\":\"https://tfstudio.truefan.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos#webpage\",\"url\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos\",\"name\":\"Generate videos\",\"description\":\"Render one video, or many, from a template in a single call\",\"dateModified\":\"2026-09-29T07:16:34.350Z\",\"isPartOf\":{\"@id\":\"https://tfstudio.truefan.ai/docs#website\"},\"breadcrumb\":{\"@id\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"TrueFan API\",\"item\":\"https://tfstudio.truefan.ai/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate videos\",\"item\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos#apireference\",\"headline\":\"Generate videos\",\"name\":\"Generate videos\",\"description\":\"Render one video, or many, from a template in a single call\",\"url\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos\",\"mainEntityOfPage\":{\"@id\":\"https://tfstudio.truefan.ai/docs/api-reference/generation/bulk-generate-videos#webpage\"},\"dateModified\":\"2026-09-29T07:16:34.350Z\",\"publisher\":{\"@id\":\"https://tfstudio.truefan.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://tfstudio.truefan.ai/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TrueFan API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"TrueFan API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/api-reference/generation/bulk-generate-videos.md","siteName":"TrueFan API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Templates","pages":[{"title":"List templates","api":"GET https://backend-ai.truefans.in/api/external/v1/templates/","href":"/api-reference/templates/list-templates"},{"title":"Get template schema","api":"GET https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/schema/","description":"Get the exact variables a template needs, computed live","href":"/api-reference/templates/get-template-schema"}]},{"group":"Video Generation","pages":[{"title":"Generate videos","api":"POST https://backend-ai.truefans.in/api/external/v1/templates/{template_id}/bulk-generate/","href":"/api-reference/generation/bulk-generate-videos"},{"title":"Get single video status","api":"GET https://backend-ai.truefans.in/api/external/v1/bulk-jobs/{bulk_job_id}/generations/{external_id}/status/","description":"Check one video's status by bulk_job_id + your own external_id","href":"/api-reference/status/get-generation-status-by-external-id"},{"title":"Get bulk job status","api":"GET https://backend-ai.truefans.in/api/external/v1/bulk-jobs/{bulk_job_id}/status/","href":"/api-reference/status/get-bulk-job-status"},{"title":"Download CSV export","api":"GET https://backend-ai.truefans.in/api/external/v1/bulk-jobs/{bulk_job_id}/export.csv","href":"/api-reference/status/export-bulk-job-csv"}]},{"group":"Image Generation","pages":[{"title":"Generate images","api":"POST https://backend-ai.truefans.in/api/external/v1/image-templates/{template_id}/bulk-generate/","href":"/api-reference/generation/bulk-generate-images"},{"title":"Get single image status","api":"GET https://backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/generations/{external_id}/status/","href":"/api-reference/image-status/get-image-status-by-external-id"},{"title":"Get image batch status","api":"GET https://backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/status/","href":"/api-reference/image-status/get-image-bulk-job-status"},{"title":"Download image CSV export","api":"GET https://backend-ai.truefans.in/api/external/v1/image-bulk-jobs/{bulk_job_id}/export.csv","href":"/api-reference/image-status/export-image-bulk-job-csv"}]},{"group":"Webhooks","pages":[{"title":"Create a webhook","api":"POST https://backend-ai.truefans.in/api/external/v1/webhooks/","href":"/api-reference/webhooks/create-webhook"},{"title":"List webhooks","api":"GET https://backend-ai.truefans.in/api/external/v1/webhooks/","href":"/api-reference/webhooks/list-webhooks"},{"title":"Delete a webhook","api":"DELETE https://backend-ai.truefans.in/api/external/v1/webhooks/{endpoint_id}/","href":"/api-reference/webhooks/delete-webhook"},{"title":"List webhook deliveries","api":"GET https://backend-ai.truefans.in/api/external/v1/webhooks/{endpoint_id}/deliveries/","href":"/api-reference/webhooks/list-webhook-deliveries"}]}]}]},"basePath":"","title":"Generate videos - TrueFan API","buildId":"dpl_Aw98ji4XvBsgtZwL1VrkUF9ehFqz","deploymentId":"dpl_Aw98ji4XvBsgtZwL1VrkUF9ehFqz","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-CQGbdtm4.js","utils-D88A1f-Z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChqWdz1A.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-yBrxdh_6.js","snippetPresets-BgqDrFJC.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-Duxc2rZw.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C7jidOil.js","shallow-xkjpHm-U.js","getApiPlaygroundDisplay-fE3rVpvL.js","CodeSnippet-LgxljKed.js","CodeSnippets-D-pXWDHq.js","Page-C2-BijcO.js","getPastedJson-CLRcu-uo.js","icon-Cxirpjgo.js","MethodPill-D49eqY5e.js","DuplicateIcon-CivCz5Rp.js","createIcon-D71qL3f5.js","DynamicMarkdown-BcGRTrw6.js","SectionHeading-DzaqmmSD.js","axios-vUo_bRtp.js"]}