> For the complete documentation index, see [llms.txt](https://imagineclub.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://imagineclub.gitbook.io/docs/generation/content-generation-api/models.md).

# Models

## The GenerationResult object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"GenerationResult":{"type":"object","properties":{"generation":{"$ref":"#/components/schemas/GenerationPreview"},"templateData":{"type":"object","description":"The processed template data used for generation"},"url":{"type":"string","format":"uri","description":"Public media page URL for the generated asset"},"token":{"$ref":"#/components/schemas/Token"}},"required":["generation","templateData"]},"GenerationPreview":{"type":"object","properties":{"text":{"type":"string","description":"Generated text content"},"image":{"type":"string","description":"URL to the generated image preview (hosted on Storj)"},"video":{"$ref":"#/components/schemas/VideoPreview"},"agentId":{"type":"string","format":"uuid","description":"The agent ID that processed the generation"}}},"VideoPreview":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to the generated video (hosted on Storj)"}},"required":["url"]},"Token":{"type":"object","description":"Optional token minted/linked as part of generation","properties":{"chain":{"type":"string","description":"Blockchain network"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Token contract address"},"external":{"type":"boolean","description":"Whether token existed externally prior to generation"},"metadata":{"$ref":"#/components/schemas/TokenMetadata"}}},"TokenMetadata":{"type":"object","properties":{"symbol":{"type":"string","description":"Token symbol"},"name":{"type":"string","description":"Token name"},"image":{"type":"string","format":"uri","description":"Token image URL"}}}}}}
```

## The GenerationPreview object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"GenerationPreview":{"type":"object","properties":{"text":{"type":"string","description":"Generated text content"},"image":{"type":"string","description":"URL to the generated image preview (hosted on Storj)"},"video":{"$ref":"#/components/schemas/VideoPreview"},"agentId":{"type":"string","format":"uuid","description":"The agent ID that processed the generation"}}},"VideoPreview":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to the generated video (hosted on Storj)"}},"required":["url"]}}}}
```

## The VideoPreview object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"VideoPreview":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to the generated video (hosted on Storj)"}},"required":["url"]}}}}
```

## The VideoTemplateData object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"VideoTemplateData":{"type":"object","description":"Video generation parameters. All fields are optional; defaults apply (videoModel='sora', autoClank=false, duration=8).","properties":{"videoModel":{"type":"string","description":"Video model identifier"},"soraVideoId":{"type":"string","description":"Upstream Sora video identifier for remix operations"},"duration":{"type":"number","description":"Requested video duration in seconds (default: 8)"},"image":{"type":"string","description":"Optional image input as data URL (base64) or http(s) URL for image-to-video"},"autoClank":{"type":"boolean","description":"If true, automatically deploy a clanker token for the video. The first frame will be used as the token image, and the prompt will be used to generate the token name and symbol (default: false)"},"autoEnhance":{"type":"boolean","description":"If true, automatically enhance the prompt based on video model's prompting guidelines (default: false)"},"zoraCoin":{"type":"object","description":"If provided, a Zora coin will be deployed with the given name and symbol, and paired with the creatorCoinAddress","properties":{"name":{"type":"string","description":"Zora coin name"},"symbol":{"type":"string","description":"Zora coin symbol"},"creatorCoinAddress":{"type":"string","description":"Address of the creator coin to pair with the created content coin"}}}}}}}}
```

## The ErrorResponse object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"Error message"},"details":{"type":"string","description":"Detailed error information"}},"required":["error"]}}}}
```

## The PaymentResponse object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"PaymentResponse":{"type":"object","description":"x402 payment protocol response when X-PAYMENT header is required or invalid","properties":{"x402Version":{"type":"integer","description":"x402 protocol version"},"error":{"type":"string","description":"Error message indicating payment requirement"},"accepts":{"type":"array","items":{"$ref":"#/components/schemas/PaymentScheme"},"description":"Array of accepted payment schemes and their requirements"}},"required":["x402Version","error","accepts"]},"PaymentScheme":{"type":"object","description":"Payment scheme details for x402 protocol","properties":{"scheme":{"type":"string","enum":["exact","subscription"],"description":"Payment scheme type"},"network":{"type":"string","description":"Blockchain network name"},"maxAmountRequired":{"type":"string","description":"Maximum amount required in smallest unit (wei)"},"resource":{"type":"string","format":"uri","description":"Resource URL for this payment"},"description":{"type":"string","description":"Human-readable payment description"},"mimeType":{"type":"string","description":"Expected response MIME type"},"payTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address to receive payment"},"maxTimeoutSeconds":{"type":"integer","description":"Maximum timeout for payment processing in seconds"},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Token contract address for payment"},"extra":{"type":"object","description":"Additional token/asset metadata","properties":{"name":{"type":"string","description":"Token name"},"version":{"type":"string","description":"Token version"}}}},"required":["scheme","network","maxAmountRequired","resource","description","payTo","asset"]}}}}
```

## The PaymentScheme object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"PaymentScheme":{"type":"object","description":"Payment scheme details for x402 protocol","properties":{"scheme":{"type":"string","enum":["exact","subscription"],"description":"Payment scheme type"},"network":{"type":"string","description":"Blockchain network name"},"maxAmountRequired":{"type":"string","description":"Maximum amount required in smallest unit (wei)"},"resource":{"type":"string","format":"uri","description":"Resource URL for this payment"},"description":{"type":"string","description":"Human-readable payment description"},"mimeType":{"type":"string","description":"Expected response MIME type"},"payTo":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Ethereum address to receive payment"},"maxTimeoutSeconds":{"type":"integer","description":"Maximum timeout for payment processing in seconds"},"asset":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Token contract address for payment"},"extra":{"type":"object","description":"Additional token/asset metadata","properties":{"name":{"type":"string","description":"Token name"},"version":{"type":"string","description":"Token version"}}}},"required":["scheme","network","maxAmountRequired","resource","description","payTo","asset"]}}}}
```

## The TemplateMetadata object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"TemplateMetadata":{"type":"object","properties":{"name":{"type":"string","description":"Template identifier name"},"description":{"type":"string","description":"Human-readable template description"},"category":{"type":"string","description":"Template category for organization"},"templateData":{"$ref":"#/components/schemas/TemplateDataSchema","description":"Schema definition for template-specific data requirements"},"estimatedCost":{"type":"number","minimum":0,"description":"Estimated cost (USDC) for generation using this template"}},"required":["name","description","category","templateData","estimatedCost"]},"TemplateDataSchema":{"type":"object","properties":{"form":{"type":"object","description":"Form schema definition (serialized Zod object shape)","additionalProperties":true}},"required":["form"]}}}}
```

## The TemplateDataSchema object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"TemplateDataSchema":{"type":"object","properties":{"form":{"type":"object","description":"Form schema definition (serialized Zod object shape)","additionalProperties":true}},"required":["form"]}}}}
```

## The PaymentAuthorization object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"PaymentAuthorization":{"type":"object","description":"Payment authorization object containing payment request details and cryptographic signature","properties":{"maxAmountRequired":{"type":"string","description":"Maximum payment amount required (e.g., '0.10')"},"assetType":{"type":"string","description":"Token standard (e.g., 'ERC20')"},"assetAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Contract address of the payment token"},"paymentAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Recipient's wallet address"},"network":{"type":"string","description":"Blockchain network identifier"},"expiresAt":{"type":"integer","description":"Timestamp after which this payment request is no longer valid"},"nonce":{"type":"string","description":"Unique identifier to prevent replay attacks"},"paymentId":{"type":"string","description":"Unique identifier for this payment request"},"actualAmount":{"type":"string","description":"The actual payment amount (must be ≤ maxAmountRequired)"},"timestamp":{"type":"integer","description":"Timestamp of the authorization"},"signature":{"type":"string","description":"Cryptographic signature from the paying wallet following EIP-712 standard"}},"required":["maxAmountRequired","assetType","assetAddress","paymentAddress","network","expiresAt","nonce","paymentId","actualAmount","timestamp","signature"]}}}}
```

## The TokenMetadata object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"TokenMetadata":{"type":"object","properties":{"symbol":{"type":"string","description":"Token symbol"},"name":{"type":"string","description":"Token name"},"image":{"type":"string","format":"uri","description":"Token image URL"}}}}}}
```

## The Token object

```json
{"openapi":"3.1.0","info":{"title":"Imagine: Coin once, remix forever","version":"1.0.0"},"components":{"schemas":{"Token":{"type":"object","description":"Optional token minted/linked as part of generation","properties":{"chain":{"type":"string","description":"Blockchain network"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Token contract address"},"external":{"type":"boolean","description":"Whether token existed externally prior to generation"},"metadata":{"$ref":"#/components/schemas/TokenMetadata"}}},"TokenMetadata":{"type":"object","properties":{"symbol":{"type":"string","description":"Token symbol"},"name":{"type":"string","description":"Token name"},"image":{"type":"string","format":"uri","description":"Token image URL"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://imagineclub.gitbook.io/docs/generation/content-generation-api/models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
