Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 28, 2025

This PR was automatically generated from issue #328

✅ Generation Complete

Final Status: 0/30 presets successfully generated

⚠️ 30 preset(s) failed - see details below

❌ Failed Presets (30)

  1. Preset 1 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a classic iris-out vignette transition preset for YouTube images. The transition should simulate an old-fashioned camera iris closing from the edges toward the center, creating a circular vignette that progressively darkens the edges while maintaining focus on the center. Use a radial gradient overlay that starts transparent and animates to full black at the edges. The outgoing image should have a vignette effect that shrinks inward (using radial-gradient with animated size), while the incoming image fades in underneath. During the overlap period, the iris should close completely to black before the new image appears. Think of this as a classic film transition where the iris wipe creates a moment of complete darkness at center before revealing the next scene. Use ShapeAtom with radial gradient for the vignette overlay, positioned above both images with appropriate z-index layering.

Technical Specifications:
BaseLayout with fitDurationTo='scene', containerProps className='relative w-full h-full bg-black'. Two ImageAtom children with absolute inset-0 positioning. Outgoing image: start=0%, duration=55%, z-index-10. Incoming image: start=45%, duration=55%, z-index-10. ShapeAtom vignette overlay: z-index-20, radial-gradient(circle, transparent 0%, black 70%). Generic effects on outgoing: opacity AnimationRange [{time:0,value:1},{time:0.8,value:1},{time:1,value:0}]. Vignette effect: use CSS custom property or transform scale on radial gradient size from 150% to 0% during transition. Overlap period: 10% of total duration for the iris close moment."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c74bfed09939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:14 GMT',
'request-id': 'req_011CVat9vDWCpoNp3dDyugzk',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVat9vDWCpoNp3dDyugzk"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 2 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Build a dramatic tunnel vision vignette transition that creates a psychological focus effect. The vignette should animate as if the viewer's peripheral vision is fading to black, creating a tunnel-like narrowing toward the center. The outgoing image experiences increasing vignette darkness from edges inward using multiple layered radial gradients for depth. The incoming image emerges from the center point, scaling up from 0.3 to 1 while the vignette reverses (opening back up). Include a subtle blur effect on the outgoing image edges that intensifies as the vignette closes. This creates a cinematic 'losing consciousness' then 'awakening' transition perfect for dramatic YouTube content.

Technical Specifications:
BaseLayout duration calculation: image1.duration + image2.duration - overlapDuration. Container: 'absolute inset-0 overflow-hidden bg-black'. Outgoing ImageAtom: objectFit='cover', generic effects for opacity [{time:0,value:1},{time:0.7,value:1},{time:1,value:0}] and filter blur [{time:0,value:'0px'},{time:0.5,value:'0px'},{time:1,value:'8px'}]. Incoming ImageAtom: start at 50%, transform scale [{time:0,value:0.3},{time:0.5,value:1},{time:1,value:1}], opacity [{time:0,value:0},{time:0.3,value:1}]. Vignette overlay using pseudo-element or ShapeAtom with box-shadow: inset 0 0 150px 60px rgba(0,0,0,0.9) animating to inset 0 0 300px 200px rgba(0,0,0,1)."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c74be6f8c15d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:14 GMT',
'request-id': 'req_011CVat9uCycT7xUYwW8eWCC',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '23',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVat9uCycT7xUYwW8eWCC"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 3 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design a spotlight iris transition where the center remains illuminated while darkness creeps in from all edges. Unlike a simple fade, this should feel like a theatrical spotlight effect - the vignette should have soft, feathered edges that create an organic light falloff. The outgoing image's vignette intensifies (spotlight shrinks) until only a small center circle is visible, then cuts to black. The incoming image reverses this - starting with a tiny spotlight in center that expands outward, revealing the full image. Add a subtle warm color temperature shift during the transition to enhance the theatrical spotlight feel. Perfect for YouTube video essays or documentary-style content.

Technical Specifications:
BaseLayout with 'relative w-full h-full' and bg-black. Transition overlap: 15% of total duration. Outgoing ImageAtom: full duration minus half overlap, effects include radial mask animation using clip-path: circle() from 100% to 5%. Incoming ImageAtom: starts at 85% through outgoing, clip-path: circle() from 5% to 100%. Warm color overlay: ShapeAtom with radial-gradient including warm tones (rgba(255,200,150,0.2)) that fades during transition. Generic effects structure: provider mode with targetIds for each image. Clip-path animation keyframes: [{time:0,value:'circle(100% at 50% 50%)'},{time:1,value:'circle(5% at 50% 50%)'}] for outgoing."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c74bf88c31a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:14 GMT',
'request-id': 'req_011CVat9uv98a2EVGK5fu4L1',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '20',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVat9uv98a2EVGK5fu4L1"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 4 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a multi-layered vignette transition with three concentric darkness rings that close sequentially like camera aperture blades. The outer ring darkens first, then middle, then inner - creating a stepped iris effect rather than smooth. Each ring should have slightly different timing (staggered by 0.1s) to create visual interest. The incoming image should be revealed in reverse - inner ring opens first, then middle, then outer. Use three ShapeAtom overlays with different radial-gradient sizes to achieve the layered effect. This creates a more mechanical, intentional feel compared to organic vignettes - ideal for tech review or gaming YouTube channels.

Technical Specifications:
BaseLayout container with overflow-hidden. Three ShapeAtom vignette layers: outer (radial-gradient transparent 60%, black 80%), middle (radial-gradient transparent 40%, black 60%), inner (radial-gradient transparent 20%, black 40%). Staggered opacity animations - outer ring: [{time:0,value:0},{time:0.2,value:1}], middle ring: [{time:0.1,value:0},{time:0.3,value:1}], inner ring: [{time:0.2,value:0},{time:0.4,value:1}]. Reverse for incoming image reveal. Z-index stacking: images at 10, vignette layers at 20/21/22. Overlap period: 20% for full iris close and open sequence. Provider mode effects targeting each ShapeAtom by unique IDs."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c74c018d0ce7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:14 GMT',
'request-id': 'req_011CVat9vKCuWgL6Hxez79TZ',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '22',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVat9vKCuWgL6Hxez79TZ"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 5 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Build a fast punch-in vignette transition designed for high-energy YouTube content. The vignette should slam closed quickly (0.3s) with an aggressive easing curve, hold on black briefly (0.1s), then punch open to reveal the next image. Add a subtle shake effect during the close and a scale bump (1.0 to 1.05 to 1.0) on the incoming image reveal for impact. The vignette edges should be hard rather than soft-feathered for a more graphic, punchy feel. Use ease-in for the close and ease-out-back for the open to create asymmetric energy. Perfect for gaming highlights, action content, or energetic vlogs.

Technical Specifications:
BaseLayout with short overlap period (0.4s or 8% of typical scene). Outgoing ImageAtom: opacity [{time:0,value:1},{time:0.6,value:1},{time:0.75,value:0}] with easeIn. Shake effect on outgoing: transform translateX [{time:0.5,value:'0px'},{time:0.55,value:'-5px'},{time:0.6,value:'5px'},{time:0.65,value:'-3px'},{time:0.7,value:'0px'}]. Incoming ImageAtom: scale [{time:0,value:1.05},{time:0.3,value:1}] with easeOutBack, opacity [{time:0,value:0},{time:0.1,value:1}]. Hard vignette: radial-gradient(circle, transparent 0%, transparent 45%, black 50%, black 100%). Container bg-black for hold frame. Fast easing functions specified in effect config."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c74c428f5cf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:15 GMT',
'request-id': 'req_011CVat9y6t1vB7skHi8LemK',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '186',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVat9y6t1vB7skHi8LemK"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 6 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design an ethereal soft-focus vignette transition that combines iris closing with progressive blur. As the vignette darkens from edges, the entire outgoing image should also gain a dreamy gaussian blur (0 to 12px). The incoming image reverses this - starting blurred with heavy vignette, then sharpening as vignette opens. Add a subtle brightness boost during peak transition to prevent the mid-point from feeling too dark. The vignette should have extremely soft, feathered edges (gradient spread over 40% of frame) for a gentle, romantic feel. Ideal for lifestyle, travel, or wedding YouTube content.

Technical Specifications:
BaseLayout with extended overlap (25% of duration) for smooth transition. Outgoing ImageAtom effects: filter blur [{time:0,value:'0px'},{time:0.7,value:'0px'},{time:1,value:'12px'}], filter brightness [{time:0,value:1},{time:0.5,value:1.1},{time:1,value:0.8}], opacity [{time:0,value:1},{time:0.85,value:1},{time:1,value:0}]. Incoming ImageAtom: blur [{time:0,value:'12px'},{time:0.5,value:'0px'}], brightness [{time:0,value:0.8},{time:0.3,value:1.1},{time:0.6,value:1}]. Soft vignette: radial-gradient(ellipse 80% 80%, transparent 30%, rgba(0,0,0,0.5) 50%, black 70%). Linear easing for dreamy feel. Provider mode with combined filter effects."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c757cad8915d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:44 GMT',
'request-id': 'req_011CVatC9WG3cSjfsCVg15uA',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '94',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatC9WG3cSjfsCVg15uA"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 7 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a cinematic letterbox vignette transition that combines horizontal letterbox bars with center iris. The top and bottom of frame darken first (like letterbox bars animating in), then the vignette closes from sides toward center, creating a compound transition effect. The incoming image reveals in reverse - center spotlight opens first, then letterbox bars retract. This creates a premium, film-like transition that adds production value. Include subtle film grain overlay during the transition for authentic cinema feel. Perfect for cinematic YouTube vlogs, short films, or high-end brand content.

Technical Specifications:
BaseLayout with three overlay layers. Letterbox ShapeAtoms: top bar (linear-gradient(black 0%, black 15%, transparent 15%)) and bottom bar (linear-gradient(transparent 85%, black 85%, black 100%)) with height animation. Center vignette: radial-gradient for iris effect. Animation sequence - letterbox bars: [{time:0,value:'0%'},{time:0.3,value:'15%'}] for bar height. Iris close: [{time:0.2,value:'circle(100%)'},{time:0.6,value:'circle(0%)'}]. Film grain: ImageAtom or ShapeAtom with noise texture, opacity 0.05, blend-mode overlay. Reverse sequence for incoming. Total overlap: 30% for complex multi-phase transition. Z-index: images 10, letterbox 20, iris 21, grain 22."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c757dce001a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:44 GMT',
'request-id': 'req_011CVatCA6UkC3E9PCKgL6co',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '19',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatCA6UkC3E9PCKgL6co"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 8 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Build a pulsing vignette transition with heartbeat-like rhythm. The vignette should pulse inward twice (like a heartbeat: lub-dub) before fully closing, creating an organic, living feel to the transition. Each pulse darkens edges briefly then releases, with the final pulse completing the close. The incoming image should emerge with a single strong pulse outward. Add subtle red color tint at vignette edges during pulses to enhance the heartbeat metaphor. This creates an emotionally evocative transition perfect for dramatic YouTube content, horror, or intense storytelling moments.

Technical Specifications:
BaseLayout with 20% overlap for pulse sequence. Vignette pulse animation: radial-gradient size keyframes [{time:0,value:'150%'},{time:0.15,value:'100%'},{time:0.25,value:'140%'},{time:0.35,value:'80%'},{time:0.45,value:'120%'},{time:0.6,value:'0%'}]. Red tint overlay: radial-gradient(transparent 40%, rgba(80,0,0,0.3) 70%, rgba(40,0,0,0.6) 100%) with opacity pulsing in sync. Outgoing image opacity: [{time:0,value:1},{time:0.55,value:1},{time:0.65,value:0}]. Incoming image: single expansion pulse [{time:0,value:'0%'},{time:0.2,value:'120%'},{time:0.4,value:'100%'}] on vignette open. Custom easing: ease-out for pulses. Provider mode targeting vignette ShapeAtoms."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c757ececbce7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:44 GMT',
'request-id': 'req_011CVatCAkvETSNfmySQMTv4',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '24',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatCAkvETSNfmySQMTv4"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 9 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design an asymmetric off-center iris transition where the vignette closes toward a point that's not centered (rule of thirds position). The focal point should be at approximately 1/3 from left and 1/3 from top, creating a more dynamic, cinematically-composed transition. The darkness closes toward this off-center point, drawing the eye there before transition. The incoming image opens from the same off-center point, maintaining visual continuity. This creates a more sophisticated, intentional feel compared to center-focused iris transitions. Perfect for photography-focused YouTube channels or content creators with strong visual composition skills.

Technical Specifications:
BaseLayout with standard 15% overlap. Off-center vignette: radial-gradient(ellipse at 33% 33%, transparent 0%, black 60%) for outgoing, same position for incoming. Clip-path alternative: circle(100% at 33% 33%) animating to circle(0% at 33% 33%). Outgoing ImageAtom: opacity and clip-path effects combined. Effect keyframes: clip-path [{time:0,value:'circle(150% at 33% 33%)'},{time:0.8,value:'circle(150% at 33% 33%)'},{time:1,value:'circle(0% at 33% 33%)'}]. Incoming: reverse from circle(0%) to circle(150%). Both images objectFit='cover' to maintain composition. Container bg-black. Provider mode effects with precise timing for overlap synchronization."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c757e2c90939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:44 GMT',
'request-id': 'req_011CVatCAMMu4GRw7EBEbA4t',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatCAMMu4GRw7EBEbA4t"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 10 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a glitch-iris hybrid transition that combines clean vignette closing with digital glitch effects. As the vignette closes, random horizontal slice displacements occur on the outgoing image (like digital corruption). The center iris closes cleanly while edges experience RGB split and position glitches. At the transition peak, a brief white flash replaces the black moment. The incoming image emerges clean as the vignette opens, contrasting the glitchy exit with pristine entry. This creates a tech-forward, modern transition style perfect for gaming, tech review, or cyberpunk-aesthetic YouTube content.

Technical Specifications:
BaseLayout with 18% overlap for glitch sequence. Outgoing ImageAtom: vignette clip-path animation plus glitch effects. Glitch implementation: transform translateX with rapid keyframes [{time:0.4,value:'0px'},{time:0.42,value:'-10px'},{time:0.44,value:'5px'},{time:0.46,value:'-3px'},{time:0.48,value:'0px'}] repeating. RGB split: three ImageAtom copies with slight position offsets and blend-mode screen, red/green/blue channels separated by 2-4px. White flash: ShapeAtom bg-white, opacity [{time:0.48,value:0},{time:0.5,value:1},{time:0.52,value:0}]. Incoming ImageAtom: clean reveal with standard vignette open animation. Z-index: base image 10, RGB splits 11/12/13, vignette 20, flash 30. Provider mode for complex multi-element coordination."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c7581fc8ccf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:01:45 GMT',
'request-id': 'req_011CVatCCveQeMAUTH6E7MPF',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '38',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatCCveQeMAUTH6E7MPF"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 11 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create an 'Ink Drop Bloom Reveal' transition preset for YouTube images that simulates watercolor ink dropping into water and spreading organically to reveal the next image. The outgoing image should appear to dissolve as if ink is bleeding through it in expanding circular patterns from the center, while the incoming image emerges through the spreading watercolor effect. Use a 1.2-second overlap period where the outgoing image fades with a radial blur effect expanding outward (scale from 1 to 1.15 with blur from 0px to 8px), and the incoming image fades in with an inverse radial animation (scale from 0.9 to 1, blur from 12px to 0px). The transition should feel like watching ink disperse in slow motion - soft, organic, and mesmerizing. Apply subtle color saturation boost during the overlap to enhance the watercolor aesthetic. Both images use ImageAtom with object-fit cover, absolute positioning inset-0, with incoming image having higher z-index.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.2s, containerProps with 'relative w-full h-full overflow-hidden bg-black'. Outgoing ImageAtom: start=0, duration=image1.duration, absolute inset-0, z-index-10. Incoming ImageAtom: start=image1.duration - 1.2s, duration=image2.duration, absolute inset-0, z-index-20. Effects in provider mode: outgoing targetId gets opacity AnimationRange [{time:0, value:1}, {time:image1.duration-1.2s, value:1}, {time:image1.duration, value:0}], scale [{time:0, value:1}, {time:image1.duration-1.2s, value:1}, {time:image1.duration, value:1.15}], blur [{time:0, value:'0px'}, {time:image1.duration-1.2s, value:'0px'}, {time:image1.duration, value:'8px'}]. Incoming targetId gets opacity [{time:image1.duration-1.2s, value:0}, {time:image1.duration, value:1}], scale [{time:image1.duration-1.2s, value:0.9}, {time:image1.duration, value:1}], blur [{time:image1.duration-1.2s, value:'12px'}, {time:image1.duration, value:'0px'}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c763bee56939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:15 GMT',
'request-id': 'req_011CVatEQ8te6wNLbX8VkTEz',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '19',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatEQ8te6wNLbX8VkTEz"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 12 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Fluid Watercolor Bleed' transition preset where YouTube images transition as if wet watercolor paint is bleeding across the frame. The outgoing image should appear to become wet and bleed downward with a vertical slide and increasing blur, simulating paint running down wet paper. The incoming image rises up from below like fresh paint seeping upward through the canvas. Use a 1.5-second overlap with the outgoing image sliding down (translateY 0 to 30%) while gaining blur (0 to 15px) and fading to 0.3 opacity. The incoming image slides up from translateY 40% to 0 while clearing blur (10px to 0) and fading from 0 to full opacity. Add subtle scale breathing (0.98 to 1.02) to both images during transition for organic movement feel.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.5s, containerProps 'relative w-full h-full overflow-hidden'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-1.5s, absolute inset-0, z-20, objectFit cover. Provider effects: Outgoing - translateY [{time:0, value:'0%'}, {time:image1.duration-1.5s, value:'0%'}, {time:image1.duration, value:'30%'}], opacity [{time:0, value:1}, {time:image1.duration-1.5s, value:1}, {time:image1.duration, value:0.3}], blur [{time:0, value:'0px'}, {time:image1.duration-1.5s, value:'0px'}, {time:image1.duration, value:'15px'}], scale [{time:image1.duration-1.5s, value:1}, {time:image1.duration-0.75s, value:1.02}, {time:image1.duration, value:0.98}]. Incoming - translateY [{time:image1.duration-1.5s, value:'40%'}, {time:image1.duration, value:'0%'}], opacity [{time:image1.duration-1.5s, value:0}, {time:image1.duration, value:1}], blur [{time:image1.duration-1.5s, value:'10px'}, {time:image1.duration, value:'0px'}], scale [{time:image1.duration-1.5s, value:0.98}, {time:image1.duration-0.75s, value:1.02}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c763d3b95cf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:15 GMT',
'request-id': 'req_011CVatER4CssixqdrZFtyPj',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '17',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatER4CssixqdrZFtyPj"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 13 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create an 'Organic Ink Dispersion' transition preset with asymmetric timing that mimics how ink disperses unevenly in water. The outgoing image should fade and blur non-uniformly - starting faster then slowing down like ink hitting resistance in water. The incoming image emerges with ease-out timing, appearing to coalesce from scattered particles into clarity. Use a 1.8-second overlap with custom easing. Outgoing image: rapid initial blur increase (0 to 20px in first 0.6s of overlap) then holds, opacity drops quickly from 1 to 0.2 in first 0.9s then slowly to 0. Incoming image: delayed start (0.3s into overlap), blur clears slowly (18px to 0 over 1.5s), opacity builds with ease-out (0 to 1). Add slight rotation (-2deg to 2deg) for organic feel.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.8s, containerProps 'relative w-full h-full overflow-hidden bg-neutral-900'. Outgoing ImageAtom: start=0, duration=image1.duration, absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-1.8s, duration=image2.duration, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing targetId: blur [{time:0, value:'0px'}, {time:image1.duration-1.8s, value:'0px'}, {time:image1.duration-1.2s, value:'20px'}, {time:image1.duration, value:'20px'}], opacity [{time:0, value:1}, {time:image1.duration-1.8s, value:1}, {time:image1.duration-0.9s, value:0.2}, {time:image1.duration, value:0}], rotate [{time:image1.duration-1.8s, value:'0deg'}, {time:image1.duration, value:'-2deg'}]. Incoming targetId: blur [{time:image1.duration-1.8s, value:'18px'}, {time:image1.duration-0.3s, value:'18px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-1.8s, value:0}, {time:image1.duration-1.5s, value:0}, {time:image1.duration-0.3s, value:0.7}, {time:image1.duration, value:1}], rotate [{time:image1.duration-1.5s, value:'2deg'}, {time:image1.duration, value:'0deg'}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c763adf391a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:14 GMT',
'request-id': 'req_011CVatEPQEciGGHXgWbBXpz',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '21',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatEPQEciGGHXgWbBXpz"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 14 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Watercolor Wash Sweep' horizontal transition preset where the incoming image sweeps across like a wet brush stroke washing away the previous image. The outgoing image should compress horizontally (scale X from 1 to 0.7) while sliding left and blurring, as if being pushed aside by water. The incoming image slides in from the right with a slight overshoot animation - sliding past center then settling back. Use 1.0-second overlap for a quicker, more dynamic feel. Both images should have subtle vertical blur lines (motion blur simulation via directional blur) during the transition peak.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.0s, containerProps 'relative w-full h-full overflow-hidden'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-1.0s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: translateX [{time:0, value:'0%'}, {time:image1.duration-1.0s, value:'0%'}, {time:image1.duration, value:'-30%'}], scaleX [{time:0, value:1}, {time:image1.duration-1.0s, value:1}, {time:image1.duration, value:0.7}], opacity [{time:0, value:1}, {time:image1.duration-1.0s, value:1}, {time:image1.duration-0.3s, value:0.5}, {time:image1.duration, value:0}], blur [{time:0, value:'0px'}, {time:image1.duration-1.0s, value:'0px'}, {time:image1.duration-0.5s, value:'6px'}, {time:image1.duration, value:'12px'}]. Incoming: translateX [{time:image1.duration-1.0s, value:'100%'}, {time:image1.duration-0.2s, value:'-5%'}, {time:image1.duration, value:'0%'}], opacity [{time:image1.duration-1.0s, value:0.8}, {time:image1.duration, value:1}], blur [{time:image1.duration-1.0s, value:'4px'}, {time:image1.duration-0.3s, value:'0px'}, {time:image1.duration, value:'0px'}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c7639bb3615d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:14 GMT',
'request-id': 'req_011CVatENfLLBgJpQ9iNrz8S',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '21',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatENfLLBgJpQ9iNrz8S"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 15 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Slow Ink Diffusion' transition preset optimized for contemplative, artistic YouTube content. This ultra-slow transition (2.5-second overlap) mimics watching ink slowly diffuse through still water. The outgoing image should very gradually lose saturation and blur while slightly scaling up, as if the viewer's focus is slowly drifting away. The incoming image emerges from extreme blur and slight desaturation, slowly coming into perfect focus. Use subtle breathing scale animation (1.0 to 1.05 to 1.02) on both images throughout the overlap for a living, organic quality.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 2.5s, containerProps 'relative w-full h-full overflow-hidden bg-black'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-2.5s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: scale [{time:0, value:1}, {time:image1.duration-2.5s, value:1}, {time:image1.duration-1.25s, value:1.05}, {time:image1.duration, value:1.08}], blur [{time:0, value:'0px'}, {time:image1.duration-2.5s, value:'0px'}, {time:image1.duration-1.5s, value:'3px'}, {time:image1.duration, value:'15px'}], opacity [{time:0, value:1}, {time:image1.duration-2.5s, value:1}, {time:image1.duration-1.0s, value:0.6}, {time:image1.duration, value:0}], saturate [{time:0, value:1}, {time:image1.duration-2.5s, value:1}, {time:image1.duration, value:0.3}]. Incoming: scale [{time:image1.duration-2.5s, value:1.1}, {time:image1.duration-1.25s, value:1.03}, {time:image1.duration, value:1}], blur [{time:image1.duration-2.5s, value:'25px'}, {time:image1.duration-1.0s, value:'8px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-2.5s, value:0}, {time:image1.duration-1.5s, value:0.5}, {time:image1.duration, value:1}], saturate [{time:image1.duration-2.5s, value:0.5}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c763c7bfcce7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:15 GMT',
'request-id': 'req_011CVatEQYCSrLQXbESQSHxn',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '37',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatEQYCSrLQXbESQSHxn"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 16 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Turbulent Ink Splash' transition preset with shake effects for dynamic YouTube content. This energetic transition simulates ink being dropped with force into water, creating turbulence. During the 0.8-second overlap, apply a shake effect to both images that peaks at the transition midpoint. The outgoing image shakes, scales up rapidly (1 to 1.2), and blurs out. The incoming image enters with residual shake that dampens, scaling from 1.15 to 1 with clearing blur. The shake should use random-feeling but keyframed positions (translateX/Y oscillating). Fast and impactful.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 0.8s, containerProps 'relative w-full h-full overflow-hidden'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-0.8s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: translateX [{time:image1.duration-0.8s, value:'0%'}, {time:image1.duration-0.6s, value:'2%'}, {time:image1.duration-0.4s, value:'-3%'}, {time:image1.duration-0.2s, value:'1%'}, {time:image1.duration, value:'0%'}], translateY [{time:image1.duration-0.8s, value:'0%'}, {time:image1.duration-0.6s, value:'-2%'}, {time:image1.duration-0.4s, value:'2%'}, {time:image1.duration-0.2s, value:'-1%'}, {time:image1.duration, value:'0%'}], scale [{time:image1.duration-0.8s, value:1}, {time:image1.duration-0.4s, value:1.2}, {time:image1.duration, value:1.25}], blur [{time:image1.duration-0.8s, value:'0px'}, {time:image1.duration-0.4s, value:'5px'}, {time:image1.duration, value:'15px'}], opacity [{time:image1.duration-0.8s, value:1}, {time:image1.duration-0.2s, value:0.3}, {time:image1.duration, value:0}]. Incoming: translateX [{time:image1.duration-0.8s, value:'-2%'}, {time:image1.duration-0.4s, value:'1%'}, {time:image1.duration-0.2s, value:'-0.5%'}, {time:image1.duration, value:'0%'}], translateY [{time:image1.duration-0.8s, value:'1%'}, {time:image1.duration-0.4s, value:'-1%'}, {time:image1.duration, value:'0%'}], scale [{time:image1.duration-0.8s, value:1.15}, {time:image1.duration, value:1}], blur [{time:image1.duration-0.8s, value:'10px'}, {time:image1.duration-0.3s, value:'3px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-0.8s, value:0.5}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c76f30f22cf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:44 GMT',
'request-id': 'req_011CVatGZPZL4XqKqrTX4iCh',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatGZPZL4XqKqrTX4iCh"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 17 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Layered Ink Pool' transition preset featuring a three-layer effect during transition for depth. During the 1.4-second overlap, introduce a semi-transparent color overlay (ShapeAtom) that fades in and out, creating the impression of looking through tinted water as ink disperses. The outgoing image blurs and fades beneath this layer, while the incoming image emerges through it. The overlay should pulse in opacity (0 to 0.4 to 0.2 to 0) with a subtle blue-purple tint. Both images use scale and blur for organic feel.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.4s, containerProps 'relative w-full h-full overflow-hidden'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. ShapeAtom overlay: start=image1.duration-1.4s, duration=1.4s, absolute inset-0, z-15, type='rectangle', fill with gradient or solid '#1a1a4080' (dark blue-purple with alpha). Incoming ImageAtom: start=image1.duration-1.4s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: blur [{time:0, value:'0px'}, {time:image1.duration-1.4s, value:'0px'}, {time:image1.duration, value:'12px'}], opacity [{time:0, value:1}, {time:image1.duration-1.4s, value:1}, {time:image1.duration-0.5s, value:0.4}, {time:image1.duration, value:0}], scale [{time:image1.duration-1.4s, value:1}, {time:image1.duration, value:1.05}]. ShapeAtom overlay: opacity [{time:image1.duration-1.4s, value:0}, {time:image1.duration-0.9s, value:0.4}, {time:image1.duration-0.5s, value:0.2}, {time:image1.duration, value:0}]. Incoming: blur [{time:image1.duration-1.4s, value:'15px'}, {time:image1.duration-0.4s, value:'4px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-1.4s, value:0}, {time:image1.duration-0.7s, value:0.6}, {time:image1.duration, value:1}], scale [{time:image1.duration-1.4s, value:0.95}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c76f269ba939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:44 GMT',
'request-id': 'req_011CVatGYxWuCDABPHQ47E2k',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '30',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatGYxWuCDABPHQ47E2k"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 18 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Radial Ink Bloom' transition preset where the incoming image reveals through expanding circular blur zones from the center outward. The outgoing image should appear to have ink dropped in its center, with clarity degrading radially outward (simulated via overall blur and scale). Use a 1.6-second overlap where the outgoing image gains blur and scales up (zooming into the 'ink drop point'), while opacity fades. The incoming image starts blurred and scaled down, then blooms outward to full clarity and scale. Add subtle brightness pulse during peak transition.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.6s, containerProps 'relative w-full h-full overflow-hidden bg-black'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-1.6s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: scale [{time:0, value:1}, {time:image1.duration-1.6s, value:1}, {time:image1.duration-0.8s, value:1.1}, {time:image1.duration, value:1.3}], blur [{time:0, value:'0px'}, {time:image1.duration-1.6s, value:'0px'}, {time:image1.duration-0.8s, value:'8px'}, {time:image1.duration, value:'20px'}], opacity [{time:0, value:1}, {time:image1.duration-1.6s, value:1}, {time:image1.duration-0.6s, value:0.5}, {time:image1.duration, value:0}], brightness [{time:image1.duration-1.6s, value:1}, {time:image1.duration-0.8s, value:1.2}, {time:image1.duration, value:0.8}]. Incoming: scale [{time:image1.duration-1.6s, value:0.85}, {time:image1.duration-0.8s, value:0.95}, {time:image1.duration, value:1}], blur [{time:image1.duration-1.6s, value:'18px'}, {time:image1.duration-0.6s, value:'5px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-1.6s, value:0}, {time:image1.duration-1.0s, value:0.4}, {time:image1.duration, value:1}], brightness [{time:image1.duration-1.6s, value:0.7}, {time:image1.duration-0.8s, value:1.15}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c76f2ae5bce7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:44 GMT',
'request-id': 'req_011CVatGZ9B9yFvYWu5Q6846',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '342',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatGZ9B9yFvYWu5Q6846"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 19 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Vertical Ink Drip' transition preset mimicking ink dripping down through water. The outgoing image should appear to melt downward - using translateY moving positive (downward) combined with vertical stretch (scaleY increasing to 1.1 while scaleX decreases to 0.95) and blur. The incoming image drips in from above, starting with translateY negative, stretching vertically then settling to normal proportions. Use 1.3-second overlap. This creates a liquid, dripping quality perfect for artistic YouTube transitions.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 1.3s, containerProps 'relative w-full h-full overflow-hidden bg-neutral-950'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-1.3s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: translateY [{time:0, value:'0%'}, {time:image1.duration-1.3s, value:'0%'}, {time:image1.duration, value:'25%'}], scaleY [{time:image1.duration-1.3s, value:1}, {time:image1.duration-0.6s, value:1.1}, {time:image1.duration, value:1.15}], scaleX [{time:image1.duration-1.3s, value:1}, {time:image1.duration-0.6s, value:0.95}, {time:image1.duration, value:0.9}], blur [{time:image1.duration-1.3s, value:'0px'}, {time:image1.duration-0.5s, value:'6px'}, {time:image1.duration, value:'14px'}], opacity [{time:image1.duration-1.3s, value:1}, {time:image1.duration-0.4s, value:0.4}, {time:image1.duration, value:0}]. Incoming: translateY [{time:image1.duration-1.3s, value:'-30%'}, {time:image1.duration-0.4s, value:'3%'}, {time:image1.duration, value:'0%'}], scaleY [{time:image1.duration-1.3s, value:1.12}, {time:image1.duration-0.5s, value:1.03}, {time:image1.duration, value:1}], scaleX [{time:image1.duration-1.3s, value:0.92}, {time:image1.duration-0.5s, value:0.98}, {time:image1.duration, value:1}], blur [{time:image1.duration-1.3s, value:'12px'}, {time:image1.duration-0.5s, value:'3px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-1.3s, value:0.3}, {time:image1.duration-0.5s, value:0.8}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c76efff8a15d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:43 GMT',
'request-id': 'req_011CVatGXMXDGunrsfrJidRo',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatGXMXDGunrsfrJidRo"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 20 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a 'Ethereal Ink Mist' transition preset combining blur with subtle rotation for a dreamy, watercolor-in-motion effect. During the 2.0-second overlap, both images should feel like they're floating in water. The outgoing image slowly rotates counter-clockwise (0 to -5deg), scales up, blurs heavily, and fades. The incoming image rotates clockwise from 5deg to 0, emerging from blur and slight transparency. Add subtle continuous scale breathing to both images throughout the transition for an underwater, floating quality. Perfect for artistic, meditative YouTube content.

Technical Specifications:
BaseLayout: duration = image1.duration + image2.duration - 2.0s, containerProps 'relative w-full h-full overflow-hidden bg-slate-900'. Outgoing ImageAtom: absolute inset-0, z-10, objectFit cover. Incoming ImageAtom: start=image1.duration-2.0s, absolute inset-0, z-20, objectFit cover. Provider effects for outgoing: rotate [{time:0, value:'0deg'}, {time:image1.duration-2.0s, value:'0deg'}, {time:image1.duration, value:'-5deg'}], scale [{time:0, value:1}, {time:image1.duration-2.0s, value:1}, {time:image1.duration-1.3s, value:1.03}, {time:image1.duration-0.7s, value:1.06}, {time:image1.duration, value:1.12}], blur [{time:0, value:'0px'}, {time:image1.duration-2.0s, value:'0px'}, {time:image1.duration-1.0s, value:'8px'}, {time:image1.duration, value:'22px'}], opacity [{time:0, value:1}, {time:image1.duration-2.0s, value:1}, {time:image1.duration-1.0s, value:0.6}, {time:image1.duration, value:0}]. Incoming: rotate [{time:image1.duration-2.0s, value:'5deg'}, {time:image1.duration-0.5s, value:'1deg'}, {time:image1.duration, value:'0deg'}], scale [{time:image1.duration-2.0s, value:1.08}, {time:image1.duration-1.3s, value:1.04}, {time:image1.duration-0.7s, value:1.01}, {time:image1.duration, value:1}], blur [{time:image1.duration-2.0s, value:'20px'}, {time:image1.duration-1.0s, value:'10px'}, {time:image1.duration-0.3s, value:'2px'}, {time:image1.duration, value:'0px'}], opacity [{time:image1.duration-2.0s, value:0}, {time:image1.duration-1.3s, value:0.4}, {time:image1.duration-0.7s, value:0.75}, {time:image1.duration, value:1}]."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c76f18dc51a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:02:44 GMT',
'request-id': 'req_011CVatGYPn9Zm3jXLq27HEu',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '25',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatGYPn9Zm3jXLq27HEu"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 21 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a typokinetic timeline preset that simulates a horizontal scrolling history timeline with events appearing as animated text cards. The animation should feel like a documentary-style reveal where the timeline axis (a horizontal line with date markers) draws itself from left to right, and as specific date ranges come into view, text events 'pop up' from the timeline with a scale-up and fade-in effect. The camera metaphor here is a slow horizontal pan across time, with a 'zoom focus' effect where the currently highlighted date range scales up slightly (1.0 to 1.15) while surrounding dates dim and blur. Each historical event should be a TextAtom with word-by-word reveal timing synced to caption data. Use sentence-level context timing so events appear in sequence as the timeline scrolls. The date labels should use a monospace font with a typewriter-style character reveal. Include a subtle parallax effect where background date markers move slower than foreground event cards, creating depth. The zoom transition to specific date ranges should use an ease-in-out curve over 800ms, with event text scaling from 0.8 to 1.0 with spring easing for a satisfying pop.

Technical Specifications:
Structure: Outer BaseLayout with 'relative w-full h-full overflow-hidden bg-slate-900' as the timeline container. Inner scrolling container using translateX animation. Timeline axis as a ShapeAtom (thin horizontal line) with width animation effect. Date markers as TextAtoms positioned absolutely along the axis. Event cards as nested BaseLayouts with 'absolute flex flex-col items-start p-4 bg-slate-800/90 rounded-lg backdrop-blur-sm'. Use generic keyframe effects for: (1) timeline draw animation (width 0% to 100%), (2) horizontal scroll (translateX from 0 to -100%), (3) event pop-up (opacity 0→1, scale 0.8→1 with spring easing), (4) focus zoom (scale 1→1.15, blur 0→2px for unfocused items). Caption data drives word-level timing within event descriptions. Timing: All relative to parent. Outer container fitDurationTo: 'scene'. Event reveals staggered using relative timing offsets. Suggest internal effect preset 'scale-fade-in' for reusable event pop-ups. Performance: Use transform and opacity only for animations, will-change on scrolling container."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c77ab48c6ce7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:13 GMT',
'request-id': 'req_011CVatJjU6QfV7WrMGHJzmC',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '38',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatJjU6QfV7WrMGHJzmC"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 22 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design a kinetic typography timeline preset inspired by news broadcast lower-thirds and infographic animations. Visualize history as a series of 'breaking news' style text reveals where dates slide in from the left with a bold underline that expands, followed by event descriptions that type out character-by-character. The zoom effect should work like a news camera push-in: when focusing on a date range, the entire composition scales up while maintaining sharp text, with a subtle vignette darkening the edges. Each event should have impact-based styling from caption metadata - high-impact events get larger fonts, red accent colors, and a pulse effect. The scrolling motion should have momentum-based easing, accelerating into view and decelerating as events settle. Include a 'timeline scrubber' visual element - a vertical line that sweeps across the timeline indicating current position, with a glow effect trailing behind it.

Technical Specifications:
Structure: Main BaseLayout 'relative w-full h-full bg-black'. Timeline track as BaseLayout 'absolute bottom-8 left-0 right-0 h-1 bg-white/20'. Scrubber as ShapeAtom with translateX animation and box-shadow glow. Event containers as BaseLayouts 'absolute flex flex-col' positioned at calculated timeline positions. Date labels use TextAtom with 'font-bold text-2xl text-white' and underline ShapeAtom with width animation. Event text uses TextAtom with caption data for character-level typing effect (use word timing subdivided). Effects: Generic keyframe for slide-in (translateX -100px→0, opacity 0→1, ease-out 400ms), underline expand (scaleX 0→1 from left origin), typing reveal (use clip-path or width animation), zoom focus (scale 1→1.3 centered, ease-in-out 600ms). Use caption metadata.impact to conditionally apply 'text-red-500' and larger fontSize. Scrubber glow via textShadow/filter effect. Internal effect preset 'slide-underline-reveal' for date entries. Timing: Relative timing with staggered delays based on timeline position. fitDurationTo: 'children' for the main container."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c77ad0b4ecf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:14 GMT',
'request-id': 'req_011CVatJkjF95ibiF7EQNBjx',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '92',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatJkjF95ibiF7EQNBjx"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 23 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create an avant-garde typokinetic timeline that treats historical events as layers in a video editing timeline interface. The visual metaphor is literally showing a timeline UI where tracks stack vertically, each representing a different category of events. Text events appear as 'clips' on these tracks - rectangular containers that slide into position and reveal their text content. The zoom effect manifests as track expansion: when focusing on a date range, the relevant track expands vertically while others compress, and the text within scales up with additional detail appearing. Implement a playhead that moves horizontally across the tracks, triggering text animations as it passes over each clip. Word-level animations should cascade from left to right following the playhead position. Include subtle audio-reactive elements where the playhead pulses on beats.

Technical Specifications:
Structure: Outer BaseLayout 'relative w-full h-full bg-neutral-950 p-4'. Track container as BaseLayout 'flex flex-col gap-2 w-full h-full'. Individual tracks as BaseLayouts 'relative h-16 bg-neutral-800 rounded overflow-hidden' with dynamic height animations. Clip containers positioned absolutely within tracks using 'absolute top-1 bottom-1 rounded bg-gradient-to-r from-blue-600 to-blue-500'. TextAtoms inside clips with word-level timing from caption data. Playhead as ShapeAtom 'absolute top-0 bottom-0 w-0.5 bg-white' with translateX animation and glow effect. Effects: Track height animation (generic keyframe on custom height property via style), clip slide-in (translateX with ease-out), text cascade (opacity and translateY per word, staggered by word index), playhead glow pulse (waveform effect reacting to audio beats for pulse intensity). Use audio analysis for beat detection to drive playhead pulse. Sub-preset recommended: 'timeline-track' component for each track row. Timing: Playhead position drives relative timing - clips animate when playhead translateX reaches their position. fitDurationTo: 'scene' for audio sync."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c77aa887d939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:13 GMT',
'request-id': 'req_011CVatJiypgxkQdAK2cgqhN',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '68',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatJiypgxkQdAK2cgqhN"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 24 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design a cinematic typokinetic timeline with a Ken Burns-style approach where historical events exist as floating text layers in 3D space. The timeline scrolls by having the camera virtually 'fly through' these text planes, with events coming into focus as they approach the viewer. Implement depth-of-field simulation where distant text is blurred and closer text is sharp. The zoom effect on date ranges should feel like the camera is diving deeper into that moment - rapid z-axis movement with motion blur. Each event's text should have a documentary-style reveal: starting blurred and distant, becoming sharp as it reaches optimal viewing distance, then fading as it passes the camera. Use subtle rotation on the X-axis for text planes to enhance the 3D parallax feeling.

Technical Specifications:
Structure: Perspective container BaseLayout 'relative w-full h-full' with containerProps.style: { perspective: '1000px', perspectiveOrigin: '50% 50%' }. Inner 3D space BaseLayout 'relative w-full h-full' with style: { transformStyle: 'preserve-3d' }. Event text planes as BaseLayouts 'absolute' with varying translateZ values (-500px to 500px range). TextAtoms within each plane using caption data for word-level timing. Effects: Main scroll animation via translateZ on the container (moving planes toward camera), per-plane effects combining translateZ, rotateX (subtle 5-15deg), opacity (fade curve based on z-position), and blur (simulated DOF: blur decreases as z approaches 0, increases as it passes). Zoom dive effect: rapid translateZ change with motion blur filter. Word reveals use opacity and translateY with stagger. Easing: ease-in-out for smooth camera movement, linear for continuous scroll sections. Create internal effect preset 'depth-text-reveal' combining blur→sharp→blur with opacity. Performance: GPU-accelerated transforms only, limit blur to 2-3 active planes. Timing: Calculate relative timing based on plane z-positions and scroll speed."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c77aa4e4a1a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:13 GMT',
'request-id': 'req_011CVatJikBeMJUYCA4AufDf',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '22',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatJikBeMJUYCA4AufDf"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 25 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a minimalist Swiss-design inspired typokinetic timeline where events are represented through bold typography and geometric precision. The timeline is a clean horizontal axis with events appearing as text blocks that slide in from calculated grid positions. The zoom effect is handled through typographic scale rather than camera movement - focusing on a date range causes that text to scale up dramatically (2x-3x) while maintaining its grid position, with other text scaling down proportionally. Implement strict grid-based positioning using CSS Grid. Text animations should be crisp and mechanical: no bounce or spring, pure linear or ease-in-out movements. Use high contrast black/white with a single accent color for the focused date range. Word-level animations should be minimal - entire phrases appearing with clean fade-ins rather than word-by-word reveals.

Technical Specifications:
Structure: Main BaseLayout 'relative w-full h-full bg-white' (or bg-black for dark variant). Grid container BaseLayout with containerProps.className: 'grid grid-cols-12 grid-rows-6 gap-4 p-8 w-full h-full'. Timeline axis spanning full width in a dedicated row. Event containers as BaseLayouts positioned in specific grid cells using 'col-span-X row-span-Y col-start-X row-start-Y'. TextAtoms with 'font-bold uppercase tracking-wider' using system fonts or clean sans-serif. Effects: Slide-in animations (translateX or translateY, ease-in-out 300ms), scale focus (scale 1→2.5 for focused, 1→0.7 for unfocused, ease-in-out 500ms), opacity transitions for hierarchy (unfocused items opacity 1→0.3). Accent color applied via dynamic className or style.color. Avoid blur effects - use only transform and opacity for purity. Word timing from captions but applied at phrase level (use sentence timing). Internal effect preset: 'grid-slide-reveal' with directional variants. Timing: Precise timing intervals (multiples of 200ms for mechanical feel). containerProps.style for grid-template customization. No spring easing - strict ease-in-out or linear only."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c77a93e2115d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:13 GMT',
'request-id': 'req_011CVatJi5W95XLXchBKkp2K',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '158',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatJi5W95XLXchBKkp2K"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 26 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design an energetic, music-video style typokinetic timeline where historical events burst onto screen with dynamic motion synced to audio beats. The timeline concept is expressed through rhythmic text reveals - each beat triggers a new date or event to appear with explosive animations (scale from 0, rotation, blur reduction). The zoom effect on date ranges should feel like a bass drop - sudden scale increase with screen shake and flash. Implement waveform effects so text elements pulse and breathe with the audio. High-impact words from caption metadata should have extra visual punch - glow effects, larger scale, longer screen time. The scrolling motion should have rhythm - not smooth, but stepping through events on beats. Include particle-like text fragments that scatter on transitions.

Technical Specifications:
Structure: Main BaseLayout 'relative w-full h-full bg-black overflow-hidden'. Event containers as BaseLayouts 'absolute inset-0 flex items-center justify-center' stacked and revealed sequentially. TextAtoms with 'font-black text-6xl md:text-8xl text-white text-center' for maximum impact. Background pulse layer for flash effects. Effects: Beat-triggered reveals using audio analysis - fetch audio data and map beat timestamps to event timings. Waveform effects on text: beat-zoom (scale pulses 1→1.1→1 on beats), shake (translateX/Y oscillation), exposure flash (brightness spike). Explosive entry: generic keyframe (scale 0→1.2→1, rotate -10→0, blur 10px→0, opacity 0→1, duration 300ms). Zoom/bass drop: scale 1→1.5, shake effect, brightness flash to 2 then back. Use caption metadata.impact to increase effect intensity for high-impact words. Particle effect: multiple small TextAtoms with random translateX/Y animations scattering outward. Audio analysis: use fetcher to get beat detection, filter for impactful beats using intensity scoring. Timing: fitDurationTo: 'scene' for audio sync. Beat timestamps drive relative timing of child reveals. Internal effect presets: 'beat-zoom', 'explosion-reveal', 'screen-shake'."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c78654c24939b-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:43 GMT',
'request-id': 'req_011CVatLvfM4BxmGhkNgA59T',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '24',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatLvfM4BxmGhkNgA59T"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 27 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a scholarly, academic-style typokinetic timeline that presents history like an animated research paper or museum exhibit. Events appear with careful, measured animations - gentle fades and subtle movements that respect the gravitas of historical content. The timeline is presented as a horizontal scroll through 'pages' of history, with elegant serif typography and generous whitespace. The zoom effect on date ranges should feel like leaning in to examine a detail - slow, deliberate scale increase with the surrounding context gently receding. Implement footnote-style secondary text that appears below main events with smaller, lighter typography. Word-level animations should be subtle: slight opacity fades and minimal translateY movements. Include a progress indicator showing position within the overall timeline.

Technical Specifications:
Structure: Outer BaseLayout 'relative w-full h-full bg-amber-50' (parchment-like). Scrolling container BaseLayout 'flex items-center h-full' with horizontal scroll animation. Event 'pages' as BaseLayouts 'flex-shrink-0 w-full h-full flex flex-col justify-center px-16 md:px-32'. Primary event TextAtoms with 'font-serif text-4xl md:text-5xl text-stone-800 leading-relaxed'. Date labels with 'font-serif text-lg text-stone-500 tracking-widest uppercase mb-4'. Footnote text with 'font-serif text-sm text-stone-600 mt-8 max-w-prose'. Progress bar at bottom: BaseLayout 'absolute bottom-4 left-8 right-8 h-0.5 bg-stone-300' with inner progress ShapeAtom. Effects: Gentle page transitions (opacity 0→1 over 800ms, translateX 30px→0), word reveals from caption data (opacity with 50ms stagger, translateY 8px→0), zoom focus (scale 1→1.08, ease-in-out 1000ms - deliberately slow), context recession (opacity 1→0.4, scale 1→0.98). Progress bar width animation synced to scroll position. Easing: ease-in-out for all movements, no springs or bounces. Subtle: no blur, no rotation, minimal transform values. Internal effect preset: 'scholarly-fade-in' with configurable duration. Timing: Longer durations (600-1000ms) for measured pacing. fitDurationTo: 'children' with generous padding."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c78665e20cf21-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:43 GMT',
'request-id': 'req_011CVatLwP1FKDBk5TZiFs5F',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatLwP1FKDBk5TZiFs5F"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 28 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design a retro-futuristic typokinetic timeline inspired by 1980s computer graphics and sci-fi interfaces. History events appear on a CRT-style display with scan lines, phosphor glow, and slight screen curvature distortion. The timeline scrolls like a terminal readout - text appears line by line with a blinking cursor. The zoom effect on date ranges should trigger a 'system focus' animation - the screen flickers, scan lines intensify, and the focused content renders in higher contrast with enhanced glow. Implement chromatic aberration on text edges during transitions. Date markers should appear as terminal timestamps with monospace fonts. Include ambient CRT flicker and occasional glitch effects that don't disrupt readability.

Technical Specifications:
Structure: CRT frame BaseLayout 'relative w-full h-full bg-black rounded-3xl p-8 overflow-hidden' with inner screen BaseLayout 'relative w-full h-full bg-slate-950 rounded-xl overflow-hidden'. Scan line overlay as BaseLayout 'absolute inset-0 pointer-events-none' with repeating linear gradient (2px transparent, 2px rgba(0,0,0,0.3)). Content container with slight perspective for curvature feel. TextAtoms with 'font-mono text-green-400' (or amber-400 for warm CRT). Cursor as ShapeAtom with opacity blink animation. Effects: Terminal typing (text reveal character by character using width/clip animation, cursor follows), phosphor glow (textShadow: '0 0 10px currentColor, 0 0 20px currentColor'), chromatic aberration on transitions (layered text with offset red/blue shadows or pseudo-elements), scan line intensity animation, screen flicker (opacity 0.95→1→0.98 rapid cycle). Zoom focus: contrast boost (filter: contrast(1.2)), enhanced glow, flicker burst. Glitch effect: occasional translateX jitter, color channel split. Use generic keyframe effects for typing reveal, waveform effect for ambient flicker tied to low-intensity audio. Internal effect presets: 'crt-type-reveal', 'phosphor-glow', 'glitch-jitter'. Timing: Typing speed ~30-50ms per character, glitches random but infrequent. Caption word timing adapted for character-level reveal."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c7865dedece7c-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:43 GMT',
'request-id': 'req_011CVatLw5Q9uJkkoh3qCccY',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '42',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatLw5Q9uJkkoh3qCccY"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 29 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Create a dynamic infographic-style typokinetic timeline where data visualization elements accompany historical events. Each event on the timeline includes animated data points - numbers counting up, small chart elements drawing in, percentage bars filling. The zoom effect on date ranges should expand to show more detailed data breakdowns with additional statistics animating in. Text reveals should coordinate with data animations - the event title appears, then supporting numbers animate, then descriptive text fades in. Use a modern, flat design aesthetic with bold colors and clean geometric shapes. The horizontal scroll should show data density - more significant periods have more visual elements clustered together. Include subtle connecting lines between related data points.

Technical Specifications:
Structure: Main BaseLayout 'relative w-full h-full bg-slate-100'. Scrolling timeline BaseLayout 'flex items-end h-full pb-20' for bottom-aligned content with varying heights. Event clusters as BaseLayouts 'flex flex-col items-center mx-8' with varying widths based on significance. Data cards as BaseLayouts 'bg-white rounded-xl shadow-lg p-6 flex flex-col gap-4'. Title TextAtoms with 'font-bold text-xl text-slate-800'. Number TextAtoms with 'font-bold text-4xl text-blue-600' for animated counters. Mini chart containers as BaseLayouts with ShapeAtoms for bars/lines. Connecting lines as absolutely positioned ShapeAtoms with SVG-like paths or angled divs. Effects: Title slide-up (translateY 20px→0, opacity 0→1, 300ms), number count-up (animate through number values or use opacity reveal on final number), bar fill (scaleX 0→1 from left origin, ease-out 600ms), line draw (width or strokeDashoffset animation concept via scaleX), zoom expand (container height/scale increase, additional detail children fade in with staggered delays). Use caption data for event titles with word-level timing on detailed descriptions. Colors via Tailwind: 'bg-blue-500', 'bg-emerald-500', 'bg-amber-500' for data categories. Internal effect presets: 'count-up-reveal', 'bar-fill', 'card-expand'. Timing: Sequenced animations within each card (title→numbers→description), cards staggered along scroll. fitDurationTo: 'children'."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c7864189e1a0f-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:43 GMT',
'request-id': 'req_011CVatLuvStbhheEsYjBd1Y',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '26',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatLuvStbhheEsYjBd1Y"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry
  1. Preset 30 - Command failed: npx tsx "/home/runner/work/mediamake/mediamake/apps/mediamake/scripts/generate-preset.ts" "Design an immersive, full-screen typokinetic timeline that uses the entire viewport as a canvas for one event at a time. History unfolds as a series of dramatic full-screen text compositions - each event gets its own 'scene' with text positioned for maximum impact. The timeline progression is vertical scrolling through these scenes rather than horizontal. The zoom effect on specific events triggers a 'deep dive' - the main text scales back slightly while additional context text layers fade in around it, creating depth. Implement cinematic letterboxing that adjusts based on content mood - wider aspect ratio for epic events, tighter for intimate moments. Text should use dynamic sizing based on content length - shorter quotes get massive typography, longer descriptions get readable but still impactful sizing. Include smooth crossfade transitions between scenes.

Technical Specifications:
Structure: Scene container BaseLayout 'relative w-full' with fitDurationTo: 'children' controlling scene timing. Individual scene BaseLayouts 'relative w-screen h-screen flex items-center justify-center overflow-hidden'. Letterbox bars as BaseLayouts 'absolute left-0 right-0 bg-black' at top and bottom with animated height. Text container BaseLayout 'relative z-10 max-w-5xl px-8 text-center'. Primary TextAtom with dynamic fontSize based on text length (calculate in presetExecution). Context layers as additional TextAtoms 'absolute opacity-0' positioned around main text. Background mood layer as BaseLayout with gradient or solid color. Effects: Scene crossfade (outgoing opacity 1→0, incoming opacity 0→1, overlap timing), letterbox adjustment (height animation, ease-in-out 800ms), main text entry (scale 0.9→1, opacity 0→1, 600ms ease-out), deep dive zoom (main text scale 1→0.85, context layers opacity 0→1 and translateY into position). Word-level animation from captions for dramatic reveals on key phrases. Use caption metadata.sentiment to influence background color warmth. Easing: ease-in-out for cinematic smoothness, occasional ease-out for impactful entries. Internal effect presets: 'cinematic-text-reveal', 'letterbox-adjust', 'context-layer-fade'. Timing: Each scene 4-8 seconds, crossfades 600-800ms overlap. type: 'scene' for sequential playback of event scenes."

═══════════════════════════════════════════════════════════════
❌ PRESET GENERATION FAILED
═══════════════════════════════════════════════════════════════
APICallError [AI_APICallError]: Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.
at (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:57:16)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async postToApi (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:118:28)
at async AnthropicMessagesLanguageModel.doGenerate (/home/runner/work/mediamake/mediamake/node_modules/@ai-sdk/anthropic/src/anthropic-messages-language-model.ts:470:9)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:357:30)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/home/runner/work/mediamake/mediamake/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:328:32)
at async (/home/runner/work/mediamake/mediamake/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/home/runner/work/mediamake/mediamake/node_modules/ai/src/generate-object/generate-object.ts:282:12) {
cause: undefined,
url: 'https://api.anthropic.com/v1/messages',
requestBodyValues: {
model: 'claude-sonnet-4-5',
max_tokens: 64000,
temperature: undefined,
top_k: undefined,
top_p: undefined,
stop_sequences: undefined,
system: undefined,
messages: [ [Object] ],
tools: [ [Object] ],
tool_choice: { type: 'tool', name: 'json', disable_parallel_tool_use: true }
},
statusCode: 400,
responseHeaders: {
'anthropic-organization-id': 'da777878-4d25-4f8d-bdf4-13c228122e17',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '9a5c78630a2815d4-SJC',
connection: 'keep-alive',
'content-length': '234',
'content-type': 'application/json',
date: 'Fri, 28 Nov 2025 20:03:43 GMT',
'request-id': 'req_011CVatLu7prDVEPwVpP7z3c',
server: 'cloudflare',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
'x-envoy-upstream-service-time': '18',
'x-robots-tag': 'none',
'x-should-retry': 'false'
},
responseBody: '{"type":"error","error":{"type":"invalid_request_error","message":"Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits."},"request_id":"req_011CVatLu7prDVEPwVpP7z3c"}',
isRetryable: false,
data: {
type: 'error',
error: {
type: 'invalid_request_error',
message: 'Your credit balance is too low to access the Anthropic API. Please go to Plans & Billing to upgrade or purchase credits.'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}

  • Failed after 1 retry

Closes #328

@vercel
Copy link

vercel bot commented Nov 28, 2025

Deployment failed with the following error:

Resource is limited - try again in 4 hours (more than 100, code: "api-deployments-free-per-day").

Learn More: https://vercel.com/karcreativeworks-projects?upgradeToPro=build-rate-limit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

New Presets - Vignette Tunnel Transition Center Focus (Batch 4/8)

1 participant